# Patent application title: Simulating Fluid Leak-Off and Flow-Back in a Fractured Subterranean Region

##
Inventors:

IPC8 Class: AE21B4100FI

USPC Class:
703 10

Class name: Simulating nonelectrical device or system fluid well or reservoir

Publication date: 2016-06-23

Patent application number: 20160177674

## Abstract:

In some aspects, a set of governing flow equations can be defined for a
one-dimensional flow model representing well system fluid in a fractured
subterranean region. A first subset of the governing flow equations can
represent flow within a fracture, and a second subset of the governing
flow equations can represent flow within a reservoir medium adjacent to
the fracture. A reduced set of governing flow equations can be generated
by eliminating the second subset from the set of governing flow equations
based on fluid coupling between the fracture and the reservoir medium.
Well system fluid flow in the fractured subterranean region can be
simulated based on the reduced set of governing flow equations.## Claims:

**1.**A fluid flow modeling method comprising: defining a set of governing flow equations for a one-dimensional flow model representing well system fluid flow in a fractured subterranean region, a first subset of the governing flow equations representing flow within a fracture, a second subset of the governing flow equations representing flow within a reservoir medium adjacent to the fracture; generating a reduced set of governing flow equations by eliminating the second subset from the set of governing flow equations based on fluid coupling between the fracture and the reservoir medium; and simulating, by operation of a computer system, well system fluid flow in the fractured subterranean region based on the reduced set of governing flow equations.

**2.**The method of claim 1, comprising modeling flow within the fracture by a fracture flow model that includes the first subset of the governing flow equations, and modeling flow within the reservoir medium by a flow-back model that includes the second subset of the governing flow equations, wherein boundary conditions of the flow-back model couple the fracture flow model with the flow-back model.

**3.**The method of claim 1, wherein simulating well system fluid flow includes: computing values of a flow variable for locations within the fracture by solving the reduced set of governing flow equations; and computing values of the flow variable for locations within the reservoir medium based on the values of the flow variable within the fracture and the coupling between the fracture and the reservoir medium.

**4.**The method of claim 1, wherein generating the reduced set of governing flow equations reduces the number of unknown values of a solution variable in the one-dimensional flow model.

**5.**The method of claim 1, comprising generating the reduced set of governing flow equations according to a matrix decomposition of the second subset of the governing flow equations.

**6.**The method of claim 5, wherein the matrix decomposition represents the second subset of the governing flow equations by a product of a lower triangular matrix and a transpose of the lower triangular matrix.

**7.**The method of claim 5, wherein the well system fluid includes multiple constituent fluids, and the matrix decomposition represents the second subset of the governing flow equations by a product of a lower triangular matrix and an upper triangular matrix.

**8.**The method of claim 1, wherein: the one-dimensional flow model includes fracture nodes representing locations of fluid flow within the fracture and flow-back nodes representing locations of fluid flow within the reservoir medium; the first subset of the governing flow equations are discretized at the fracture nodes; and the second subset of the governing flow equations are discretized at the flow-back nodes.

**9.**The method of claim 8, wherein the fracture nodes represent a fracture flow path, and the flow-back nodes represent branches from the fracture flow path.

**10.**A non-transitory computer-readable medium storing instructions that, when executed by data processing apparatus, perform operations comprising: defining a set of governing flow equations for a one-dimensional flow model representing well system fluid flow in a fractured subterranean region, a first subset of the governing flow equations representing flow within a fracture, a second subset of the governing flow equations representing flow within a reservoir medium adjacent to the fracture; generating a reduced set of governing flow equations by eliminating the second subset from the set of governing flow equations based on fluid coupling between the fracture and the reservoir medium; and simulating well system fluid flow in the fractured subterranean region based on the reduced set of governing flow equations

**11.**The computer-readable medium of claim 10, wherein the second subset of governing flow equations are based on the expression: .alpha. p.sub.t

**-.**beta. p.sub.yy=0, where p represents fluid pressure in a flow-back direction within the reservoir medium, .alpha. and .beta. represent flow parameters of a flow-back model, p.sub.t represents a partial derivative of p with respect to time, and p.sub.yy represents a second partial derivative of p with respect to distance along a simulated flow path in the reservoir medium.

**12.**The computer-readable medium of claim 10, wherein the first subset of the governing flow equations are based on the expression: A t - ( A 3 12 .mu. p x ) x + .beta. p _ y = 0 , ##EQU00004## where A represents a cross-sectional area of the fracture, A.sub.t represents a partial derivative of A with respect to time, p represents fluid pressure in the fracture, the x subscript represents a partial derivative with respect to distance along a simulated flow path in the fracture, .mu. represents a fluid viscosity coefficient, p represents fluid pressure in a flow-back direction within the reservoir medium, and p.sub.y represents a partial derivative of p with respect to distance along a simulated flow path in the reservoir medium.

**13.**The computer-readable medium of claim 10, wherein generating the reduced set of governing flow equations reduces the number of unknown values of a solution variable in the one-dimensional flow model.

**14.**The computer-readable medium of claim 10, the operations comprising generating the reduced set of governing flow equations according to a matrix decomposition of the second subset of the governing flow equations.

**15.**The computer-readable medium of claim 14, wherein the matrix decomposition represents the second subset of the governing flow equations by a product of a lower triangular matrix and a transpose of the lower triangular matrix.

**16.**The computer-readable medium of claim 14, wherein the well system fluid includes multiple constituent fluids, and the matrix decomposition represents the second subset of the governing flow equations by a product of a lower triangular matrix and an upper triangular matrix.

**17.**A fluid flow modeling system comprising one or more computers that include: memory operable to store flow model data associated with a one-dimensional flow model for well system fluid, the one-dimensional flow model including a set of governing flow equations, a first subset of the governing flow equations representing flow within a fracture in a subterranean region, a second subset of the governing flow equations representing flow within a medium adjacent to the fracture; and data processing apparatus operable to: generate a reduced set of governing flow equations by eliminating the second subset from the set of governing flow equations based on fluid coupling between the fracture and the reservoir medium; and simulate well system fluid flow in the fractured subterranean region based on the reduced set of governing flow equations.

**18.**The fluid flow modeling system of claim 17, wherein the reduced set of governing flow equations is generated according to a matrix decomposition of the second subset of the governing flow equations.

**19.**The fluid flow modeling system of claim 18, wherein the matrix decomposition represents the second subset of the governing flow equations by a product of a lower triangular matrix and a transpose of the lower triangular matrix.

**20.**The fluid flow modeling system of claim 18, wherein the well system fluid includes multiple constituent fluids, and the matrix decomposition represents the second subset of the governing flow equations by a product of a lower triangular matrix and an upper triangular matrix.

