Not applicable
Not applicable.
The present invention generally relates to systems and methods for dynamically visualizing fluid velocity in subsurface reservoirs. More particularly, the invention relates to dynamically visualizing fluid velocity in subsurface reservoirs by displaying a particle at different locations on a streamline that represents a fluid path and a fluid velocity in the subsurface reservoir.
In the field of oil and gas production, a subsurface hydrocarbon reservoir is exploited when one or more well bores are drilled into the reservoir and liquid hydrocarbons (e.g. oil and gas) are extracted from the reservoir through the well bores. In this event, the well bore is generally referred to as a production well or a production source. A fluid, typically water, may be introduced into the reservoir at one or more points away from the production well to displace liquid or gaseous hydrocarbons, which causes them to be expelled from the reservoir through the production well. The point at which water is introduced into the reservoir is generally referred to as an injection well or injection source.
The expulsion of liquid and/or gaseous hydrocarbons at the production well and the injection of water at the injection well establish a fluid flow pattern in the reservoir, which may be influenced by gravity. The fluid flow within the reservoir may be modeled as a function of time in order to predict how the production of liquid and/or gaseous hydrocarbons from a particular production well will vary over the lifetime of the reservoir.
A mathematical model of the fluid flow in a given reservoir may be constructed by using techniques well known in the art. These techniques, however, are not exact and may be implemented using other numerical techniques to arrive at an estimated solution such as, for example, streamline techniques and finite difference techniques.
Conventional streamline techniques are generally used to compute streamlines, also referred to as a streamline model, that represent the fluid path in a subsurface reservoir between one injection source and a production source and the fluid velocity for each respective streamline. In order to visualize the fluid velocity for a given streamline in a subsurface reservoir, streamlines have been color coded based on predetermined time steps. The color coded portion of the streamline therefore, is updated to reflect the fluid velocity. For example, a portion of a streamline may be colored red to illustrate where a particle representing the fluid velocity for the streamline has already traveled and another portion of the streamline may be colored blue to illustrate where the particle has yet to travel.
Other, more advanced, techniques have been developed to visualize fluid flow in subsurface reservoirs. One technique displays streamlines by assigning a property of each streamline to a visual animation such as, for example, fluid velocity that can be assigned color and size codes to show phase components, rate, volume, statistics and many other properties. The fluid velocity along the streamline therefore, may be displayed as marbles, for example, rolling along the streamline at speeds equal to the velocity of the different types of fluid. The marbles, or other objects representing the fluid velocity for the streamline, can be released at regular time intervals and may move along the streamline at a velocity representing the actual fluid velocity or some other assigned property. These techniques, however, can obstruct portions of the streamline in a display and/or may be limited in complex, compact streamline models where the objects representing the fluid velocity must be displayed adjacent to a respective streamline. In this event, the desired visualization of the fluid velocity is limited to the extent the objects cannot be displayed on a respective streamline and may only be displayed outside the complex, compact streamline model.
The present invention is described below with references to the accompanying drawings in which like elements are referenced with like reference numerals, and in which:
The subject matter of the present invention is described with specificity, however, the description itself is not intended to limit the scope of the invention. The subject matter thus, might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described herein, in conjunction with other technologies. Moreover, although the term “step” may be used herein to describe different elements of methods employed, the term should not be interpreted as implying any particular order among or between various steps herein disclosed unless otherwise expressly limited by the description to a particular order. While the following description refers to the oil and gas industry, the systems and methods of the present invention are not limited thereto and may also be applied in other industries to achieve similar results.
The present invention therefore, overcomes one or more deficiencies in the prior art by providing systems and methods for dynamically visualizing fluid velocity in subsurface reservoirs by displaying a particle at different locations on a streamline that represents a fluid path and a fluid velocity in the subsurface reservoir.
In one embodiment, the present invention includes a method for dynamically visualizing fluid velocity in a subsurface reservoir, which comprises: a) displaying a plurality of streamlines in a streamline model, each streamline representing a fluid path in the subsurface reservoir; b) displaying a particle on each streamline at a simulation start time based on a fluid velocity for a respective streamline; c) removing the particle displayed on each streamline at the simulation start time or at another simulation time; d) displaying another particle on each streamline at another simulation time based on the fluid velocity for a respective streamline, wherein each another simulation time is the sum of a time step, multiplied by a number of times step d) is performed, and the simulation start time; and e) repeating steps c) and d) for each another simulation time that is less than a simulation end time using a computer processor.
In another embodiment, the present invention includes a non-transitory program carrier device tangibly carrying computer-executable instructions for dynamically visualizing fluid velocity in a subsurface reservoir, the instructions being executable to implement: a) displaying a plurality of streamlines in a streamline model, each streamline representing a fluid path in the subsurface reservoir; b) displaying a particle on each streamline at a simulation start time based on a fluid velocity for a respective streamline; c) removing the particle displayed on each streamline at the simulation start time or at another simulation time; d) displaying another particle on each streamline at another simulation time based on the fluid velocity for a respective streamline, wherein each another simulation time is the sum of a time step, multiplied by a number of times step d) is performed, and the simulation start time; and e) repeating steps c) and d) for each another simulation time that is less than a simulation end time.
Referring now to
In step 102, streamlines are computed for a subsurface reservoir model using simulation techniques well known in the art. The streamlines represent a streamline model between one or more injection sources and one or more production sources. The fluid velocity for each streamline is represented by a particle whose coordinates are stored in space at predetermined intervals of time between two predetermined times represented by the time when the simulation starts (T0) and the time when the simulation ends (T1). The fluid path of each particle is represented by a respective streamline.
In step 104, the streamlines are displayed using the client interface and/or the video interface described further in the reference to
In step 106, dynamic particle visualization is performed on the displayed streamlines. One embodiment of a method for implementing this step is further described in reference to
In step 108, the method 100 determines whether to stop performing dynamic particle visualization based on input from the client interface and/or the video interface described further in reference to
Referring now to
In step 201, a time step DT is initialized. The time step DT may be initialized to a predetermined time step DT using the client interface and/or the video interface described further in reference to
In step 202, time T is initialized to T0, which represents the simulation start time.
In step 204, the method 200 determines if T is less than T1. If T is not less than T1, then the method 200 returns to step 108. If T is less than T1, then the method 200 proceeds to step 206.
In step 206, List(Streamlines) is created for storing the streamlines computed in steps 102 of
In step 208, the method 200 determines if List(Streamlines) is empty. If List(Streamlines) is not empty, then the method 200 proceeds to step 212. If List(Streamlines) is empty, then the method 200 proceeds to step 210.
In step 210, T is incremented by DT and the method 200 returns to step 204. T may be incremented by adding T and DT.
In step 212, the first streamline in List(Streamlines) is identified and named streamline S.
In step 214, the method 200 determines if there is particle on streamline S displayed. If there is not a particle on streamline S displayed, then the method 200 proceeds to step 218. If there is particle on streamline S displayed, then the method 200 proceeds to step 216.
In step 216, the particle displayed on streamline S is removed from the display.
In step 218, a particle representing fluid velocity is displayed on streamline S at time T based on the fluid velocity for streamline S. Because the location of the particle displayed on streamline S at time T is based on the fluid velocity for streamline S, particles displayed on other streamlines at time T may be displayed at different locations if the fluid velocity for each streamline is different than the fluid velocity for streamline S. The particle is no larger than a pixel needed to display the streamline S and may be displayed as a white pixel, resembling light on the streamline S, or any other color differentiating the particle from the other pixels needed to display the streamline S.
In step 220, streamline S is removed from List(Streamlines) and the method 200 returns to step 208.
While the method 200 is performed on a streamline by streamline basis, the results of the method 200 may be displayed for all streamlines in the List(Streamlines) at the same time i) after each List(Streamlines) is emptied using cached results or ii) as each List(Streamlines) is emptied using commercially available graphics accelerators. Alternatively, the method 200 may be modified to perform the dynamic particle visualization on the displayed streamlines in each List(Streamlines) at the same time.
Referring now to
In
In
In
The present invention therefore, improves visualization of fluid velocity for each streamline without the need of a color chart or a spreadsheet because fluid velocity is represented by the display of a particle at different locations at different respective times on a streamline. Moreover, the displayed particles on each respective streamline do not obstruct the display of the streamlines—particularly in a complex, compact streamline model.
The present invention may be implemented through a computer-executable program of instructions, such as program modules, generally referred to software applications or application programs executed by a computer. The software may include, for example, routines, programs, objects, components and data structures that perform particular tasks or implement particular abstract data types. The software forms an interface to allow a computer to react according to a source of input. DecisionSpace® Desktop, which is a commercial software application marketed by Landmark Graphics Corporation, may be used as an interface application to implement the present invention. The software may also cooperate with other code segments to initiate a variety of tasks in response to data received in conjunction with the source of the received data. Other code segments may provide optimization components including, but not limited to, neural networks, earth modeling, history matching, optimization, visualization, data management, reservoir simulation and economics. The software may be stored and/or carried on any variety of memory such as CD-ROM, magnetic disk, bubble memory and semiconductor memory (e.g., various types of RAM or ROM). Furthermore, the software and its results may be transmitted over a variety of carrier media such as optical fiber, metallic wire, and/or through any of a variety of networks, such as the Internet.
Moreover, those skilled in the art will appreciate that the invention may be practiced with a variety of computer-system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable-consumer electronics, minicomputers, mainframe computers, and the like. Any number of computer-systems and computer networks are acceptable for use with the present invention. The invention may be practiced in distributed-computing environments where tasks are performed by remote-processing devices that are linked through a communications network. In a distributed-computing environment, program modules may be located in both local and remote computer-storage media including memory storage devices. The present invention may therefore, be implemented in connection with various hardware, software or a combination thereof, in a computer system or other processing system.
Referring now to
The memory primarily stores the application programs, which may also be described as program modules containing computer-executable instructions, executed by the computing unit for implementing the present invention described herein and illustrated in
Although the computing unit is shown as having a generalized memory, the computing unit typically includes a variety of computer readable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. The computing system memory may include computer storage media in the form of volatile and/or nonvolatile memory such as a read only memory (ROM) and random access memory (RAM). A basic input/output system (BIOS), containing the basic routines that help to transfer information between elements within the computing unit, such as during start-up, is typically stored in ROM. The RAM typically contains data and/or program modules that are immediately accessible to, and/or presently being operated on, the processing unit. By way of example, and not limitation, the computing unit includes an operating system, application programs, other program modules, and program data.
The components shown in the memory may also be included in other removable/nonremovable, volatile/nonvolatile computer storage media or they may be implemented in the computing unit through an application program interface (“API”) or cloud computing, which may reside on a separate computing unit connected through a computer system or network. For example only, a hard disk drive may read from or write to nonremovable, nonvolatile magnetic media, a magnetic disk drive may read from or write to a removable, nonvolatile magnetic disk, and an optical disk drive may read from or write to a removable, nonvolatile optical disk such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment may include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The drives and their associated computer storage media discussed above provide storage of computer readable instructions, data structures, program modules and other data for the computing unit.
A client may enter commands and information into the computing unit through the client interface, which may be input devices such as a keyboard and pointing device, commonly referred to as a mouse, trackball or touch pad. Input devices may include a microphone, joystick, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit through the client interface that is coupled to a system bus, but may be connected by other interface and bus structures, such as a parallel port or a universal serial bus (USB).
A monitor or other type of display device may be connected to the system bus via an interface, such as a video interface. A graphical user interface (“GUI”) may also be used with the video interface to receive instructions from the client interface and transmit instructions to the processing unit. In addition to the monitor, computers may also include other peripheral output devices such as speakers and printer, which may be connected through an output peripheral interface.
Although many other internal components of the computing unit are not shown, those of ordinary skill in the art will appreciate that such components and their interconnection are well-known.
While the present invention has been described in connection with presently preferred embodiments, it will be understood by those skilled in the art that it is not intended to limit the invention to those embodiments. It is therefore, contemplated that various alternative embodiments and modifications may be made to the disclosed embodiments without departing from the spirit and scope of the invention defined by the appended claims and equivalents thereof.