WO2015102792A1 - Preconditioning distinct subsystem models in a subterranean region model - Google Patents
Preconditioning distinct subsystem models in a subterranean region model Download PDFInfo
- Publication number
- WO2015102792A1 WO2015102792A1 PCT/US2014/068111 US2014068111W WO2015102792A1 WO 2015102792 A1 WO2015102792 A1 WO 2015102792A1 US 2014068111 W US2014068111 W US 2014068111W WO 2015102792 A1 WO2015102792 A1 WO 2015102792A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- subsystem
- preconditioning
- model
- global system
- models
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- E—FIXED CONSTRUCTIONS
- E21—EARTH OR ROCK DRILLING; MINING
- E21B—EARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
- E21B43/00—Methods or apparatus for obtaining oil, gas, water, soluble or meltable materials or a slurry of minerals from wells
- E21B43/25—Methods for stimulating production
- E21B43/26—Methods for stimulating production by forming crevices or fractures
Definitions
- Subterranean region models typically include governing equations that can simulate the dynamics of a subterranean region. For example, some types models can be used to simulate fracture treatments, where fluids are pumped under high pressure into a rock formation through a well bore to fracture the formation.
- FIG. 1 is a diagram of an example well system.
- FIG. 2 is a diagram of an example computing subsystem.
- FIG. 3 is a diagram of an example system architecture
- FIG. 4 is a flow chart of an example process for operating a subterranean region model.
- FIG. 5 is a flow chart of an example preconditioning process.
- Some aspects of what is described here relate to simulating a subterranean region in a well system environment. Some aspects of what is described here can be used to improve computational efficiency of a numerical simulation.
- multiple different types of applied mathematical models are used to numerically simulate a subterranean region. For example, disparate subsystems in the
- subterranean region can be represented by disparate applied mathematical models within a global system model of the subterranean region, and the global system model can be used to simulate the subterranean region.
- the applied mathematical models can be incorporated in the global system model as discrete subsystem models that represent distinct physical subsystems (e.g., wellbores, fractures, rock blocks, reservoir media, etc.) associated with a stimulation treatment (e.g., an injection treatment, a flow back treatment, etc.) or other types of activities (e.g., production, drilling, etc.) in the subterranean region.
- a stimulation treatment e.g., an injection treatment, a flow back treatment, etc.
- activities e.g., production, drilling, etc.
- each subsystem model can be represented as a local system of equations (including local parameters and local variables), and the global system model can be represented as a combined system of equations that includes the local systems of equations from each subsystem and possibly additional equations, parameters, and variables.
- the subsystems within the subterranean region interact with one another, and the subsystem models can be coupled to each other to simulate the interactions.
- the dynamics of an individual subsystem may depend on the state of another, distinct subsystem due to the interaction among subsystems, and the solution of the various subsystem models may be interdependent on the solutions to the other subsystem models.
- two or more subsystem models are tightly coupled in the global system model.
- the global system model can include coupling models that provide connections between distinct subsystem models.
- the subsystem models can represent the dynamics of the distinct subsystems, and the coupling models can represent coupling or other interactions among the subsystem models, so that the solution for each subsystem model can be influenced by the respective solutions for the other subsystem models.
- the global system model can be implicitly solved, for example, by solving the governing equations of tightly coupled subsystem models.
- the subsystem models can be tightly coupled, for example, by configuring the individual models (e.g., modifying the dimensions, units, numerical formulation of the governing equations, etc.) so that they can operate together and produce a common solution vector.
- Finding a common solution vector to the global system can include solving a global system that includes a large global coefficient matrix.
- the global system model can be a large, poorly conditioned (or ill-conditioned) mathematical system.
- a system is ill-conditioned if it has a high condition number, while it is well-conditioned if it has a low condition number.
- the condition number can measure how sensitive a function is to changes or errors in the input, and how the equations residual values compare to output errors.
- the condition number can be defined, for example, as the ratio of the maximal singular value to the minimal singular values of the coefficient matrix.
- a well-conditioned system can obtain a more stable solution and can be solved more efficiently and easily than an ill-conditioned system.
- an ill-conditioned system may be transformed or otherwise manipulated to a better-conditioned system, for example, for efficient and stable solutions.
- Preconditioning a model can include applying a preconditioner (e.g., a transformation or another type of preconditioner) that can condition a given problem into a form that is more suitable for numerical solution. For example, preconditioning can be applied to reduce a condition number of a problem.
- the preconditioner is represented in a matrix format and the preconditioning is applied as multiplying a vector by the preconditioner (e.g., computing a matrix-vector product).
- the preconditioner instead of a matrix format, can be implemented as another type of operator (or a function) acting on the vector. For instance, the preconditioner can take a vector as its input and return another vector as its output.
- the preconditioner can be used in iterative methods for solving a global system model. For example, the rate of convergence for most iterative linear solvers increases as the condition number of a matrix decreases due to the preconditioning.
- the example techniques described here can improve the conditioning of the global system model, for example, by applying multiple levels of
- low-level preconditioners can be applied to the subsystem models independently and a global preconditioner can then be applied to the global system model.
- the low-level preconditioners can be designed to take advantage of the structure of the subsystem models to which they are applied, and the global preconditioner can be designed to efficiently correct a relatively small poorly conditioned subspace.
- the global preconditioner can be based on the method of deflation, Tikhonov iterations, or other techniques.
- the example preconditioning techniques are effective for multi-scale, multi-physics problems, with different types of mathematical equations and variables having widely varying spatial and temporal scales.
- the techniques described here can provide one or more advantages.
- the example techniques described here can provide efficient and accurate methods for solving a global system model that includes tightly coupled subsystem models.
- the example techniques may enable real time processing of some or all aspects of a subterranean region simulation.
- Some types of global preconditioning can be implemented in a matrix-free representation. Matrix-free methods can solve a linear system of equations or an eigenvalue problem without explicitly storing the coefficient matrix explicitly. For example, instead of storing the coefficient matrix explicitly as a matrix, matrix-free methods may access the coefficient matrix by evaluating matrix-vector products.
- the example techniques described here can reduce memory requirements and computational cost through matrix-free implementation, for example, when the global coefficient matrix of the global system model is large. In some instances, the example techniques can be applied to applications where the global coefficient matrix is not explicitly available. Combinations of these or other advantages may be achieved in some cases.
- 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.
- 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.
- the computing subsystem 110 can be located at a data processing center, a computing facility, or another suitable 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.
- the example subterranean region 104 may include a reservoir that contains hydrocarbon resources such as oil, natural gas, or others.
- the subterranean region 104 may include all or part of a rock formation (e.g., shale, coal, sandstone, granite, or others) that contains 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).
- the example well system 100 shown in FIG. 1 includes an injection system 108.
- the injection system 108 can be used to perform a stimulation treatment that includes, for example, an injection treatment and a flow back treatment.
- a stimulation treatment that includes, for example, an injection treatment and a flow back treatment.
- fluid is injected into the subterranean region 104 through the wellbore 102.
- the injection treatment fractures a rock formation in the subterranean region 104.
- 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.
- the example injection system 108 can inject treatment fluid into the subterranean region 104 from the wellbore 102.
- 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.
- 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.
- 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.
- 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 fracturing treatment, a single-stage fracture treatment, a test treatment, a final fracture treatment, other types of fracture treatments, or a combination of these.
- 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 112 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.
- 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.
- communication links allow the instrument trucks 114 to communicate with the computing subsystem 110 that can run simulations and provide simulation data.
- the well system 100 can include multiple uncoupled communication links or a network of coupled
- the communication links can include wired or wireless communications systems, or a combination thereof.
- the injection system 108 may also include surface and down-hole sensors to measure pressure, rate, temperature or other parameters of treatment or production.
- 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 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.
- the injection system 108 may inject fluid into the formation above, at or below a fracture initiation pressure; above, at or below a fracture closure pressure; or at another fluid pressure.
- 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 a computing subsystem that can calculate, select, or optimize 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.
- an injection treatment plan e.g., a pumping schedule
- FIG. 1 shows examples of dominant fractures 132 formed by fluid injection through perforations 120 along the wellbore 102.
- 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 rock matrix, 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.
- the computing subsystem 110 can simulate application of the injection treatments to the subterranean formation through one or more well bores.
- the computing subsystem 110 can simulate and predict fracture initialization and propagation during injection treatments applied through the wellbore 102.
- the simulation may rely on an injection simulation system that can reflect the actual physical process of injection treatments.
- a global system model can be used to simulate the injection treatment applied on the subterranean region 104.
- the global system model can include multiple subsystem models and that represent distinct subsystems, such as, for example, the wellbore 102, the natural fracture networks 130, the rock media in the subterranean region 104, or a combination of these and others.
- Each subsystem model can model distinct physical process associated with the respective subsystem within the subterranean region.
- the subsystem models can be connected by coupling models that represent interactions among the subsystem models.
- a global system model can include fluid models, geo-mechanical models, fracture models, or other types of models.
- a global system model includes fluid models for simulating fluid flow in the well system 100.
- the computing subsystem 110 can include flow models for simulating fluid flow in or between various locations of fluid flow in the well system (e.g., 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 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.
- the computing subsystem 110 can perform simulations before, during, or after the injection treatment.
- the injection treatment control subsystem 111 controls the injection treatment based on simulations performed by the computing subsystem 110.
- 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.
- 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 treatment.
- the simulations are based on data obtained from the well system 100.
- 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.
- 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.
- 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.
- 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, storage devices, or any type of computing or electronic device.
- 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.
- 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.
- RAM random access memory
- ROM read-only memory
- 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).
- 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.
- the communication link 280 can include any type of communication channel, connector, data communication network, or other link.
- 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.
- LAN Local Area Network
- WAN Wide Area Network
- private network such as the Internet
- public network such as the Internet
- WiFi network a network that includes a satellite link, or another type of data communication network.
- 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.
- the example memory 250 includes data 254 and applications 258.
- the data 254 can include treatment data, geological data, fracture data, fluid data, or other types of data.
- the applications 258 can include flow models, fracture treatment simulation software, reservoir simulation software, or other types of applications.
- a memory of a computing device includes additional or different data, applications, models, or other information.
- the data 254 can include treatment data relating to injection treatment plans.
- 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.
- the data 254 include geological data relating to geological properties of a subterranean region.
- the geological data may include information on wellbores, completions, or information on other attributes of the subterranean region.
- 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, or other attributes of one or more rock formations in the subterranean zone.
- the geological data can include information collected from well logs, rock samples, outcroppings, microseismic imaging, or other data sources.
- 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
- the fracture data can include fracture planes calculated from microseismic data or other information.
- 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.
- 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
- the fluid data can include systems of governing equations (e.g., Navier-Stokes equations, advection-diffusion equations, continuity equations, etc.) that represent fluid flow generally or fluid flow under certain types of conditions.
- the governing flow equations define a nonlinear system of equations.
- 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.
- the applications 258 can include software applications, scripts, programs, functions, executables, or other modules that are interpreted or executed by the processor 260.
- the applications 258 can include a fluid flow simulation module, a hydraulic fracture simulation module, a reservoir simulation module, or another other type of simulator.
- the applications 258 may include machine-readable instructions for performing one or more of the operations related to FIGS. 3-5.
- 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).
- the processor 260 can execute instructions, for example, to generate output data based on data inputs.
- 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 can execute one or more threads of instructions in series or in parallel.
- the processor 260 can be a single-core processor or a multi-core processer.
- 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, the fluid data, or any other data.
- the example system architecture 300 can be used to simulate a well system or another type of system that includes a subterranean region.
- the architecture 300 can be used to simulate an injection treatment of the subterranean region 104 shown in FIG. 1.
- the architecture 300 can be used to model fluid flow and other aspects of an injection treatment or other activities (e.g. drilling, production, etc.) in a well system.
- the example system architecture 300 shown in FIG. 3 can be used in connection with performing numerical simulations of a subterranean reservoir.
- numerical simulations may include simulations of fluid flow in the porous media of the reservoir, fluid flow within fractures and wellbores, proppant transport in fluids, structural mechanics, heat flow, fluid-structure interactions, or other aspects of a stimulated subterranean region.
- the numerical simulations can be performed in real time during an injection treatment.
- the example architecture 300 shown in FIG. 3 includes a well system 310, a data acquisition system 320, a 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.
- the simulation system 330 and the analysis system 360 can be subcomponents of an integrated computing system (e.g., the computing systems 200 shown in FIG. 2) or multiple computing systems; or the data acquisition system 320 can be integrated with the well system 310.
- the simulation system 330 or the analysis system 360, or both can be implemented in a computing system that operates independent of the well system 310 or the data acquisition system 320.
- the well system 310 can include 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). In some examples, the well system 310 includes a fluid system where fluid flow or other fluid phenomena occur.
- the well 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.
- the data acquisition system 320 can be any system or hardware that obtains data from the well system 310.
- the data acquisition system 320 can include flow sensors, pressure sensors, temperature sensors, microseismic 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 well system.
- the simulation system 330 can include one or more computer systems or computer- implemented programs that simulate aspects of a well system.
- the simulation system 330 can receive information related to the well system 310 and simulate fluid flow and other phenomena that occur in the well system 310.
- the simulation system 330 can calculate flow velocities, pressures, temperature, or other aspects of fluid flow based on data from the data acquisition system 320 or another source.
- the example system architecture 300 may also simulate movement of mechanical systems (e.g. structural mechanics, rock blocks, reservoir media, wellbore equipment) or other phenomena coupled to the simulated fluid.
- the example simulation system 330 includes well system data 332, a global system model 334, a solver 340, and a preconditioner 342.
- the simulation system can include additional or different features, and the features of a simulation system 330 can be configured to operate in another manner.
- the modules of the 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.
- the simulation system 330 can be implemented as software running on a computing system (e.g., the example computing systems 200 in FIG. 2), and the modules of the simulation system 330 can be implemented as software functions or routines that are executed by the computing system.
- one or more software functions or routines can include multiple threads that can be executed by computing system in series or in parallel.
- the well system data 332 can include any information related to the example well system 310 or another well system.
- the well system data 332 can indicate physical properties (e.g., geometry, surface properties, etc.) of one or more flow paths (e.g., fractures, wellbore, etc.) in the well system 310, material properties (e.g., density, viscosity, Reynolds number, etc.) of one or more fluids in the well system 310, thermodynamic data (e.g., fluid pressures, fluid temperatures, fluid flow rates, heat flow, etc.) measured at one or more locations in the well system 310, proppant properties (e.g., size, types, concentration, etc.) in one or more fluids, rock block data (e.g., location, orientation, deformation, displacement, stresses and strains) associated with one or more rock blocks in the well system 310, and other types of information.
- the well system data 332 can include information received from the data acquisition system 320 and other sources.
- the global system model 334 can include any information or modules that can be used to simulate a subterranean region.
- the simulated subterranean region can include all or part of a well system, or the simulated subterranean region can be physically coupled to a well system. In some implementations, the simulated subterranean region does not include a well system.
- the simulated subterranean region can be a candidate or prospective site for a well system.
- the global system model 334 can include governing equations, spatial and temporal discretization data, or other information. In some examples, the global system model 334 include governing flow equations, such as, for example, Navier-Stokes equations or related
- the global system model 334 can include various types of subsystem models for simulating a subterranean region.
- the global system model 334 can include flow models that represent the fluid flow associated with distinct sub-regions in the subterranean region.
- the flow models can include a wellbore subsystem model 335 for modeling fluid flow in a wellbore (e.g., wellbore 102 in FIG.
- the global system model 334 can include or otherwise interact with additional or different subsystems models such as, for instance, subsystem models that models proppant transport in the fluids, and heat flow models that models heat flow in the subterranean region.
- the subsystem models can be coupled, for example, by one or more coupling models 339 that can provide connection conditions, boundary conditions, or both among the subsystem models.
- the global system model 334 can include multiple instances of each type of the subsystem models.
- the global system model 334 can include multiple fracture subsystem models representing fluid flow in multiple individual fractures within a fracture network; the global system model 334 can include multiple rock block subsystem models representing multiple distinct rock blocks within a subterranean region; etc.
- the global system model 334 can include discretization data derived from governing equations (e.g., governing flow equations or other types of governing equations).
- the global system model 334 can include spatial discretization data such as discrete nodes that represent locations of fluid flow along flow paths in the well system 310, or other types of data.
- the global system model 334 can also include temporal discretization data for the subsystem models.
- the data can be represented in various forms.
- discretized governing equations can be represented in matrix form.
- some discretized governing equations can be represented by band matrix data and intersection data. Additional or different types of matrix representations can be used.
- the global system model 334 can be a highly nonlinear, multi-scale, multi-physics model.
- the global system models 334 can include different subsystem models with different spatial and temporal scales.
- the fracture and wellbore subsystem models can use finer spatial discretization and represent faster fluid flow than the far field reservoir subsystem model.
- the simulation system 330 can also include a time marching module to perform calculations in a discretized time domain.
- the governing 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.
- the solver 340 can include any information or modules that can be used to solve a system of equations.
- the solver 340 can include one or more of a direct solver, an iterative solver, or another type of solver.
- the solver 340 can include one or more solvers specialized for different applications.
- the solver 340 can include a DAE (differential algebraic equations) solver, an ODE (ordinary differential equations) solver, a block-matrix solver, a band matrix solver, a sparse matrix solver, or other types of solvers.
- DAE dynamic algebraic equations
- ODE ordinary differential equations
- the solver 340 receives inputs from the other components of the simulation system 330 and generates a numerical solution for one or more variables of interest based on the inputs.
- the solution can be generated for each node in a discretized spatial domain.
- the solver 340 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.
- the solver 340 can solve a global system of equations of the global system model 334 that encompasses multiple diverse aspects (e.g., wellbores, fractures, rock blocks, reservoirs, etc.) of the subterranean region.
- the global system model 334 includes tightly coupled subsystem models and the solver 340 can solve them all together in a fully coupled, temporally implicit manner.
- the overall system with tightly coupled models can be solved by defining a common solution vector for the multiple subsystem models, modifying the subsystem models (e.g., updating the parameters, dimensions, units, numerical formulation of the governing equations, etc.) to operate together based on the common solution vector, and in turn refining the common solution vector.
- the solver 340 may first operate on one or more subsystem models
- band matrix solvers can be selected for subsystem models (e.g., fracture subsystem model, wellbore subsystem model, etc.) that include band matrices from discretization of their respective governing flow equations.
- the preconditioner 342 can include any information or modules that can be used to precondition a model (e.g., the global system model 334, the subsystem models, other types of models, or a combination of these).
- the preconditioner 342 can be used to transform a system of equations into another form (a preconditioned form), such as, for example, a form that may be easier or more efficient for the solver 340 to solve.
- the preconditioner can cast all equations in single unit system to assure convergence.
- the preconditioner may operate, in some cases, by approximating the inverse of a system of linear equations.
- applying the preconditioner may include, for example, multiplying a preconditioner data object in a system of linear equations (e.g., in a matrix form).
- the preconditioner can be implemented as an operation, a function, a data object, or a combination of these.
- the preconditioner can receive an input (e.g., a vector) and generate an output (e.g., another vector).
- the preconditioner may be implemented in additional or different manners.
- the preconditioner 342 can execute or otherwise perform any appropriate
- the preconditioner 342 may include multiple modules and each module can implement a specialized preconditioning algorithm for a certain application.
- the preconditioner 342 can include modules specialized for preconditioning methods such as, for example, the power method, the Arnoldi method, the multigrid method, Tikhonov regularization, or other types of the precondition methods.
- the evaluation or application of the preconditioner can be implemented by a solver (e.g., the solver 340 or another solver).
- a band matrix solver may be adapted or otherwise used as a preconditioner to precondition a band matrix.
- a Krylov subspace linear solver or another type of solver can be used to implement preconditioning in a matrix-free manner.
- the analysis system 360 can include any systems, components, or modules that analyze, process, use, or access the simulation data generated by the simulation system 330.
- the analysis system 360 can include a real-time analysis system that displays or otherwise presents well data (e.g., to a field engineer, etc.) during an injection treatment.
- the analysis system 360 may display simulated fracture network, fluid data, or other types of information.
- the analysis system 360 can be a fracture simulation suite that simulates fracture propagation based on the simulated fluid flow data.
- the analysis system 360 can be a reservoir simulation suite that simulates fluid migration in a reservoir.
- the analysis system 360 can include other simulators or a simulation manager that simulates other aspects of a well system.
- FIG. 4 is a flow chart of an example process 400 for operating a subterranean region model.
- the example process 400 can be used for simulating a subterranean region (e.g., the subterranean region 104 as shown in FIG. 1 or another type of subterranean region).
- Some or all of the operations in the process 400 can be implemented by one or more computing system, such as, for example, the example computing system 200 in FIG. 2.
- the process 400 includes additional, fewer, or different operations, and the operations can be performed in the order shown or in a different order.
- one or more of the individual operations or subsets of the operations in the process 400 can be performed in isolation or in other contexts.
- some or all of the operations in the process 400 are executed in real time during a treatment or another type of well system activity.
- An operation can be performed in real time, for example, by performing the operation in response to receiving data (e.g., from a sensor or monitoring system) without substantial delay.
- an operation can be performed in real time by performing the operation while monitoring for additional data (e.g., from a treatment or other activities).
- Some real time operations can receive an input and produce an output during a treatment; in some instances, the output is made available to a user within a time frame that allows the user to respond to the output, for example, by modifying the treatment.
- the global system model can represent a subterranean region that is associated with a stimulation treatment or another type of the well system activity.
- the global system model can be the global system model 334 described with respect to FIG. 2, or another type of global system model.
- the subsystem models can represent distinct physical subsystems within a subterranean region.
- the subsystem models can include one or more wellbore subsystem models, fracture subsystem models, rock-block subsystem models, reservoir subsystem models, heat flow subsystem models, proppant transport subsystem models, or additional or different models.
- the global system model can also include coupling models that represent the coupling or other interactions among the subsystem models.
- the coupling models can provide boundary conditions, connection conditions or other conditions of the overall simulation system.
- each subsystem model may include respective variables and governing equations that represent physical dynamics associated with a sub-region in the subterranean region.
- the fracture, wellbore, and reservoir subsystem models can include governing flow equations and one or more fluid flow variables.
- the rock-block subsystem model can include governing equations that capture the solid-fluid interactions.
- the fracture subsystem model and wellbore subsystem model can be governed by the Navier-Stokes equations.
- the reservoir subsystem model can model fluid flow in the porous media of the reservoir based on Darcy flow governing equations.
- the rock-block subsystem model may be governed by the equations of linear elasticity to represent the structural mechanics.
- identifying the subsystem models includes identifying the governing equations (e.g., including the associated variables and coefficients) of each of the subsystem models.
- each subsystem model can have its own governing equations with its own numerical discretization, independent of the other subsystem models.
- the discretization of each subsystem model can result in a local system of discrete equations with finitely many variables.
- nonlinear systems can be linearized and solved, for example, by the Newton-Raphson method or another method.
- solving each individual model includes solving a linear system of equations.
- solving the global system model can include solving a global linear system of equations.
- the global coefficient matrix A can include, for example, sub-matrices corresponding to the subsystem models (e.g., as diagonal blocks or sub-matrices) and off-diagonal blocks corresponding to the coupling models that represent the interactions of the subsystem models.
- the matrix entries in the global coefficient matrix A can be coefficients or other values from the governing equations of the subsystem models and coupling models.
- the vector x can include variables of the subsystem models.
- the vector x can include fluid flow variables (e.g., fluid pressure, velocity, temperature, etc.), rock-block variables (e.g., location, orientation, stresses and strains, deformation, displacement of the rock block, etc.) and other types of variables.
- Direct methods attempt to solve a problem by a finite sequence of operations.
- direct methods can deliver an exact solution (e.g., by Gaussian elimination or a variant thereof).
- Iterative methods often use an initial guess to generate successive approximations to a solution.
- the solution in an iteration of the iterative methods can be obtained by modifying or otherwise updating the solution based on a solution obtained in a previous iteration.
- the iterative methods can include termination criteria and the iterative algorithms can terminate when the termination criteria are satisfied.
- the global linear system can be large in size, and iterative methods, for example, Krylov subspace method, can provide advantages in computational complexity and scalability in parallel computing.
- the efficiency of directly-applied iterative methods can depend on the condition number of the coefficient matrix A of the global linear system.
- the condition number of the global coefficient matrix A can be large due to, for example, coupling of the local coefficient matrices of the subsystem models, the size of the global system model, etc.
- Applying a preconditioner P to the linear system can help generate a well-conditioned matrix PA.
- iterative methods can be more efficient in solving the preconditioned system.
- the iterative methods can include multiple iterations.
- the global system model can be preconditioned, for example, based on some or all of the example techniques described at 420 and 430, or another technique.
- preconditioning the global system model can include multiple levels of preconditioning.
- local preconditioning is performed.
- local preconditioning can include applying a respective local preconditioner to each individual subsystem model of the global system model.
- the preconditioning operations applied to an individual model can be determined based on the physics of the subsystem represented by the individual model.
- the physics of the subsystem refers to the dominant physical processes that govern the modeled behavior of the subsystem.
- the dominant physical processes of the subsystem are typically embodied in the governing equations of the model.
- the subsystem models can be preconditioned based on their respective governing equations (including the parameters of their respective governing equations). For example, a fracture subsystem model can be preconditioned based on a governing flow equation of the fracture model; a wellbore model can be
- a reservoir model can be based on a governing fluid equation of the reservoir model
- a rock block model can be based on a governing equation of the rock block model
- discretization of the governing flow equations can result in a band matrix.
- a band matrix (also called a banded matrix) includes a diagonal band of matrix elements. In some instances, all non-zero elements of the band matrix reside within a bandwidth about the main diagonal (including the main diagonal) while all elements outside the bandwidth of the band matrix can be zero.
- a subsystem model having a banded discretization matrix with a small bandwidth may be preconditioned by solving the band matrix using direct band matrix solvers.
- a direct band matrix solver can include direct methods for solving a band matrix. For example, a direct band matrix solver may include Gaussian elimination, a variant thereof, or other techniques for solving the band matrix.
- a subsystem model having a banded discretization matrix or a small-sized matrix can be preconditioned by performing LU factorization on the band matrix.
- the LU factorization also known as LU decomposition
- Some models may have few variables, allowing fast LU factorization.
- preconditioning a band matrix via LU factorization on the band matrix can include performing a banded incomplete LU factorization of the band matrix.
- the incomplete LU factorization is a sparse approximation of the LU factorization.
- a subsystem model described by elliptic or parabolic partial differential equations may be preconditioned based on a multigrid method.
- a multigrid method includes algorithms for solving differential equations using a hierarchy of discretizations. For example, a multigrid method with an intentionally reduced tolerance can be used as an efficient preconditioner for an iterative solver. Additional or different preconditioning techniques can be applied to the subsystem models.
- preconditioning multiple subsystem models can be effectively represented, for example, by a block-diagonal
- the block- diagonal preconditioner P BD can be a block-diagonal matrix that includes local preconditioners for the respective multiple subsystem models as non-zero blocks (or sub-matrices) residing in and about the main diagonal.
- the block-diagonal preconditioner P BD neglects the off- diagonal coupling blocks of the global coefficient matrix A. However, the neglected off-diagonal blocks are typically of low dimension, relative to the size of the global matrix A.
- the preconditioner P BD is not necessarily a matrix. It can be a function or operator, for example, defined by applying local functions or operators to each subsystem model.
- two or more of the subsystem models can be grouped together and define a composite subsystem model. Local preconditioning can include preconditioning the composite subsystem model.
- multiple fracture subsystem models that represent fracture segments of the fracture network can form a composite subsystem model and a joint local preconditioner can be applied to the composite subsystem model.
- different subsystem models can be selected to form different composite subsystem models, for example, based on the coupling among the subsystem models.
- multiple composite subsystem models can have mutually exclusive subsystem models, or they may share one or more common subsystem models.
- Respective preconditioners for the multiple composite subsystem models can be determined, for example, based on underlying physics represented by the composite subsystems, the governing equations, the coefficient matrix structure of the composite subsystem models, or other factors. In some implementations, the respective preconditioners can be applied to the multiple composite subsystem models in parallel or in series.
- the local preconditioning can include a hierarchy of preconditioning.
- a hierarchical preconditioning process can be applied to a global system of equations, where the root level of hierarchy includes applying a preconditioner to each subsystem model of the global system model (e.g., in the form of a block-diagonal
- preconditioner while one or more higher levels of the hierarchy includes applying
- preconditioners to one or more composite subsystem models.
- the hierarchical preconditioning may be implemented in another order. In some instances, within each hierarchical level of the preconditioning, one or more preconditioner can be applied in parallel.
- the local preconditioning operations may include additional or different preconditioning techniques, or the preconditioning techniques may be applied in a different manner.
- preconditioning can include applying a global preconditioner to the global system model that includes the preconditioned subsystem models.
- the global preconditioning can be based on, for example, multigrid methods, deflation methods, Tikhonov iterations, or other types of techniques.
- global preconditioning can be performed based on an algebraic multigrid (AMG) method.
- AMG method can be effective for many matrices without using any knowledge of the underlying mathematical problem being solved numerically.
- AMG can be used as the global preconditioner and applied to the global coefficient matrix, since it is not limited to a particular type of equation or model. In some cases, however, AMG may not be directly applicable because it may require knowledge of entries of the matrix. When the entries of the global matrix are not readily available, AMG may be less efficient due to the computation of entries of the matrix.
- the matrix of the linear system can include one or more Jacobians; in many applications, the Jacobian is not known analytically, and the action of the Jacobian on a vector is approximated by finite differences.
- global preconditioning can be performed based on the method of deflation.
- the method of deflation includes solving a system separately in orthogonal subspaces.
- Deflation preconditioning can include constructing a subspace of the full vector space of unknown variables.
- the subspace can be referred to as the deflation subspace, which can include, for example, the span of the eigenvectors associated with the extreme eigenvalues.
- the deflation subspace can be relatively low-dimensional, so that the coefficient matrix projected onto the subspace is small enough that direct methods or LU factorization can be performed efficiently. Accordingly, the linear system can be solved quickly in the subspace.
- Deflation preconditioning can be applied to both symmetric and non- symmetric matrices.
- deflation preconditioning can be applied to the preconditioned global matrix P BD A that is typically non- symmetric. Extreme eigenvalues of the preconditioned global matrix P BD A and their
- the deflation method can be implemented without storing the matrix P BD A.
- the deflation method can be performed by performing the action of the matrix (e.g., matrix-vector product).
- Deflation preconditioning can include calculating eigenvectors associated with the extreme eigenvalues.
- efficient computation of the eigenvectors without storing the matrix P BD A can be done, for example, by the power method (or power iteration), Arnoldi method (or Arnoldi iteration), etc.
- Some implementations of these methods include, for example, the implicitly restarted Arnoldi method (IRAM) that restarts after some number of iterations.
- IRAM implicitly restarted Arnoldi method
- IRAM can be efficient in computing the eigenvectors associated with the extreme eigenvalues for the preconditioned global system.
- IRAM can be performed, for example, using the ARPACK package (the ARnoldi PACKage), a conventional numerical software library for solving large scale eigenvalue problems. Based on these methods, any number of the largest (in magnitude or in real part) eigenvalues and corresponding eigenvectors can be computed. The smallest (in magnitude or in real part) can also be computed, for example, by using shift transformations of the spectrum. In some instances, for example, when P BD A is ill-conditioned, accurate computation of the extreme eigenvalues and the associated eigenvectors may require an implementation using high precision arithmetic or other appropriate techniques. As a result, preconditioning based on the method of deflation can be efficiently implemented, for example, in a matrix-free fashion in some instances.
- ARPACK package the ARnoldi PACKage
- Tikhonov regularization is method of regularization of ill-posed problems, for example, by introducing additional information in order to solve an ill-posed problem.
- Tikhonov regularization generally aims to achieve a trade-off between solving the ill-posed problem (e.g., via fitting data) and reducing a norm of the solution.
- Tikhonov preconditioning can be a preconditioning technique adapted from Tikhonov regularization. For instance, Tikhonov preconditioning can include shifting the eigenvalues of the coefficient matrix by a regularization parameter (e.g., a constant value, or another type of numerical value), thus eliminating small eigenvalues.
- a regularization parameter e.g., a constant value, or another type of numerical value
- this can be achieved by adding to the global coefficient matrix an identity matrix scaled by the regularization parameter, which generates a shifted global coefficient matrix.
- the system of equations based on the shifted global coefficient matrix can be referred to as a shifted system.
- the shifted system can be better conditioned and thus can be solved more easily and efficiently, for example, by applying an iterative method (e.g. a Krylov method such as generalized minimal residual method (GMRES)).
- GMRES generalized minimal residual method
- an approximate solution rather than a precise solution to the shifted system can be obtained, which can further reduce the computational requirement.
- multiple regularization parameters can be used and result in multiple shifted systems.
- the regularization parameters can include constant values, values that are computed based on the global system model or other factors, or a combination of constants and other values.
- the multiple solutions to the multiple shifted systems can be extrapolated or otherwise manipulated to get a better approximation of the solution of the original problem (which corresponds to the regularization parameter being zero).
- the multiple solutions can be manipulated based on the example extrapolation techniques described with respect to FIG. 5, or in another manner. Using more regularization parameters and extrapolating may yield a more effective preconditioner, though with higher computational complexity.
- Using a Tikhonov preconditioner can have several advantages. For example, the
- Tikhonov preconditioner can be implemented by a matrix-free method, using only the computations of matrix-vector products without the need to store the coefficient matrix explicitly. Additionally, using the Tikhonov preconditioner can be time-efficient, for example, by producing a well-conditioned system that can be solved quickly (e.g., the shifted system with the shifted global coefficient matrix). Moreover, the solution does not need to be computed precisely in some instances. The solution can be approximated with a small number of iterations of some iterative linear solver. Furthermore, in some cases, the Tikhonov preconditioner does not require computation of eigenvalues and eigenvectors, nor does it require a good estimate of the extreme eigenvalues.
- the Tikhonov preconditioner can be effective even without a precise choice of the regularization parameter based on eigenvalue estimates.
- the Tikhonov preconditioner may be preferable, for example, in ill-conditioned systems for which eigenvalue computation is numerically challenging.
- the preconditioned global system model is operated.
- the preconditioned global system can be the global system preconditioned by both local preconditioner and global preconditioner.
- operating the preconditioned global system model can include solving the original global system based on the preconditioned global system model.
- the solution (including an approximated solution) to the preconditioned system can be used in a next iteration to better approximate or otherwise update the solution to original global system model.
- operating the preconditioned global system model can include repeating some or all operations of the example process 400 until the iterative method converges, or another terminating condition is reached.
- FIG. 5 is a flow chart of an example process 500 for preconditioning a subterranean model.
- the example process 500 can be used for all or part of the global or local preconditioning described in FIG. 4.
- the process 500 can be used to implement Tikhonov preconditioning.
- the example process 500 can be used in another context.
- Some or all of the operations in the process 500 can be implemented by one or more computing system, such as, for example, the example computing system 200 in FIG. 2.
- the process 500 includes additional, fewer, or different operations, and the operations can be performed in the order shown or in a different order.
- one or more of the individual operations or subsets of the operations in the process 500 can be performed in isolation or in other contexts.
- a global coefficient matrix of a global system model can be identified.
- the vector x can be a vector of variables of the global system model and the vector b can include parameters of the global system model.
- the global system model can be the global system model 334 as described with respect to FIG. 3, the example global system model described with respect to FIG. 4, or another system model.
- the global system model can include multiple preconditioned subsystem models.
- Each of the subsystem models can represent a distinct subsystem within the subterranean region and each can include a respective governing equation.
- some or all of the subsystem models can be preconditioned, for example, according to the example local preconditioning techniques described with respect to FIG. 4 or in another manner.
- the subsystem models may be preconditioned based on the respective governing equations of the subsystem model.
- one or more of the subsystem models may be preconditioned more than one time, for example, by a multi-level preconditioning process.
- the global coefficient matrix can include coefficient matrices associated with multiple subsystem models.
- the global coefficient matrix can include coefficient matrices resulting from discretization of the governing equations of the subsystem models.
- the global coefficient matrix can be a large sparse matrix that includes diagonal sub-matrices corresponding to the coefficient matrices of the subsystem models and off-diagonal sub-matrices corresponding to the coefficient matrices of the coupling models that represent the coupling or connections among the subsystem models.
- the global coefficient matrix may include other types of elements and may have another structure.
- eigenvalues of the global coefficient matrix can be shifted.
- the eigenvalues of the global coefficient matrix C can be shifted by a regularization parameter A l 5 resulting in a shifted global coefficient matrix D 1 .
- the shifted global coefficient matrix D 1 can be generated by adding a regularization term E to the global coefficient matrix C.
- the regularization term E can be, for example, ⁇ - ⁇ , the regularization parameter ⁇ - ⁇ times an identity matrix or another type of matrix.
- the shifted global coefficient matrix D 1 C + ⁇ - ⁇ .
- the regularization parameter ⁇ 1 can be chosen such that small eigenvalues of the global coefficient matrix C can be eliminated and thus the condition number of the shifted global coefficient matrix D 1 is reduced compared to the original global coefficient matrix C. As such, the shifted global system represented by the shifted global coefficient matrix D 1 can be solved more efficiently than the original global system with the original global coefficient matrix C.
- the shifted global system represented by the shifted global coefficient matrix can be solved.
- the shifted global system can be solved using a direct method, an iterative method (e.g., GMRES), or other types of techniques.
- solving the shifted global system can include obtaining an approximated solution to the shifted global system.
- the approximated solution can be obtained using only a small number of iterations of an iterative solver.
- the approximation can be used to define the preconditioned vector.
- the solution of the shifted global system can be the output vector of the preconditioner (but the solution need not be exact).
- Solving the shifted global system with a small number of iterations of an iterative solver can be equivalent to multiplication by a preconditioner.
- the solution to the shifted global system can be used to approximate or otherwise update the solution to the original global system with the global coefficient matrix C.
- the example process 500 can use multiple regularization parameters ⁇ 1; A 2 , ⁇ A fc .
- the example process 500 can further include shifting eigenvalues of the global coefficient matrix C by one or more different regularization
- an extrapolated solution can be determined by extrapolating the k solutions based on the k regularization parameters.
- the extrapolated solution can be an improved approximation to the solution of the original system, and thereby can improve the preconditioning result.
- A regularization parameter
- fj (A) CLj / (bj + A
- the multiple solutions to the shifted global systems can be extrapolated or manipulated in another manner to derive an improved approximation of the original global system.
- 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., as 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.
- 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).
- 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; for example, 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.
- 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, or 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.
- 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
- 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.
- 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).
- mass storage devices for storing data, (e.g., magnetic, magneto optical disks, or optical disks).
- a computer need not have such devices.
- a computing system can include one or more computers that operate in proximity to one another or remote from each other, and interact through a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network
- WAN wide area network
- inter-network e.g., the Internet
- network comprising a satellite link
- peer-to- peer networks e.g., ad hoc peer-to-peer networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Geophysics And Detection Of Objects (AREA)
Abstract
Description
Claims
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| BR112016012271A BR112016012271A2 (en) | 2013-12-30 | 2014-12-02 | METHOD OF OPERATION OF AN UNDERGROUND REGION MODEL, NON-TRANSIENT COMPUTER READABLE MEDIUM, AND, UNDERGROUND REGION MODELING SYSTEM |
| AU2014374318A AU2014374318B2 (en) | 2013-12-30 | 2014-12-02 | Preconditioning distinct subsystem models in a subterranean region model |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/144,129 | 2013-12-30 | ||
| US14/144,129 US20150186563A1 (en) | 2013-12-30 | 2013-12-30 | Preconditioning Distinct Subsystem Models in a Subterranean Region Model |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015102792A1 true WO2015102792A1 (en) | 2015-07-09 |
Family
ID=53482076
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2014/068111 Ceased WO2015102792A1 (en) | 2013-12-30 | 2014-12-02 | Preconditioning distinct subsystem models in a subterranean region model |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20150186563A1 (en) |
| AU (1) | AU2014374318B2 (en) |
| BR (1) | BR112016012271A2 (en) |
| WO (1) | WO2015102792A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017142538A1 (en) * | 2016-02-18 | 2017-08-24 | Halliburton Energy Services, Inc. | Method and system for distributed control of drilling operations |
| WO2017142540A1 (en) * | 2016-02-18 | 2017-08-24 | Halliburton Energy Services, Inc. | Game theoretic control architecture for drilling system automation |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10241232B2 (en) | 2014-02-03 | 2019-03-26 | Halliburton Energy Services, Inc. | Geomechanical and geophysical computational model for oil and gas stimulation and production |
| US20160202389A1 (en) * | 2015-01-12 | 2016-07-14 | Schlumberger Technology Corporation | H-matrix preconditioner |
| US10151856B1 (en) | 2017-01-24 | 2018-12-11 | Baker Hughes, A Ge Company, Llc | Simulating a subterranean region using a finite element mesh and a boundary element mesh |
| CN111444612B (en) * | 2020-03-26 | 2021-04-16 | 北京科技大学 | A method for simulating flow field morphology of multi-stage fracturing in horizontal wells in tight oil reservoirs |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080068020A1 (en) * | 2004-05-06 | 2008-03-20 | Michael Tompkins | Electromagnetic surveying for hydrocarbon reservoirs |
| US20080234988A1 (en) * | 2007-02-25 | 2008-09-25 | Chevron U.S.A., Inc. | Upscaling multiple geological models for flow simulation |
| US20130204588A1 (en) * | 2012-02-06 | 2013-08-08 | Halliburton Energy Services, Inc. | Modeling fracturing fluid leak-off |
| US20130211800A1 (en) * | 2012-02-14 | 2013-08-15 | Saudi Arabian Oil Company | Giga-cell linear solver method and apparatus for massive parallel reservoir simulation |
| US20130275101A1 (en) * | 2007-08-24 | 2013-10-17 | Sheng-Yuan Hsu | Method For Modeling Deformation In Subsurface Strata |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6052520A (en) * | 1998-02-10 | 2000-04-18 | Exxon Production Research Company | Process for predicting behavior of a subterranean formation |
| US9207344B2 (en) * | 2008-06-05 | 2015-12-08 | Westerngeco L.L.C. | Combining geomechanical velocity modeling and tomographic update for velocity model building |
| US8861306B2 (en) * | 2008-07-05 | 2014-10-14 | Westerngeco L.L.C. | Interpolating seismic data |
| US8255195B2 (en) * | 2008-09-18 | 2012-08-28 | Geoscape Analytics, Inc | N-phasic element method for calculating a fully coupled response of multiphase compositional fluid flow and a system for uncertainty estimation |
| WO2010039325A1 (en) * | 2008-09-30 | 2010-04-08 | Exxonmobil Upstream Reseach Company | Method for solving reservoir simulation matrix equation using parallel multi-level incomplete factorizations |
| US8374836B2 (en) * | 2008-11-12 | 2013-02-12 | Geoscape Analytics, Inc. | Methods and systems for constructing and using a subterranean geomechanics model spanning local to zonal scale in complex geological environments |
| CA2785569A1 (en) * | 2010-02-02 | 2011-08-11 | Hector Klie | Multilevel percolation aggregation solver for petroleum reservoir simulations |
| US9540911B2 (en) * | 2010-06-24 | 2017-01-10 | Schlumberger Technology Corporation | Control of multiple tubing string well systems |
| CA2801387A1 (en) * | 2010-07-26 | 2012-02-02 | Exxonmobil Upstream Research Company | Method and system for parallel multilevel simulation |
| US8798977B2 (en) * | 2010-12-16 | 2014-08-05 | Chevron U.S.A. Inc. | System and method for simulating fluid flow in a fractured reservoir |
| CA2824783C (en) * | 2011-02-24 | 2023-04-25 | Chevron U.S.A. Inc. | System and method for performing reservoir simulation using preconditioning |
| CA2743611C (en) * | 2011-06-15 | 2017-03-14 | Engineering Seismology Group Canada Inc. | Methods and systems for monitoring and modeling hydraulic fracturing of a reservoir field |
| WO2013180709A1 (en) * | 2012-05-30 | 2013-12-05 | Landmark Graphics Corporation | Oil or gas production using computer simulation of oil or gas fields and production facilities |
| US20150186562A1 (en) * | 2013-12-30 | 2015-07-02 | Halliburton Energy Services, Inc | Preconditioning a Global Model of a Subterranean Region |
-
2013
- 2013-12-30 US US14/144,129 patent/US20150186563A1/en not_active Abandoned
-
2014
- 2014-12-02 BR BR112016012271A patent/BR112016012271A2/en not_active IP Right Cessation
- 2014-12-02 WO PCT/US2014/068111 patent/WO2015102792A1/en not_active Ceased
- 2014-12-02 AU AU2014374318A patent/AU2014374318B2/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080068020A1 (en) * | 2004-05-06 | 2008-03-20 | Michael Tompkins | Electromagnetic surveying for hydrocarbon reservoirs |
| US20080234988A1 (en) * | 2007-02-25 | 2008-09-25 | Chevron U.S.A., Inc. | Upscaling multiple geological models for flow simulation |
| US20130275101A1 (en) * | 2007-08-24 | 2013-10-17 | Sheng-Yuan Hsu | Method For Modeling Deformation In Subsurface Strata |
| US20130204588A1 (en) * | 2012-02-06 | 2013-08-08 | Halliburton Energy Services, Inc. | Modeling fracturing fluid leak-off |
| US20130211800A1 (en) * | 2012-02-14 | 2013-08-15 | Saudi Arabian Oil Company | Giga-cell linear solver method and apparatus for massive parallel reservoir simulation |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017142538A1 (en) * | 2016-02-18 | 2017-08-24 | Halliburton Energy Services, Inc. | Method and system for distributed control of drilling operations |
| WO2017142540A1 (en) * | 2016-02-18 | 2017-08-24 | Halliburton Energy Services, Inc. | Game theoretic control architecture for drilling system automation |
| US10669834B2 (en) | 2016-02-18 | 2020-06-02 | Halliburton Energy Services, Inc. | Game theoretic control architecture for drilling system automation |
| US10787896B2 (en) | 2016-02-18 | 2020-09-29 | Halliburton Energy Services, Inc. | Method and system for distributed control of drilling operations |
Also Published As
| Publication number | Publication date |
|---|---|
| BR112016012271A2 (en) | 2017-08-08 |
| US20150186563A1 (en) | 2015-07-02 |
| AU2014374318B2 (en) | 2017-05-25 |
| AU2014374318A1 (en) | 2016-06-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2014374317B2 (en) | Preconditioning a global model of a subterranean region | |
| AU2015210609B2 (en) | Geomechanical and geophysical computational model for oil and gas stimulation and production | |
| US9284820B2 (en) | Multi-thread band matrix solver for well system fluid flow modeling | |
| US9576084B2 (en) | Generating a smooth grid for simulating fluid flow in a well system environment | |
| US10954757B2 (en) | Domain-adaptive hydraulic fracture simulators and methods | |
| US10001000B2 (en) | Simulating well system fluid flow based on a pressure drop boundary condition | |
| US10366185B2 (en) | Generating a flow model grid based on truncation error threshold values | |
| US9798042B2 (en) | Simulating an injection treatment of a subterranean zone | |
| AU2014374318B2 (en) | Preconditioning distinct subsystem models in a subterranean region model | |
| US9267369B2 (en) | Modeling intersecting flow paths in a well system environment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14876440 Country of ref document: EP Kind code of ref document: A1 |
|
| DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
| ENP | Entry into the national phase |
Ref document number: 2014374318 Country of ref document: AU Date of ref document: 20141202 Kind code of ref document: A |
|
| REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112016012271 Country of ref document: BR |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14876440 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 112016012271 Country of ref document: BR Kind code of ref document: A2 Effective date: 20160530 |