## Description:

**CROSS**-REFERENCE TO RELATED APPLICATIONS

**[0001]**This application claims priority to U.S. Provisional Application Ser. No. 61/870,716, filed on Aug. 27, 2013, entitled "Simulating a Fluid Flow in a Subterranean Region."

**BACKGROUND**

**[0002]**The following description relates to simulating fluid flow in a fractured subterranean region.

**[0003]**Flow models have been used to simulate fluid flow in hydraulic fracture treatments and other environments. During a conventional fracture treatment of a subterranean reservoir, pressurized fluid is communicated from a wellbore into the reservoir at high pressure, and the pressurized fluid propagates fractures within the reservoir rock. Flow models can be used to simulate the flow of fluid within the fracture network. In some cases, flow models can be used to simulate leak-off and flow-back processes that are coupled to the fracture network.

**BRIEF DESCRIPTION OF THE DRAWINGS**

**[0004]**FIG. 1 is a schematic diagram of an example well system.

**[0005]**FIG. 2 is a schematic diagram of an example computing system.

**[0006]**FIG. 3 is a diagram of an example system architecture.

**[0007]**FIG. 4 is a diagram showing aspects of an example flow model.

**[0008]**FIG. 5 is a flow chart showing an example technique for modeling fluid flow.

**[0009]**FIG. 6A is a plot showing data from example numerical simulations.

**[0010]**FIG. 6B is a plot showing data from example numerical simulations.

**[0011]**FIG. 7 is a plot showing pressure data from an example simulation of a fracture and flow-back system.

**DETAILED DESCRIPTION**

**[0012]**Fluid flow models can be used to analyze fluid flow, for example, in a well system environment (e.g., in a wellbore, a fracture network, within the reservoir rock matrix, in a well system tool, etc.) or other environments. In some environments, the fluid flow is unsteady and multi-dimensional (e.g., three-dimensional or at least two-dimensional). For example, in some types of fractures, the dominant flow is two-dimensional, and includes transient behaviors. In some instances, two-or three-dimensional flow can be described by a one-dimensional flow model, for example, by integrating the governing flow equations over the cross-section of the two-or three-dimensional flow path. In some cases, the resulting equations include nonlinear partial differential equations that can be solved using finite difference, finite volume, or finite element methods. In some cases, the use of one-dimensional flow models can reduce computational costs, and allow for faster or more computationally efficient simulations. In some instances, a flow model can be used to perform numerical simulations in real time, for example, during a fracture treatment or during another well system activity.

**[0013]**In some cases, a fluid flow model models the flow of fluid in a fracture, for example, during a hydraulic fracturing treatment or another type of injection treatment. Hydraulic fracturing can improve the conductivity of a hydrocarbon reservoir, and modeling the hydraulic fracturing treatment can help to efficiently design, analyze, or optimize the treatment. In some cases, a hydraulic fracturing model combines simulations of fracture propagation, rock deformation, fluid flow, proppant transport, and other phenomena. The fluid flow models used in these and other types of simulations can account for the complex physical environments and conditions associated with some hydraulic fracturing activities. For example, in cases where the fluid pressure in the fractures and the rock deformation are implicitly coupled, the flow models can interact such that the solution of one model affects the other. As another example, some subterranean formations include low-permeability, naturally-fractured rock media, and the flow models can model a discrete or complex fracture network where the induced fractures interact with natural fractures. Other types of environments and conditions can be modeled, such as a flow-back network or a reservoir medium.

**[0014]**Accurate simulation and prediction of leak-off and flow-back processes between different fluid flow domains, for example, between fractures' fluids and reservoirs, can provide enhanced production during hydraulic fracturing of unconventional reservoirs and other types of reservoirs. In some cases, the leak-off process mainly affects the net pressure in the fracture network during the fracturing stage, hence accurate capturing of leak-off can allow more accurate predictions of the effective fracture length and width, which in turn can affect the overall permeability of the rock bed. This can also lead to a good estimate of loss of fracture fluid to the reservoir, for example, during the early stage of the fracturing. Similarly, correct prediction of the flow-back process can be important to determine net output from the reservoir in some instances. The modeling of these processes can account for the large extent of the computational domain associated with the reservoir, for example, using efficient computational techniques.

**[0015]**Some example computational flow modeling techniques are described here in terms of example flow equations and associated one-dimensional structures for fractures and leak-off models. The example techniques can be used with flow equations of different form or type, and the example techniques can be used with other types of flow structures. For example, some of the examples can be applied to any system that includes multiple one-dimensional models with connections at one end of each individual model.

**[0016]**FIG. 1 is a diagram of an example well system 100 and a computing subsystem 110. The example well system 100 includes a wellbore 102 in a subterranean region 104 beneath the ground surface 106. The example wellbore 102 shown in FIG. 1 includes a horizontal wellbore. However, a well system may include any combination of horizontal, vertical, slant, curved, or other wellbore orientations. The well system 100 can include one or more additional treatment wells, observation wells, or other types of wells.

**[0017]**The computing subsystem 110 can include one or more computing devices or systems located at the wellbore 102 or other locations. The computing subsystem 110 or any of its components can be located apart from the other components shown in FIG. 1. For example, the computing subsystem 110 can be located at a data processing center, a computing facility, or another location. The well system 100 can include additional or different features, and the features of the well system can be arranged as shown in FIG. 1 or in another configuration.

**[0018]**The example subterranean region 104 may include a reservoir that contains hydrocarbon resources, such as oil, natural gas, or others. For example, the subterranean region 104 may include all or part of a rock formation (e.g., shale, coal, sandstone, granite, or others) that contain natural gas. The subterranean region 104 may include naturally fractured rock or natural rock formations that are not fractured to any significant degree. The subterranean region 104 may include tight gas formations that include low permeability rock (e.g., shale, coal, or others).

**[0019]**The example well system 100 shown in FIG. 1 includes an injection system 108. The injection system 108 can be used to perform an injection treatment, whereby fluid is injected into the subterranean region 104 through the wellbore 102. In some instances, the injection treatment fractures part of a rock formation or other materials in the subterranean region 104. In such examples, fracturing the rock may increase the surface area of the formation, which may increase the rate at which the formation conducts fluid resources to the wellbore 102.

**[0020]**The example injection system 108 can inject treatment fluid into the subterranean region 104 from the wellbore 102. For example, a fracture treatment can be applied at a single fluid injection location or at multiple fluid injection locations in a subterranean zone, and the fluid may be injected over a single time period or over multiple different time periods. In some instances, a fracture treatment can use multiple different fluid injection locations in a single wellbore, multiple fluid injection locations in multiple different wellbores, or any suitable combination. Moreover, the fracture treatment can inject fluid through any suitable type of wellbore, such as, for example, vertical wellbores, slant wellbores, horizontal wellbores, curved wellbores, or combinations of these and others.

**[0021]**The example injection system 108 includes instrument trucks 114, pump trucks 116, and an injection treatment control subsystem 111. The example injection system 108 may include other features not shown in the figures. The injection system 108 may apply injection treatments that include, for example, a multi-stage fracture treatment, a single-stage fracture treatment, a mini-fracture test treatment, a follow-on fracture treatment, a re-fracture treatment, a final fracture treatment, other types of fracture treatments, or a combination of these. The injection system 108 may inject fluid into the formation above, at or below a fracture initiation pressure for the formation; above, at or below a fracture closure pressure for the formation; or at another fluid pressure.

**[0022]**The pump trucks 116 can include mobile vehicles, immobile installations, skids, hoses, tubes, fluid tanks, fluid reservoirs, pumps, valves, mixers, or other types of structures and equipment. The example pump trucks 116 shown in FIG. 1 can supply treatment fluid or other materials for the injection treatment. The example pump trucks 116 can communicate treatment fluids into the wellbore 102 at or near the level of the ground surface 106. The treatment fluids can be communicated through the wellbore 102 from the ground surface 106 level by a conduit installed in the wellbore 102. The conduit 112 may include casing cemented to the wall of the wellbore 102. In some implementations, all or a portion of the wellbore 102 may be left open, without casing. The conduit 112 may include a working string, coiled tubing, sectioned pipe, or other types of conduit.

**[0023]**The instrument trucks 114 can include mobile vehicles, immobile installations, or other suitable structures. The example instrument trucks 114 shown in FIG. 1 include an injection treatment control subsystem 111 that controls or monitors the injection treatment applied by the injection system 108. The communication links 128 may allow the instrument trucks 114 to communicate with the pump trucks 116, or other equipment at the ground surface 106. Additional communication links may allow the instrument trucks 114 to communicate with sensors or data collection apparatus in the well system 100, remote systems, other well systems, equipment installed in the wellbore 102 or other devices and equipment. In some implementations, communication links allow the instrument trucks 114 to communicate with the computing subsystem 110, which may run simulations and provide simulation data. The well system 100 can include multiple uncoupled communication links or a network of coupled communication links. The communication links can include wired or wireless communications systems, or a combination thereof.

**[0024]**The injection system 108 may also include surface and down-hole sensors to measure pressure, rate, temperature or other parameters of treatment or production. For example, the injection system 108 may include pressure meters or other equipment that measure the pressure of fluids in the wellbore 102 at or near the ground surface 106 level or at other locations. The injection system 108 may include pump controls or other types of controls for starting, stopping, increasing, decreasing or otherwise controlling pumping as well as controls for selecting or otherwise controlling fluids pumped during the injection treatment. The injection treatment control subsystem 111 may communicate with such equipment to monitor and control the injection treatment.

**[0025]**The example injection treatment control subsystem 111 shown in FIG. 1 controls operation of the injection system 108. The injection treatment control subsystem 111 may include data processing equipment, communication equipment, or other systems that control injection treatments applied to the subterranean region 104 through the wellbore 102. The injection treatment control subsystem 111 may be communicably linked to the computing subsystem 110, which may calculate, select, or optimize fracture treatment parameters for initialization, propagation, or opening fractures in the subterranean region 104. The injection treatment control subsystem 111 may receive, generate or modify an injection treatment plan (e.g., a pumping schedule) that specifies properties of an injection treatment to be applied to the subterranean region 104.

**[0026]**In the example shown in FIG. 1, an injection treatment has fractured the subterranean region 104. FIG. 1 shows examples of dominant fractures 132 formed by fluid injection through perforations 120 along the wellbore 102. Generally, the fractures can include fractures of any type, number, length, shape, geometry or aperture. Fractures can extend in any direction or orientation, and they may be formed at multiple stages or intervals, at different times or simultaneously. The example dominant fractures 132 shown in FIG. 1 extend through natural fracture networks 130. Generally, fractures may extend through naturally fractured rock, regions of un-fractured rock, or both. The injected fracturing fluid can flow from the dominant fractures 132, into the reservoir media (e.g., shale, sandstone, or another type of rock medium), into the natural fracture networks 130, or in other locations in the subterranean region 104. The injected fracturing fluid can, in some instances, dilate or propagate the natural fractures or other pre-existing fractures in the rock formation.

**[0027]**In some implementations, the computing subsystem 110 can simulate fluid flow in the well system 100. For example, the computing subsystem 110 can include flow models for simulating fluid flow in or between various locations of fluid flow in the well system, such as, for example, the wellbore 102, the perforations 120, the conduit 112 or components thereof, the dominant fractures 132, the natural fracture networks 130, the rock media in the subterranean region 104, or a combination of these and others. The flow models can model the flow of incompressible fluids (e.g., liquids), compressible fluids (e.g., gases), or a combination of multiple fluid phases. The flow models can model the flow of fluid in an intersection of flow paths. In some cases, the flow models can model the flow of fluids during leak-off or flow-back processes. In some instances, the flow models can model flow in one, two, or three spatial dimensions. The flow models can include nonlinear systems of differential or partial differential equations. The computing subsystem 110 can use the flow models to predict, describe, or otherwise analyze the dynamic behavior of fluid in the well system 100. In some cases, the computing subsystem 110 can perform operations such as generating or discretizing governing flow equations or processing governing flow equations.

**[0028]**The computing subsystem 110 can perform simulations before, during, or after the injection treatment. In some implementations, the injection treatment control subsystem 111 controls the injection treatment based on simulations performed by the computing subsystem 110. For example, a pumping schedule or other aspects of a fracture treatment plan can be generated in advance based on simulations performed by the computing subsystem 110. As another example, the injection treatment control subsystem 111 can modify, update, or generate a fracture treatment plan based on simulations performed by the computing subsystem 110 in real time during the injection system.

**[0029]**In some cases, the simulations are based on data obtained from the well system 100. For example, pressure meters, flow monitors, microseismic equipment, tiltmeters, or other equipment can perform measurements before, during, or after an injection treatment; and the computing subsystem 110 can simulate fluid flow based on the measured data. In some cases, the injection treatment control subsystem 111 can select or modify (e.g., increase or decrease) fluid pressures, fluid densities, fluid compositions, and other control parameters based on data provided by the simulations. In some instances, data provided by the simulations can be displayed in real time during the injection treatment, for example, to an engineer or other operator of the well system 100.

**[0030]**Some of the techniques and operations described herein may be implemented by one or more computing systems configured to provide the functionality described. In various instances, a computing system may include any of various types of devices, including, but not limited to, personal computer systems, desktop computers, laptops, notebooks, mainframe computer systems, handheld computers, workstations, tablets, application servers, computer clusters, distributed computing systems, storage devices, or any type of computing or electronic device.

**[0031]**FIG. 2 is a diagram of an example computing system 200. The example computing system 200 can operate as the example computing subsystem 110 shown in FIG. 1, or it may operate in another manner. For example, the computing system 200 can be located at or near one or more wells of a well system or at a remote location apart from a well system. All or part of the computing system 200 may operate independent of a well system or well system components. The example computing system 200 includes a memory 250, a processor 260, and input/output controllers 270 communicably coupled by a bus 265. The memory 250 can include, for example, a random access memory (RAM), a storage device (e.g., a writable read-only memory (ROM) or others), a hard disk, or another type of storage medium. The computing system 200 can be preprogrammed or it can be programmed (and reprogrammed) by loading a program from another source (e.g., from a CD-ROM, from another computer device through a data network, or in another manner). In some examples, the input/output controller 270 is coupled to input/output devices (e.g. a monitor 275, a mouse, a keyboard, or other input/output devices) and to a communication link 280. The input/output devices can receive or transmit data in analog or digital form over communication links such as a serial link, a wireless link (e.g. infrared, radio frequency, or others), a parallel link, or another type of link.

**[0032]**The communication link 280 can include any type of communication channel, connector, data communication network, or other link. For example, the communication link 280 can include a wireless or a wired network, a Local Area Network (LAN), a Wide Area Network (WAN), a private network, a public network (such as the Internet), a WiFi network, a network that includes a satellite link, or another type of data communication network.

**[0033]**The memory 250 can store instructions (e.g., computer code) associated with an operating system, computer applications, and other resources. The memory 250 can also store application data and data objects that can be interpreted by one or more applications or virtual machines running on the computing system 200. As shown in FIG. 2, the example memory 250 includes data 254 and applications 258. The data 254 can include treatment data, geological data, fracture data, fluid data, or any other appropriate data. The applications 258 can include flow models, fracture treatment simulation software, reservoir simulation software, or other types of applications. In some implementations, a memory of a computing device includes additional or different data, application, models, or other information.

**[0034]**In some instances, the data 254 include treatment data relating to fracture treatment plans. For example the treatment data can indicate a pumping schedule, parameters of a previous injection treatment, parameters of a future injection treatment, or parameters of a proposed injection treatment. Such parameters may include information on flow rates, flow volumes, slurry concentrations, fluid compositions, injection locations, injection times, or other parameters.

**[0035]**In some instances, the data 254 include geological data relating to geological properties of a subterranean region. For example, the geological data may include information on wellbores, completions, or information on other attributes of the subterranean region. In some cases, the geological data includes information on the lithology, fluid content, stress profile (e.g., stress anisotropy, maximum and minimum horizontal stresses), pressure profile, spatial extent, porosity, or other attributes of reservoir media in the subterranean zone. The geological data can include information collected from well logs, rock samples, outcroppings, microseismic imaging, or other data sources.

**[0036]**In some instances, the data 254 include fracture data relating to fractures in the subterranean region. The fracture data may identify the locations, sizes, shapes, and other properties of fractures in a model of a subterranean zone. The fracture data can include information on natural fractures, hydraulically-induced fractures, or any other type of discontinuity in the subterranean region. The fracture data can include fracture planes calculated from microseismic data or other information. For each fracture plane, the fracture data can include information (e.g., strike angle, dip angle, etc.) identifying an orientation of the fracture, information identifying a shape (e.g., curvature, aperture, etc.) of the fracture, information identifying boundaries of the fracture, or any other suitable information.

**[0037]**In some instances, the data 254 include fluid data relating to well system fluids. The fluid data may identify types of fluids, fluid properties, thermodynamic conditions, and other information related to well system fluids. The fluid data can include flow models for compressible or incompressible fluid flow. For example, the fluid data can include systems of governing equations that represent fluid flow generally or fluid flow under certain types of conditions. In some cases, the governing flow equations define a nonlinear system of equations. The fluid data can also include information about truncation error thresholds or other system constraints. The fluid data can include data related to native fluids that naturally reside in a subterranean region, treatment fluids to be injected into the subterranean region, hydraulic fluids that operate well system tools, or other fluids that may or may not be related to a well system.

**[0038]**The applications 258 can include software applications, scripts, programs, functions, executables, or other modules that are interpreted or executed by the processor 260. For example, the applications 258 can include a fluid flow simulation module, a hydraulic fracture simulation module, a reservoir simulation module, or another type of simulator. The applications 258 may include machine-readable instructions for performing one or more of the operations related to FIGS. 3-5. For example, the applications 258 can include modules or algorithms for generating or processing governing flow equations. The applications 258 may include machine-readable instructions for generating a user interface or a plot, for example, illustrating fluid flow or fluid properties. The applications 258 can receive input data, such as treatment data, geological data, fracture data, fluid data, or other types of input data, from the memory 250, from another local source, or from one or more remote sources (e.g., via the communication link 280). The applications 258 can generate output data and store the output data in the memory 250, in another local medium, or in one or more remote devices (e.g., by sending the output data via the communication link 280).

**[0039]**The processor 260 can execute instructions, for example, to generate output data based on data inputs. For example, the processor 260 can run the applications 258 by executing or interpreting the software, scripts, programs, functions, executables, or other modules contained in the applications 258. The processor 260 may perform one or more of the operations related to FIGS. 3-5. The input data received by the processor 260 or the output data generated by the processor 260 can include any of the treatment data, the geological data, the fracture data, or any other data.

**[0040]**FIG. 3 is a diagram of an example system architecture 300. The example system architecture 300 can be used to model physical phenomena related to a well system environment. For example, the architecture 300 can be used to model fluid flow in an injection treatment of the subterranean region 104 shown in FIG. 1. In some instances, the architecture 300 is used to model fluid flow and other aspects of an injection treatment or other activities in a well system. In some cases, the architecture 300 is used to model fluid flow within or between one or more wellbores, wellbore conduits, wellbore tools, wellbore perforations, reservoir rock media, reservoir fractures (e.g., fractures in a complex fracture network, in a dominant bi-wing fracture extending from a wellbore, in a natural fracture network, in hydraulically-induced fractures, etc.), or combinations of these and other types of flow paths in a well system environment.

**[0041]**The example architecture 300 shown in FIG. 3 includes a fluid system 310, a data acquisition system 320, a fluid flow simulation system 330, and an analysis system 360. The architecture 300 can include additional or different components or subsystems, and the example components shown in FIG. 3 can be combined, integrated, divided, or configured in another manner. For example, the fluid flow simulation system 330 and the analysis system 360 can be subcomponents of an integrated computing system (e.g., the computing system 200 shown in FIG. 2) or multiple computing systems; or the data acquisition system 320 can be integrated with the fluid system 310. As another example, the fluid flow simulation system 330 or the analysis system 360, or both, can be implemented in a computing system that operates independent of the fluid system 310 or the data acquisition system 320.

**[0042]**The example fluid system 310 can include any physical system where fluid flow or other fluid phenomena occur. The fluid system 310 can represent a well system environment (e.g., the well system 100 shown in FIG. 1) or a subset of well system components or subsystems (e.g., the injection system 108 shown in FIG. 1). The fluid system 310 can include the physical reservoir rock in a subterranean reservoir (e.g., the subterranean region 104 shown in FIG. 1), fractures or a fracture network in the reservoir rock, one or more downhole systems installed in a wellbore, or a combination of them.

**[0043]**The data acquisition system 320 can include systems or hardware that obtain data from the fluid system 310. For example, the data acquisition system 320 can include flow sensors, pressure sensors, temperature sensors, and other types of measurement devices. The data acquisition system 320 can include communication and data storage systems that store, transfer, manipulate, or otherwise manage the information obtained from the fluid system 310.

**[0044]**The fluid flow simulation system 330 can include one or more computer systems or computer-implemented programs that simulate fluid flow. The fluid flow simulation system 330 can receive information related to the fluid system 310 and simulate fluid flow and other fluid phenomena that occur in the fluid system 310. For example, the fluid flow simulation system 330 can calculate flow velocities or other aspects of fluid flow based on data from the data acquisition system 320 or another source.

**[0045]**The example fluid flow simulation system 330 includes fluid system data 332, flow models 334, and a solver 342. The fluid flow simulation system can include additional or different features, and the features of a fluid flow simulation system 330 can be configured to operate in another manner. The modules of the fluid flow simulation system 330 can include hardware modules, software modules, or other types of modules. In some cases, the modules can be integrated with each other or with other system components. In some example implementations, the fluid flow simulation system 330 can be implemented as software running on a computing system, and the modules of the fluid flow simulation system 330 can be implemented as software functions or routines that are executed by the computing system.

**[0046]**The fluid system data 332 can include any information related to the fluid system 310 or another fluid system. For example, the fluid system data 332 can indicate physical properties (e.g., geometry, cross-sectional areas, surface properties, etc.) of one or more flow paths in the fluid system 310, material properties (e.g., density, porosity, viscosity, Reynolds number, etc.) of one or more fluids in the fluid system 310, thermodynamic data (e.g., fluid pressures, fluid temperatures, fluid flow rates, etc.) measured at one or more locations in the fluid system 310, and other types of information. The fluid system data 332 can include information received from the data acquisition system 320 and other sources.

**[0047]**The flow models 334 can include any information or modules that can be used to simulate fluid flow. As shown in FIG. 3, the example flow model 334 includes flow equations 336 and decompositions 338. The flow equations 336 can include governing flow equations, spatial and temporal discretization data, or other information. In some examples, the flow models 334 include governing flow equations, such as, for example, the Navier-Stokes equation or related approximations of the Navier-Stokes equation, convection equations, equations for Darcy flow, continuity equations, or other types of flow equations. As an example, the flow equations 336 may include one or more of the equations provided below; or the flow equations 336 may include additional or different governing flow equations.

**[0048]**The flow model 334 can include multiple subsystem models to represent various physical subsystems of the fluid system 310. For example, the flow model 334 can include fracture models to represent flow within fractures, flow-back models to represent fluid flow between reservoir rock and adjacent fractures, wellbore models to represent fluid flow within wellbores or wellbore tools, and other types of subsystem models. In some cases, the subsystem models are coupled, for example, by boundary conditions, by governing flow equations, or by other considerations.

**[0049]**In some examples, the flow equations 336 include a set of governing flow equations for a one-dimensional flow model. A first subset of the governing flow equations can represent flow within a fracture, while a second subset of the governing flow equations represents flow within a reservoir medium (e.g., rock or another type of material) adjacent to the fracture. The set of governing flow equations can include additional or different equations or subsets of equations. In some instances, the flow equations include a reduced set of governing flow equations. The reduced set of equations can be generated, for example, by eliminating a subset of governing flow equations. In some cases, equations can be eliminated based on fluid coupling between disparate subsystem models (e.g., coupling between a fracture model and a flow-back model). In some instances, the reduced set of equations contains fewer unknown values, as compared to the non-reduced set of equations.

**[0050]**The decompositions 338 can include equations, data structures, or other information for eliminating equations from a set of governing flow equations. For example, the decompositions 338 can include a Cholesky decomposition of a flow-back model or another type of flow model, and the Cholesky decomposition can be used to reduce the number of governing flow equations in the overall flow model 334, for example, as described below. As another example, the decompositions 338 can include a banded LU decomposition of a flow-back model or another type of flow model. Other types of decompositions can be used.

**[0051]**The flow models 334 can include spatial discretization data, such as, for example, discrete nodes that represent locations of fluid flow along flow paths in the fluid system 310. Generally, the flow models 334 can represent any number of intersecting flow path branches, including any type of flow path intersection. In some cases, the flow path branches represent a fracture network and reservoir media in a subterranean region, and connectivity between the flow path branches can correspond to the fracture connectivity in the fracture network, or fluid coupling between fractures and reservoir media. In some cases, the flow paths represent flow conduits in a wellbore, perforations in a wellbore casing, hydraulic fractures extending from a wellbore, natural fractures connected to hydraulic fractures or a wellbore, flow paths for leak-off or flow-back processes, or other types of interconnected flow paths in a well system environment.

**[0052]**The spatial discretization of the flow paths can be implemented by any suitable algorithm. For example, the system can be discretized according to a finite difference model, a finite volume model, finite element model, or another technique. The system can be discretized in a manner that permits spatial derivatives or partial spatial derivatives to be solved in the discretized spatial domain using numerical methods.

**[0053]**In some implementations, the fluid flow simulation system 330 can also include a time marching module to perform calculations in a discretized time domain. For example, the governing flow equations may include derivatives or partial derivatives in the time domain, and the time marching module can calculate such quantities based on a time marching algorithm. Example time marching schemes include the backward Euler scheme, the Crank-Nicolson scheme, and others.

**[0054]**The solver 342 can include any information or modules that can be used to solve a system of equations. For example, the solver 342 can be a direct solver or another type of solver. In some implementations, the solver 342 receives inputs from the other components of the fluid flow simulation system 330. For example, the inputs can include a reduced set of the discretized governing flow equations, the fluid system data 332, or any other information. The inputs can also include data generated or reported from a separate simulation or model. The solver 342 can generate a numerical solution for a variable of interest based on the inputs. The solution can be generated for some or all of the nodes in a discretized spatial domain. For example, the solver 342 may calculate values of fluid velocity, fluid pressure, or another variable over a spatial domain; the values can be calculated for an individual time step or multiple time steps.

**[0055]**The analysis system 360 can include any systems, components, or modules that analyze, process, use, or access the simulation data generated by the fluid flow simulation system 330. For example, the analysis system 360 can be a real time analysis system that displays or otherwise presents fluid data (e.g., to a field engineer, etc.) during an injection treatment. In some cases, the analysis system 360 includes another simulator or a simulation manager that uses the fluid simulation data to simulate other aspects of a well system. For example, the analysis system 360 can be a fracture simulation suite that simulates fracture propagation based on the simulated fluid flow data generated by the fluid flow simulation system 330. As another example, the analysis system 360 can be a reservoir simulation suite that simulates fluid migration in a reservoir based on the simulated fluid flow data generated by the fluid flow simulation system 330.

**[0056]**FIG. 4 is a diagram showing aspects of an example fluid flow model 400 for a fractured subterranean region. The example flow model 400 is based on a nodal discretization of a fracture model coupled to multiple individual flow-back models. The fracture model includes a fracture flow path 410, and the flow-back models include reservoir flow paths 420, 430, 440. The example fracture flow path 410 represents fluid flow within a fracture in the subterranean region. The example reservoir flow paths 420, 430, 440 represents flow-back (or leak-off) within the reservoir media (e.g., within a rock block or other material) adjacent to the fracture in the subterranean region.

**[0057]**The example fluid flow model 400 includes multiple nodes. Nodes 411a, 411b, 411c represent locations along the fracture flow path 410 within a fracture. Nodes 421a, 421b, 421c, 421d represent locations along the reservoir flow path 420 within the reservoir media adjacent to the fracture. Nodes 431a, 431b, 431c, 431d represent locations along the reservoir flow path 430 within the reservoir media adjacent to the fracture. Nodes 441a, 441b, 441c, 441d represent locations along the reservoir flow path 440 within the reservoir media adjacent to the fracture. In the example, shown, the reservoir flow paths 420, 430, 440 are coupled to the fracture flow path 410 at the nodes 411a, 411b, 411c.

**[0058]**Each node represents a respective location of fluid flow along one of the flow paths. The flow paths can extend through one, two, or three spatial dimensions. As such, the spatial dimension of a one-dimensional flow model does not necessarily correspond to a single physical spatial dimension. In some cases, a one-dimensional flow model can incorporate flow in more than one spatial dimension, for example, to account for intersecting flow paths, curved flow paths, etc. The example flow model 400 can also include initial conditions, boundary conditions, connection conditions, governing flow equations, etc. The governing flow equations can include, for example, Navier-Stokes equations, continuity equations, and others.

**[0059]**In some instances, the fluid flow model can model a flow-back process. An interaction between a reservoir medium and its surrounding fluid can be approximated via a fluid flow model such as a flow-back model. The flow-back model can model the two-way flows between the fracture network and the reservoir medium. The two-way flows designated as leak-off or flow-back can be mathematically identical, and the terms can be used interchangeably with respect to the models; for example, a "flow-back model" can cover flow-back, leak-off, and similar flows. The two-way flows can be governed by the difference in the pressures between pressure in the core of the reservoir medium and that of the fluid flows around its boundaries. The two-way flow interactions between the fracture flow and the reservoir medium can be modeled in different situations. For example, the fracture flow model and the flow-back model can be coupled via pressure variables. The domains of the reservoir and the fracture can be two-dimensional or three-dimensional.

**[0060]**A flow-back process can be modeled by a one-dimensional Darcy type of relation, given by

**.alpha.p.sub.t-.beta.p.sub.yy=0 (1)**

**In equation**(1), p denotes the pressure in a one-dimensional domain along the Darcy flow direction, t represents time, y represents position, and .alpha. and .beta. are the model's parameters (e.g., fluid parameters). In some example flow-back models, pressure p is along the Darcy flow direction y, which is normal to the direction of fracture flow. The subscripts in Equation (1) indicate a partial derivative with respect to the variable in the subscript.

**[0061]**The Darcy flow direction y can be defined as positive into the reservoir media with the interface between the fracture and the flow-back network defined as y=0. In some instances, flow-back flow can be in the direction of decreasing y and leak-off flow can be in the direction of increasingy. If the domain of Equation (1) is finite, the maximum value for y can be given as y.sub.R, and Equation (1) can be discretized using a method such as finite differences, finite volumes, finite elements, or another method. If the domain of Equation (1) is infinite, then a finite element discretization can be used.

**[0062]**In the case of a slightly compressible fluid in a compressible reservoir medium, the parameters in Equation (1) can be written as:

**.alpha.=.phi..rho.(c.sub.f+(.phi..sup.0/.phi.)c.sub.r) (2)**

**and**

**.beta. = .rho. k .mu. . ( 3 ) ##EQU00001##**

**In Equations**(2) and (3), .phi. is the formation porosity, k is the formation permeability, .rho. is the fluid density, .mu. is the fluid viscosity, c.sub.f is the fluid compressibility and c.sub.r is the formation compressibility.

**[0063]**To obtain solutions of Equation (1), appropriate and physical boundary conditions can be supplied at both ends of the computational domain. For example, a Dirichlet boundary can be implemented at the fracture interface (y=0), in which the flow-back pressure p is set equal to the fluid pressure in the fracture. At the opposite boundary of the flow-back network (y=y.sub.R or y=.infin.), a separate Dirichlet boundary can be implemented in which the flow-back boundary pressure p is set equal to the reservoir pore pressure. As another example, a Neumann boundary condition could be implemented (e.g., p.sub.y=0). In some instances, a flow-back model can be the same as a leak-off model.

**[0064]**Fluid mass balance in the overall system can be conserved when using the example model for flow-back. The mass flux from the fracture to the flow-back network at y=0 can be given by v=-.beta.p.sub.y, which is the fluid density multiplied by the Darcy velocity at the fracture-flow-back interface. The influence of the flow-back on the fluid flow in the fracture can be modeled by including the mass flux v in the mass continuity equation for the fluid flow in the fracture. For example, in a simple Reynolds approximation equation for flow in a fracture with varying aperture, including the flow-back mass flux gives

**A t**- ( A 3 12 .mu. p x ) x + .beta. p _ y = 0. ( 4 ) ##EQU00002##

**In equation**(4), A is the area of the fracture cross-section, p is the fluid pressure along the fracture, x is the spatial variable along the fracture direction, and .mu. is the fluid viscosity coefficient. Other fracture fluid flow models could be used, e.g. the full Navier-Stokes equations or a simplification thereof.

**[0065]**A naive way of solving this system would be to discretize the governing equations described by Equation (1) and Equation (4), and then solve the resulting system to advance the solution in time. Henceforth, this naive approach will be referred as Approach 1 (A1).

**[0066]**A more efficient algorithm (measured in terms of wall-time and the memory requirement) can be used as follows, referred to as Approach 2 (A2). The governing equations such as Equation (1) and Equation (4) can be discretized using the implicit backward Euler method in time and second-order central differences for the spatial derivatives. Other discretization techniques can be used in time (e.g. Crank-Nicolson) and space (e.g. finite volume methods, finite element methods, or other finite difference methods).This gives the local coefficient matrix A.sub.i for equation (1) in a particular leak-off or flow-back path i:

**A i**= [ 2 .beta. h 2 + .alpha. .DELTA. t - .beta. h 2 - .beta. h 2 2 .beta. h 2 + .alpha. .DELTA. t - .beta. h 2 - .beta. h 2 2 .beta. h 2 + .alpha. .DELTA. t - .beta. h 2 - .beta. h 2 2 .beta. h 2 + .alpha. .DELTA. t ] . ( 5 ) ##EQU00003##

**In the local coefficient matrix A**.sub.i, the .alpha. and .beta. variables are given by Equation (2) and Equation (3), respectively.

**[0067]**The local coefficient matrix A.sub.i can be solved or reduced via a variety of techniques. For example, the matrix A.sub.i can be solved using Cholesky decomposition. In Cholesky decomposition, the local coefficient matrix A.sub.i is decomposed as:

**A**.sub.i=LL.sup.T (6)

**In Equation**(6), the L denotes a lower triangular matrix, and L.sup.T is its transpose. For the cases where the parameters .alpha., .beta., h and .DELTA.t are fixed, the Cholesky decomposition can be performed once and stored and reused in other computations. The example coefficient matrix shown in Equation (5) is an example of a tri-diagonal matrix, and a tri-diagonal version of the Cholesky method can be used for the decomposition.

**[0068]**For each flow-back flow path i, an internal elimination can be performed on the respective local variables in the discretization of Equation (1). Thus, Equation (1) can be eliminated from the discretized system, reducing the total number of discrete equations in the flow model. For example, if Equation (1) is eliminated, only Equation (4) remains. The coupling of Equations (1) and Equation (4) can be contained entirely in the p.sub.y term. The p.sub.y term can be approximated by a finite difference of a fracture pressure and the first interior pressure in the corresponding flow-back path p.sub.i,1. The parameter p.sub.i,1 can be given explicitly in terms of the boundary conditions using A.sub.i.sup.-1.

**[0069]**The example models described here can use a finite difference discretization under uniform mesh spacing. However, other discretization methods such as finite volumes and finite elements, utilization of non-uniform meshes, or employing higher-order discretization schemes could be used. For example, non-uniform meshes could be used to resolve the filter-cake effects. In addition, other matrix solving procedures can be used. For example, a banded LU decomposition could be used for solving discretization matrices that are not symmetric.

**[0070]**Multiple fluids of different types can also be modeled. For example, standard multiphase porous media flow equations in one-dimension can be used instead of Equation (1). The equations can be linearized by several possible methods, including Newton-Raphson or quasi-linearization. A method such as banded LU decomposition can be used to solve the associated local coefficient matrix. A banded LU decomposition can decompose a matrix into a product of a lower triangular matrix and an upper triangular matrix.

**[0071]**For example, two fluids can be modeled by a piston-like displacement of the reservoir fluid by the leak-off or flow-back fluid. If the leak-off or flow-back fluid and the reservoir fluid are both compressible, then Equation (1) can be used to model both fluids in two contiguous moving domains. The two fluids can have different parameters .alpha. and .beta.. At the interface between the two fluids, a boundary condition can be imposed to enforce a continuous Darcy velocity. If the leak-off or flow-back fluid is incompressible (e.g. in the case of water leaking off into a gas reservoir), then the equation for the leak-off or flow-back fluid can be simplified to spatially constant velocity, .beta.p.sub.yy=0. In this case, it is not necessary to discretize the leak-off or flow-back fluid domain with internal nodes. Instead, a finite difference for the velocity, in terms of the endpoint pressure values, can provide a discrete equation for the leak-off or flow-back fluid. The discrete equation for the leak-off or flow-back fluid can be coupled to a discretized equation of the form of Equation (1) for the compressible reservoir fluid. The associated local coefficient matrix can be solved by a method such as banded LU decomposition.

**[0072]**FIG. 5 is a flow chart showing an example process 500 for simulating fluid flow for a flow-back process. All or part of the example process 500 may be computer-implemented, for example, using the features and attributes of the example computing system 200 shown in FIG. 2 or other computing systems. The process 500, individual operations of the process 500, or groups of operations may be iterated or performed in parallel, in series, or in another manner. In some cases, the process 500 may include the same, additional, fewer, or different operations performed in the same or a different order.

**[0073]**The example process 500 can be used to simulate the flow of various fluids. In some cases, the process 500 is used to simulate one or more well system fluids. Here, the term "well system fluid" is used broadly to encompass a wide variety of fluids that may be found in or near, or may be used in connection with, a well system. Well system fluids can include one or more native fluids that reside in a subterranean region (e.g., brine, oil, natural gas, etc.), one or more fluids that have been or will be injected into a subterranean region (e.g., fracturing fluids, treatment fluids, etc.), one or more fluids that have been or will be communicated within a wellbore or within one or more tools installed in the well bore (e.g., drilling fluids, hydraulic fluids, etc.), and other types of fluids. The example process 500 can also simulate multiple types of fluid flowing within the same system.

**[0074]**The example process 500 can simulate fluid flow based on a one-dimensional fluid flow model. The flow model can include nodes of a discretized one-dimensional flow path. For example, the process 500 can use the example flow model 400 shown in FIG. 4, or another type of flow model. The flow model can also include governing equations and associated variables for each of the nodes. For example, the flow model can include the variables shown in FIG. 4, and the flow model can include one or more of the example Equations (1), (2), (3), and (4) shown above. The flow model can include other types of variables or equations.

**[0075]**At 502, intersecting flow paths are identified. In some cases, the intersecting flow paths are identified by identifying an intersection node shared by two flow paths in the flow model. The intersecting flow paths can be one or more fracture flow paths and reservoir flow paths. The intersection can represent leak-off or flow-back between a fracture and reservoir rock media in a subterranean region. For example, the flow-back flow paths can be coupled to fracture flow paths at the intersections.

**[0076]**At 504, the governing equations are discretized. The governing flow equations can be provided by the flow model or another source. The governing flow equations can include, for example, Navier-Stokes equations, Darcy flow equations, convection or diffusion equations, continuity equations, and others. The governing equations can be discretized according to a finite difference technique or another discretization method. For example, the implicit backward Euler method can be used for time and second-order central differences can be used for spatial derivatives. In some cases, discretizing the governing flow equations can generate one or more coefficient matrices. The discretization for each node can incorporate fluid communication with an adjacent node in each flow direction. The discretization can incorporate fluid communication across more than one adjacent node in each flow direction. For example, the discretization at each node can incorporate fluid communication across two or three adjacent nodes in each direction of flow.

**[0077]**At 506, a reduced set of discretized governing flow equations is generated. The reduced set of governing flow equations can be generated by eliminating a subset of governing flow equations. In some cases, the subset of governing flow equations is eliminated by solving or reducing a coefficient matrix. For example, a method such as Cholesky or LU decomposition can be implemented. In some implementations, governing flow equations for flow-back are eliminated based on coupling with governing flow equations for a fracture.

**[0078]**At 520, a solution is obtained. The solution can be obtained based on the reduced set of discretized governing flow equations. In some implementations, the discretized governing flow equations are solved numerically. For example, an iterative method such as Newton's method can be used to solve the equations and obtain the solution. The solution can indicate one or more flow velocities, pressures, or values for other variables at each discretized location on the flow paths.

**[0079]**In some cases, the equations for the fracture flow paths are solved, and then the solutions are propagated to the equations for flow-back flow paths to solve the entire system. For example, with reference to FIG. 4, the reduced set of discretized governing flow equations can indicate values of flow variables at each node along the flow path 410; and the values of flow variables along the fracture flow path 410 can be used to compute the values of flow variables at each node along the reservoir flow paths 420, 430, 440. For example, a matrix decomposition of the flow-back model can be used to propagate the simulated fracture flow to the reservoir media. In some implementations, the propagation of the solution to the leak-off or flow-back variables can be done in parallel, for example, since the leak-off or flow-back paths can be independent in the local computation.

**[0080]**FIG. 6A and FIG. 6B show example simulation results of a fracture system coupled to a flow-back system. FIG. 6A and FIG. 6B show comparisons between Approach 1 in which the full system of equations is solved including the flow-back equations, and Approach 2 in which the flow-back equations are eliminated using the Cholesky decomposition technique described above. In plot 600, the x-axis is the location along the fracture flow path and the y-axis is the calculated pressure in the fracture flow path shown on curve 610. The pressure at each location is calculated using both Approach 1 and Approach 2.

**[0081]**FIG. 6B shows simulation results of the flow-back flow paths of the same fracture-flow-back system as FIG. 6A. In plot 650, the x-axis is the location along the flow-back flow path and the y-axis is the calculated pressure in the flow-back flow path. Each curve 660a, 660b, 660c represents a separate flow-back flow path. As in FIG. 6A, the pressure is calculated separately using Approach 1 and Approach 2. FIG. 6A and FIG. 6B show that Approach 2 as described herein can produce results identical to Approach 1.

**[0082]**The plots in FIG. 6A and FIG. 6B show that Approach 2 can produce results identical to Approach 1. Implementing the reduced set of equations as described in Approach 2 can enable a significant reduction in wall-time. The elapsed wall-time for each approach as calculated in FIG. 6A and FIG. 6B is reported in Table 1.

**TABLE**-US-00001 TABLE 1 Performance evaluation of two approaches Number Number of of nodes nodes per Flow- Wall-time using Wall-time using in Fracture line back line Approach 1 Approach 2 500 5 7.91 4.63 1000 5 15.07 8.79 500 10 11.58 5.03

**Table**1 shows that, in this example, Approach 2 can give identical results with less than half of the calculation time as Approach 1.

**[0083]**Table 1 shows simulation results as calculated on a serial computer. Given that the internal elimination operations are independent of each other, they can be performed in parallel enabling significant improvement in the elapsed calculation time. An example parallel run result is reported in Table 2.

**TABLE**-US-00002 TABLE 2 Elapsed time Wall-time Threads (sec) speed-up X 1 23 2 14.437 1.59 4 7.91 1.83 8 4.6 1.72

**As shown in Table**2, a parallel computation technique can reduce calculation time, in some instances significantly.

**[0084]**FIG. 7 is a plot 700 from an example simulation of a complex coupled fracture and flow-back system using Approach 2 with the Cholesky decomposition technique described above. The plot 700 shows the cumulative flow-back volume from the simulation. In the example flow model represented in FIG. 7, a flow-back model network 720 includes multiple interconnected flow paths, and the flow-back model network communicates fluid between an inlet flow path 710 and outlet flow path 730. The color scale at each location in the plot 700 represents the cumulative flow-back flow volume at that location for the total simulated time.

**[0085]**Some embodiments of subject matter and operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Some embodiments of subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage medium for execution by, or to control the operation of, data processing apparatus. A computer storage medium can be, or can be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).

**[0086]**The term "data processing apparatus" encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations, of the foregoing. The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.

**[0087]**A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

**[0088]**Some of the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

**[0089]**Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. A computer includes a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. A computer may also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices (e.g., EPROM, EEPROM, flash memory devices, and others), magnetic disks (e.g., internal hard disks, removable disks, and others), magneto optical disks , and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

**[0090]**To provide for interaction with a user, operations can be implemented on a computer having a display device (e.g., a monitor, or another type of display device) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse, a trackball, a tablet, a touch sensitive screen, or another type of pointing device) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.

**[0091]**A computer system can be or include a single computing device, or multiple computers that operate in proximity or generally remote from each other and typically interact through a communication network. Examples of communication networks include a local area network ("LAN") and a wide area network ("WAN"), an inter-network (e.g., the Internet), a network comprising a satellite link, and peer-to-peer networks (e.g., ad hoc peer-to-peer networks). A relationship of client and server may arise by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

**[0092]**While this specification contains many details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features specific to particular examples. Certain features that are described in this specification in the context of separate implementations can also be combined. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple embodiments separately or in any suitable subcombination.

**[0093]**A number of examples have been described. Nevertheless, it will be understood that various modifications can be made. Accordingly, other implementations are within the scope of the following claims.

User Contributions:

Comment about this patent or add new information about this topic: