EP2614460B1 - Machine, produit programme d'ordinateur et procédé pour générer des grilles non structurées et effectuer des simulations parallèles de réservoir - Google Patents

Machine, produit programme d'ordinateur et procédé pour générer des grilles non structurées et effectuer des simulations parallèles de réservoir Download PDF

Info

Publication number
EP2614460B1
EP2614460B1 EP11767321.0A EP11767321A EP2614460B1 EP 2614460 B1 EP2614460 B1 EP 2614460B1 EP 11767321 A EP11767321 A EP 11767321A EP 2614460 B1 EP2614460 B1 EP 2614460B1
Authority
EP
European Patent Office
Prior art keywords
sub
cells
domain
grid
application server
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.)
Not-in-force
Application number
EP11767321.0A
Other languages
German (de)
English (en)
Other versions
EP2614460A2 (fr
Inventor
Larry S.K. Fung
Mokhle M. Mezghani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Saudi Arabian Oil Co
Original Assignee
Saudi Arabian Oil Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US12/876,727 external-priority patent/US8386227B2/en
Priority claimed from US12/955,504 external-priority patent/US8433551B2/en
Application filed by Saudi Arabian Oil Co filed Critical Saudi Arabian Oil Co
Priority to EP14175672.6A priority Critical patent/EP2811112B1/fr
Publication of EP2614460A2 publication Critical patent/EP2614460A2/fr
Application granted granted Critical
Publication of EP2614460B1 publication Critical patent/EP2614460B1/fr
Not-in-force legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E21EARTH DRILLING; MINING
    • E21BEARTH DRILLING, e.g. DEEP DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
    • E21B49/00Testing the nature of borehole walls; Formation testing; Methods or apparatus for obtaining samples of soil or well fluids, specially adapted to earth drilling or wells

Definitions

  • the present invention relates to oil and gas reservoir simulation and more particularly related to a machine, computer program product and method to enable scalable parallel processing of oil and gas reservoirs for a variety of simulation model sizes.
  • a subterranean geologic body or formation contains multi-phase, multi-component fluids and accordingly a petroleum reservoir may contain oil, natural gas, water and several constituent compounds that may be modeled to predict the fluid flow from a reservoir, which is also known as reservoir simulation. Reservoir simulation models may be run before or after a well is drilled to determine production rate, etc. for the various methods.
  • Parallel computing as performed by the POWERSTM program, divides the numerical grid into a plurality of domains, with each domain consisting of a plurality of grid cells.
  • the numerical grid is a structured grid, meaning each grid cell can be described the same, i.e., each inner vertex is incident to a fixed number of cells and each cell is defined by a fixed number of faces and edges.
  • Structured grids may use Cartesian coordinate (I, J, K), or some other similar mapping method to locate grid cells for data processing.
  • rock properties described using geologic models (porosity, permeability, etc.), as well as the geometry of the rock formation and data related to the well bore, are read into each computer.
  • FIG. 1 shows a prior art, two-dimensional structured grid of a reservoir with a multi-lateral well disposed therein. As can be seen, each grid cell is uniform, regardless of the geological feature or proximity of the grid cell to the well.
  • reservoirs are of a sedimentary origin and have multiple layers that have thicknesses and depth variations throughout, which do not neatly follow the pattern of a structured grid. For example, a layer can disappear locally due to lack of deposition or subsequent erosion, which is known as a pinch-out. Also, uplifting (the raising of the earth's crust) and subsidence (the lowering of the earth's crust) over geologic time can lead to faulting and fracturing of the layers.
  • complex wells may be drilled into the reservoirs to extract fluids from them or to inject fluids into them for pressure maintenance or enhance oil-recovery operations, i.e., these wells may be multibranched.
  • a structured grid does not produce accurate flow models in these circumstances. Better, unstructured grids, built to represent the geologic layers and well, would represent faults, fractures, pinch-outs and well geometry, are required for accuracy.
  • unstructured grids oil or gas reservoirs are subdivided into non-uniform elementary finite-volumes, i.e., grid cells or grid blocks. These grid cells can have variable numbers of faces and edges that are positioned to honor physical boundaries of geological structures and well geometry embedded within the reservoir. Accordingly, these maps may be very complex. Examples of unstructured gridding methods includes Voronoi diagrams, i.e., a grid where each cell has faces and edges that are closer to one Voronoi site or point than any other Voronoi site or point. FIG. 2 is an example of a two dimensional Voronoi grid.
  • simulating reservoirs with multi-lateral wells requires more data input and uses more complex algorithms, and simulation models for these types of production methods can be very cumbersome - even using the POWERS TM system.
  • the computational complexity of these equations is further complicated by the geological model size which is typically in the tens of millions to hundreds of millions of grid cells. Since finding a solution to several million to a few billion nonlinear partial differential equations with multiphase discontinuities is computationally expensive, reservoir simulation models are usually built at a coarser scale than the geologic model via a process known as upscaling, i.e., the averaging of rock properties for a plurality of grid cells. While computationally more efficient, upscaling renders the simulation model inaccurate. It is very desirable to develop simulation system that can directly use the original geologic model without upscaling and can honor complex well geometries and geology at the same time.
  • the machine, methods, and program products in this invention constitute the enabling technology to do scalable parallel reservoir simulation of a desired model size (from small models to over one-billion-cell models) using both unstructured grids for complex reservoirs and multi-lateral wells, and structured grids at seismic-scale geologic model without upscaling.
  • various embodiments of the present invention advantageously provide a machine, program product, and method for facilitating parallel reservoir simulation for a plurality of grid types and simulation types, and which does not require the use of a global hash table to locate grid cells for communication between computing nodes of a supercomputer, described herein as application servers.
  • a machine defining a plurality of application servers with a plurality of executable codes running on each application server that simulates at least one production characteristic for a plurality of oil or gas wells defined by a grid of a reservoir
  • the grid is comprised of a plurality of cells with boundaries that are defined by geologic characteristics, complex well geometries, and user-specified cell sizes of the reservoir.
  • the application server has a processor and a memory, the memory has computer readable instructions stored thereon and operable on the processor.
  • each application server collectively causes the application server to perform a process of dividing the grid, whose cells has been indexed previously and stored consecutively on computer disk, into a plurality of sub-domains, each containing optimally nearly an equal number of cells for processing based on the user specified number of application servers to be used, and a process of assigning each application server ownership of a sub-domain among the plurality of sub-domains.
  • the computer readable instructions can comprise creating the plurality of cells from geologic characteristics and well geometries of the subsurface, the plurality of cells having faces that are formed equidistant to each of a plurality of points corresponding to the geologic characteristics and well geometries, discounting any grid cells that are not active, and dividing the remaining cells into a plurality of sub-domains, and assigning each one of the cells an original index; and at least one separate application server having a processor and a memory with computer readable instructions stored thereon.
  • At least one application server can be assigned at least one sub-domain and including a computer program product, operable on the memory, for performing a process of re-ordering a local cell identification reference for each of the plurality of cells using characteristics of the cell and location within at least one sub-domain and a process of simulating at least one production characteristic of the reservoir.
  • Such computer readable instructions can comprise: creating an initial local cell identification reference for each of the plurality of cells in the sub-domain, each local cell identification reference being mapped to original index for each of the plurality of cells, generating transmissibility characteristics between each of the plurality of cells in the sub-domain using grid data, well data and permeability data read into the memory of the separate application server using the initial local cell identification reference, determining at least one other sub-domain adjacent to the sub-domain, and which of the plurality of grid cells share at least one face with grid cells of the at least one other sub-domain, re-indexing each of the plurality of grid cells according to whether the grid cell shares at least one face with grid cells of the at least one other sub-domain, re-indexing each of the plurality of grid cells according to the transmissibility of each of the plurality of grid cells, and transmitting simulation data between the application servers for the grid cells sharing at least one face with the at least one other sub-domain adjacent to the sub-domain with the one other sub-domain.
  • a computer program product is also described.
  • the exemplary computer program product is operable on a cluster of machines wherein each machine defining a computer and stored in a memory of the computer, the computer program product can perform a collective process of dividing a grid defining a reservoir into a plurality of sub-domains and a plurality of cells, a process of re-ordering a local cell identification reference for each of the plurality of cells using characteristics of the cell and location within the at least one sub-domain and a process of simulating at least one production characteristic of the reservoir.
  • the computer program product can perform the steps of: creating the plurality of cells from geologic characteristics and well geometries of the subsurface, the plurality of cells having faces that are formed equidistant to each of a plurality of points corresponding to the geologic characteristics and well geometries; discounting any grid cells that are not active, and dividing the remaining cells into a plurality of sub-domains; assigning each one of the cells an original index; creating an initial local cell identification reference for each of the plurality of cells in the sub-domain, each local cell identification reference being mapped to original index for each of the plurality of cells; generating transmissibility characteristics between each of the plurality of cells in the sub-domain using grid data, well data and permeability data read into the memory of the separate application server using the initial local cell identification reference; determining at least one other sub-domain adjacent to the sub-domain, and which of the plurality of grid cells share at least one face with grid cells of the at least one other sub-domain; re-indexing each of the plurality of grid cells according to
  • a computer-implemented method for performing a process of dividing a grid defining a reservoir into a plurality of sub-domains for processing, a process of re-ordering a local cell identification reference for each of the plurality of cells using characteristics of the cell and location within the at least one sub-domain and a process of simulating at least one production characteristic of the reservoir according to an exemplary embodiment of the invention is also described.
  • the computer-implemented method can perform the steps of: creating the plurality of cells from geologic characteristics and well geometries of the subsurface, the plurality of cells having faces that are formed equidistant to each of a plurality of points corresponding to the geologic characteristics and well geometries; discounting any grid cells that are not active, and dividing the remaining cells into a plurality of sub-domains; assigning each one of the cells an original index; creating an initial local cell identification reference for each of the plurality of cells in the sub-domain, each local cell identification reference being mapped to original index for each of the plurality of cells; generating transmissibility characteristics between each of the plurality of cells in the sub-domain using grid data, well data and permeability data read into the memory of the separate application server using the initial local cell identification reference; determining at least one other sub-domain adjacent to the sub-domain, and which of the plurality of grid cells share at least one face with grid cells of the at least one other sub-domain; re-indexing each of the plurality of grid
  • embodiments of the machine, computer program product and methods allow for scalable parallel reservoir simulations using complex geological, well and production characteristics and over one-billion grid cells.
  • FIGS. 3A and 3B describe an exemplary networked group of computers defining an embodiment of the machine of the instant invention.
  • inventive machines, program products and methods of the invention can be implemented on a wide variety of computer hardware from a single PC workstation to a massively parallel high performance supercomputer illustrated in FIGS 3B and 4B , involving several thousands of processing cores on thousands of computer nodes.
  • FIGS. 3A and 3B An exemplary inventive machine is described in detail with reference to FIGS. 3A and 3B .
  • the exemplary machine consists of a pre-processing server 302 for generating and managing the reservoir grids and directing grid data into storage; a plurality of application servers 304 for receiving grid, well-production and completion data and processing reservoir simulations; file server 306 for the management and storage of simulation data, reservoir grids, geological data, well-production data and well completion data in files or databases in the memory; post-processing server 308 for processing completed simulation data, workstations 310 for viewing simulations and well performance data generated by application servers 304 and computer network 316 for connecting the pre-processing server 302, application servers 304, file server 306 and post-processing server 308 to workstations 310.
  • At least one file server 306 may be employed by the machine to manage well production and completion data, grid data, and simulation data and to allow the pre-processing server 302, post processing server 308 and plurality of application servers 304 to upload data to and download data from the file server 306.
  • the file server 306 may include databases such as well completion database 314, well trajectory survey database 316, geological model database 318, and user gridding input database 320, each providing data to pre-processing server 302; databases or files storing grid geometry, grid geological properties, grid well perforation, model data, well history generated by pre-processing server 302 and input into the application servers 304; databases or files storing output maps, well output, and performance calculations generated by application server 304 and input into the post-processing server 308; and databases or files storing 3D visualization data, well plot analyses, and history match analyses output from post-processing server 308.
  • databases such as well completion database 314, well trajectory survey database 316, geological model database 318, and user gridding input database 320, each providing data to pre-processing server 302; databases or files storing grid geometry, grid geological properties, grid well perforation, model data, well history generated by pre-processing server 302 and input into the application servers 304; databases or files storing output maps, well output, and performance
  • File server 306 may be network attached storage (NAS), storage area networks (SAN), or direct access storage (DAS), or any combination thereof, comprising, e.g., multiple hard disk drives. File server 306 may also allow various user workstations 310 to access and display data stored thereon. Accordingly, as is known in the art, file server 308 may have stored thereon database management system, e.g. a set of software programs that controls the organization, storage, management, and retrieval of data in the databases, such as 314/316/318/320 as is know in the art.
  • database management system e.g. a set of software programs that controls the organization, storage, management, and retrieval of data in the databases, such as 314/316/318/320 as is know in the art.
  • Databases 314/336/318/320 and any other databases or files stored in file server 306, may be separate databases as shown, or the same database, and well completion data, e.g., well production, completion and injection data; geological data e.g., fluid dynamics, rock porosity, etc; and simulation data, e.g., completed or partially complete grids or simulations, can be stored in a plurality of databases; tables, or fields in separate portions of the file server memory.
  • file server 306 provides the pre-processing server 302, each of the application servers 304, and the workstations 310 access to the databases through, e.g., database management software or other application.
  • a database server may be used to store the databases instead of or in addition to file server 306, and such a configuration is within the scope of this disclosure.
  • file server 306 may be configured so that the organization of data files that store simulation data and the output snap-shots of dynamic simulation results are independent of the number application servers 304 used to run a simulation model.
  • the inventive method may generate an indexing system to do parallel scattered I/O where each application server 304 reads data and writes results for its portion of the simulation to the exact positions, i.e., data files, in the file server.
  • the data and results stored in data files are always the same.
  • the well and reservoir data may be stored in databases, but all or a portion of grid data output from gridder 315 can be stored in indexed files and are organized in global cell indexing which is invariant of the number of application servers 304 used to run the model, e.g., compressed sparse row (CSR) format.
  • CSR compressed sparse row
  • CSR format stores data which indicates the spatial connectivities of grid cells in the model. Therefore, in such embodiments, some databases and files represented in FIG 3B could use CSR format for the datasets.
  • dataset array parameters may be defined using CSR protocols
  • Datasets created by gridder 315 are stored in file server 306 and can be defined by a dataset type, a data rank, dataset dimensions, and units, which can then be read by the application servers 304 to perform the simulation.
  • the file server 306 can store enough datasets to define, completely and uniquely, the reservoir geometry utilizing a 3D unstructured grid of the instant invention.
  • workstations 310 are connected to the machine 300 using, e.g., communication network 315.
  • Workstations 310 may be any personal computer (PC) as is known in the art and may run UNIX, Linux, Windows®, or some other operating system compatible with the networked systems discussed herein, Moreover, workstations 310 may access computer program products stored on pre and post processing servers to input simulation or processing parameters. For example, simulation engineers positioned at workstations 310 could manually select fluid parameters, production characteristics, i.e., run a simulation with various well types such as multi-lateral wells with different numbers and sizes of laterals, reservoir or simulation size, rock features, etc., through software applications stored or accessible on the workstations.
  • Data entered from the workstations can be stored on the file server 306 memory, pre-processing server 302 memory, or post-processing server 308 memory for access during the reservoir simulation. Reservoir engineers may also access simulation data, partial or complete, simulation characteristics, run time, processor speed, compute processes run, etc., on application servers 304 as may be needed to monitor the simulation. As one skilled in the art will appreciate, it is possible for workstations 310 to interface with a separate web or network server for access to the simulation through the communications network, and such a configuration may be preferred.
  • Communications network 315 connects the workstations 310, the machine 300, and various networked components together.
  • the computer network 315 can connect all of the system components using a local area network (“LAN”) or wide area network (“WAN”), or a combination thereof.
  • pre-processing server 302, file server 306, application server 304, and post-processing server 308 may be privately networked to allow for faster communication and better data synchronization between computing nodes, or pre-processing server 302, application servers 304, file server 306, and post-processing server 308, may be networked using a LAN, with a web server (not shown) interfacing with the workstations 310 using a WAN. Accordingly, though not all such configurations are depicted, all are within the scope of the disclosure.
  • At least one pre-processing server 302 and application server 304 perform the functions of the inventive method of the invention, and are used to perform reservoir simulations.
  • pre-processing server 302 although represented as one server, may be a plurality of servers, e.g., may be configured as separate application servers and a web server, creates the unstructured 3 dimensional reservoir grid and assigns the distributed computers a portion of the grid for processing, as will be discussed herein below.
  • Application servers 304 perform the simulation processing functions for each of the grid cells loaded into the server for processing.
  • each of the application servers 304 may be workstations that can be used by individual reservoir engineers to access data.
  • each application server performs a distributed read of the well history and grid data for processing.
  • each application server accessing the file server 302 only reads data regarding one process node.
  • the file server 306 is connected to a network of application servers 304.
  • the application servers 304 are depicted separately networked on TCP/IP network that allows for rapid communication between the compute nodes- though depending upon the cluster architecture, both the application servers 304 and pre-processing server 302 may be separately networked.
  • the application servers 304 may be configured as a grid cluster, with each application server having separate software loaded thereon reading compute data from the file server 306 to perform data processing.
  • the application servers 304 may be configured as a compute cluster, or Beowulf cluster, where the pre-processing server 302 or similar server distributes files to the application server 304 using communication libraries that allow for data exchange.
  • system architecture may support a variety of operating systems and communications software for each of the pre-processing server 302 and application servers 304.
  • operating systems For example, Unix, Linux, Microsoft Compute Cluster, etc., are examples of operating systems that may be used to form a super computer like the one contemplated herein, and Message Passing Interface (MPI interfacing) or Parallel Virtual Machine (PVM) software libraries may be used to provide communication between the servers herein, which is discussed in detail herein below.
  • MPI interfacing Message Passing Interface
  • PVM Parallel Virtual Machine
  • the pre-processing server may access the file server e.g., data from well completion database 314, well trajectory survey database 316, geological model database 318, and user gridding input database 320.
  • the pre-processing server 302 may perform preliminary calculations and grid generation using unstructured grid generation software.
  • gridder 315 pre-processes data from the database to grid the reservoir and partitions the grid for processing using, e.g., a METIS software application for partitioning grids produced by George Karypis at the University of Minnesota and available for download at http://glaros.dtc.umn.edu/gkhome/views/metis .
  • the application servers 304 process the reservoir simulation using the grid, the output of which can then be interpreted by post-processing server 308.
  • post-processing server 308 accesses simulator results, including map output, well output and performance output, which may be stored on the file server 306, and generates user-friendly data displays.
  • post-processing server may have software loaded thereon that provides 3D visualization of the reservoir, well plots within the reservoir, and generates an analysis of the simulation results as compared with historical simulations.
  • pre-preprocessing server and post-processing server may be configured as the same server or cluster of servers.
  • workstations 310 can access the post-processing server 308, or file server 306 to, e.g., modify, specify, control, upload, download or direct any output software.
  • the embodiment discussed above has well history software, grid data software, map output software, and performance output software stored on the pre-processing server 302, but these may be stored on more than server or computer.
  • FIG. 5A describes the structure of the pre-processing server 302 in detail.
  • the pre-processing server 302 comprises a memory 405, a program product 407, a processor, and an input/output device ("I/O device") (not shown).
  • the I/O device connects the pre-processing server 302, via the network, to file server 306, application servers 304 and distributed computers 308, and can be any I/O device 408 including, but not limited to a network card/controller connected by a PCI bus to the motherboard, or hardware built into the motherboard to connect the pre-processing server 302 to the network 314.
  • the I/O device is connected to the processor (not shown).
  • the processor is the "brains" of the pre-processing server 302, and as such executes program product 407 and works in conjunction with the I/O device to direct data to memory 405 and to send data from memory 405 to the network. In this way, the processor may also make available the program product 407 to the application servers 304 and workstations 310.
  • the processor can be any commercially available processor, or plurality of processors, adapted for use in a pre-processing server 302, e.g., Intel® Xeon® multicore processors, Intel® micro-architecture Nehalem, AMD OpteronTM multicore processors, etc.
  • the processor may also include components that allow the pre-processing server 302 to be connected to a display [not shown] and a keyboard that would allow a user direct access to the processor and memory 405.
  • Memory 405 may store several pre and post processing software applications and the well history and grid data related to the methods described herein. As such, memory 405 may consist of both non-volatile memory , e.g., hard disks, flash memory, optical disks, and the like, and volatile memory, e.g., SRAM, DRAM, SDRAM, etc., as required to process embodiments of the instant invention.
  • memory 405 is depicted on, e.g., the motherboard, of the pre-processing server 302, memory 405 may also be a separate component or device, e.g., FLASH memory, connected to the pre-processing server 405. Memory 405 may also store applications that the workstations 310 can access and run on the pre-processing server 302.
  • the pre-processing server 302 creates the unstructured grids and grid partitions and computes cell properties for storage on the file server 306, so that the grids are accessible to the application servers 304 for processing.
  • each application server accessing the file server 306 is only allowed to read data regarding one sub-domain, and that sub-domain's adjacent cells.
  • the pre-processing server 302, shown as having multiple applications stored thereon may only access data stored on the file server to compute grid data to save on pre-processing server memory and processing speeds.
  • Each pre-processing server 302 may communicate with the file server 306, and file server 306 may communicate with application servers 304 using, e.g., a communications Software such as MPI interfacing.
  • MPI interfacing comes with a plurality of library functions that include, but are not limited to, send/receive operations, choosing between a Cartesian or graph-like logical data processing 304 or a unstructured topology, combining partial results of computations, synchronizing application servers for data exchange between sub-domains, as well as obtaining network-related information such as the number of processes in the computing session, current processor identity that a application server 304 is mapped to, neighboring processes accessible in a logical topology, etc.
  • the MPI interfacing software can operate with a plurality of software languages, including C, C++, FORTRAN, etc., allowing program product 326 to be programmed or interfaced with a plurality of computer software program products programmed in different computer languages for greater scalability and functionality, e.g., an implementation where pre-processing server 302 is implemented as a plurality of servers running separate programs for pre-processing algorithms.
  • FIGS. 4A, 4B , and 5B describe the structure of the application servers 304 in detail, which are linked together using a high-speed intranet TCP/IP connection.
  • each application server 304 comprises a memory 400, a program product 326, a processor 401, and an input output device ("I/O") 403.
  • I/O device 403 connects the application server 304, via the network, to file server 308, other application servers 304 and the pre-processing server 302, and can be any I/O device 403 including, but not limited to a network card/controller connected by a PCI bus to the motherboard, or hardware built into the motherboard to connect the application server 304 to the network (not shown).
  • Processor 401 is the "brains" of the application server 304, and as such executes program product 404 and works in conjunction with the I/O device 403 to direct data to memory 400 and to send data from memory 400 to the network.
  • Processor 401 can be any commercially available processor, or plurality of processors, adapted for use in an application server, e.g., Intel® Xeon® multicore processors, Intel® micro-architecture Nehalem, AMD Opteron" multicore processors, etc.
  • processor 401 may also include components that allow the application servers 304 to be connected to a display [not shown] and keyboard that would allow a user to directly access the processor 401 and memory 400 - though such configurations of the application servers 304 could slow the processing speeds of the computing cluster.
  • Memory 400 stores instructions for execution on the processor 401, including the operating system and communications software and consists of both non-volatile memory, e.g., hard disks, flash memory, optical disks, and the like, and volatile memory, e.g., SRAM, DRAM, SDRAM, etc., as required to application server 304 embodiments of the instant invention.
  • non-volatile memory e.g., hard disks, flash memory, optical disks, and the like
  • volatile memory e.g., SRAM, DRAM, SDRAM, etc.
  • memory 400 may also be a separate component or device, e.g., FLASH memory, connected to the application servers 304.
  • memory 400 stores the program product of the instant invention.
  • program product 402 is downloaded into each application server 304 for performing the inventive methods, but one skilled in the art will appreciate that program product 326 may also be stored on a separate application server or the pre-processing server 302 for access by each of the networked application servers 304 though such a configuration could only be used for smaller simulations.
  • each application server 304 communicates with each other application server 304 using the I/O device 403 and a communications software, e.g. MPI interfacing.
  • MPI interfacing comes with a plurality of library functions that include, but are not limited to, send/receive operations, choosing between a Cartesian or graph-like logical application server 304 or an unstructured topology, combining partial results of computations, synchronizing application servers for data exchange between sub-domains, as well as obtaining network-related information such as the number of processes in the computing session, current processor identity that an application server 304 is mapped to, neighboring processes accessible in a logical topology, etc.
  • the MPI interfacing software can operate with a plurality of software languages, including C, C++, FORTRAN, etc., allowing program product 326 to be programmed or interfaced with a plurality of computer software program products programmed in different computer languages for greater scalability and functionality, .e.g., an implementation where pre-processing server 302 is implemented as a plurality of servers running separate programs for pre-processing algorithms.
  • Program products 326 perform the methods of the invention and may be the same program product stored on one server and operable on the pre-processing server 302 and application servers 304, stored on pre-processing server 302 and operable on the application server 304 or various steps of the inventive method could be stored in the memory of the application servers 304 and pre-processing server 302 as applicable for the function of each. Accordingly, though the steps of the inventive methods and programming products may be discussed as being on each application server, one skilled in the art will appreciate; each of the steps can be stored and operable on any of the processors described herein, including any equivalents thereof.
  • Program product 326 may be part of the reservoir simulator GigaPOWERS TM .
  • the relationship of program product 326 to other software components GigaPOWERS TM is illustrated in FIGS. 3B .
  • Unstructured system data 404 contains various reference maps and hash tables which are created and organized by implemented methods 402. These reference maps and hash tables data 404, together with implemented methods in 406 provide the organized data access for read/write in the random access memory (RAM) of each application server 304 and achieve data communication/synchronization requirement with other processes running on other compute nodes 304 where each the application server 304 hold a sub-domain of grid cells of the global flow simulation problem.
  • RAM random access memory
  • Software methods 406 and data system 404 serves all other software components in GigaPOWERS TM by managing the inter-relationship between sub-domains among compute nodes 304 and the inter-relationships between grid cells within each sub-domain in order to achieve reservoir simulation.
  • Parallel data input may be performed by each application server, and software process 408 places the data in the RAM of each application server 304.
  • Software process 402 sets up the unstructured data 404, which is also placed in RAM, so that it is available to support all data access functionality of all other software components of the application server.
  • the components include the initialization module 410, the nonlinear solver 412, the Jacobian builder 414, the linear solver 416, the solution update module 418, the PVT package 422, the rock-fluid property package 424, the well model 423, the well management module 428, the parallel output module 420, each of which will be described in detail herein below.
  • the efficiency and parallel scalability of the simulator will depend on the data system and methods of 402/404/406 because they control and manage the data access, communication, computation of the application servers implementing a simulator such as GigaPOWERS TM .
  • the program product 404 of the instant invention is stored in memory 400 and operable on processor 401, as shown in FIG. 5B .
  • the program product 404 performs the steps of: reading activity data from the file server 308 into the application servers (502); partitioning the unstructured grids into domains (504); setting up initial distributed unstructured map reference (506); constructing distributed unstructured graphs and connection factors (508); setting up domain adjacencies and halo cross reference (510); reordering cells locally based upon maximum transmissibility ordering (512); setting up distributed Jacobian and solver matrix references (514); and finalizing distributed local to global reference and derived data types for network communication (516).
  • Steps 502, 504, 506, 508, 510, 512, 514, and 516 are operable on the application servers 304 and perform internal reordering to minimize processing time and provide optimized sharing of halo data to adjacent sub-domains.
  • the pre-processing server 302 sets up the grid data for the application servers 304 to provide parallel processing of the well simulation.
  • the reservoir simulation typically involves the modeling of complex reservoir and well geometry and starts with the mapping or "gridding" of the reservoir using grid techniques that may be structured or unstructured, e.g., by preprocessing server 302.
  • grid techniques may be structured or unstructured, e.g., by preprocessing server 302.
  • the methods of the invention may be employed with both structured and unstructured grids, as well as simulations of different model sizes, to describe the steps performed by the program product of the instant invention, a 2-dimensional unstructured grid will be used as an example.
  • To model the reservoir using the unstructured grid oil or gas reservoirs are subdivided into elementary finite-volumes, which are known as grid cells or grid blocks. These grid cells can have variable numbers of faces and edges that are positioned to honor physical boundaries of geological structures and well geometry embedded within the reservoir.
  • All methods in FIG. 5B and 5C are parallel methods.
  • software 304 may spawn exactly the number of parallel processes as designated by the user to run the simulation.
  • each processor of each application server 304 may execute a copy of the software code 326 which handles the computation for a sub-domain of the overall problem.
  • cell activity is calculated in parallel from geometry and property data 326/328 read from the file server 306 into each application server 304 using, e.g., a distributed parallel read procedure employing the (MPI-2) interfacing discussed above.
  • MPI-2 distributed parallel read procedure employing the interfacing discussed above.
  • inactive cells are removed by the pre-processing server 302.
  • a grid cell is inactive if it is a pinch-out, has porosity less than minimum porosity, pore volume less than minimum pore volume, or all permeabilities less than minimum permeability, as defined by the simulations parameters, e.g., those set by the reservoir engineers running the simulation.
  • inactive cells are discounted from the local domain partitioning process as well as subsequent flow computation.
  • program product 326 may perform distributed parallel operations to generate optimal domain partitions, or sub-domains, of the plurality of remaining cells using, e.g., a METIS/PARMETIS software library (step 504).
  • a METIS/PARMETIS software library divides the grid into sub-domains of roughly equal number of cells and minimizes boundary regions.
  • the application servers 304 may partition the grid instead of the pre-processing server 302 (or the pre-processing server 302 may also be another application server 304).
  • One sub-domain may be assigned to each application server 304 within a cluster of application servers 304 to solve the reservoir simulation problem, i.e., to compute the simulation for the plurality of cells in the sub-domain.
  • Each sub-domain for example, has roughly equal number of active cells, identified using, for example, a global cell ID (shown in FIG. 9 ), and the sub-domain bounding surface is minimized to reduce network communication requirement.
  • An exemplary partitioning of sub-domains is shown with reference to FIG. 7 . As can be seen, each sub-domain 0-7 is adjacent to at least one other sub-domain.
  • step 506 based on the domain partitions generated in step 504, an initial distributed cell reference map is computed for the cells in each sub-domain to refer to the global cell ID generated above, as shown, for example, in FIG. 10 .
  • the global cell IDs shown in FIG. 9 are indexed completely locally in FIG. 10 . This initial ordering of local cell IDs is known as the first permutation.
  • the local cell ID to global cell ID references from step 506 is used to perform a distributed parallel reading of the grid data, input parameters, e.g., from workstations, and well history data, including porosity and permeability data, from the file server 306 into the local memory of each application server 304 and to construct graphs using the same in step 508.
  • This data includes the data that describe the geometry for each grid cell, i.e., where the grid cell is located with respect to other grid cells in the simulator.
  • each sub-domain is at least partially surrounded with a plurality of boundary cells, assigned to adjacent sub-domains, known as the halo region 602.
  • the halo region 602 contains cells from adjacent sub-domains that share at least one cell facet with sub-domain cells 604 which reside on the external boundary of the sub-domain (outer halo), and cells in the sub-domain that share a facet with a neighboring sub-domain (inner halo).
  • each application server 304 constructs the distributed unstructured graph to describe the cannectivities of all the cells in its sub-domain and the halo, for example, as shown in FIG. 11 .
  • the connection factors also known as transmissibility
  • Each computer process running program product 326 on application server 304 generates its own portion of the connectivity graphs and stores it in, for example, the distributed compressed sparse row (CSR) format.
  • each connection can further be identified as either in-domain connection or out-of-domain connection.
  • An out-of-domain connection is one between an in-domain grid-cell and a halo grid-cell. Active halo cells, which have no transmissibilities with the internal sub-domain cells, are discounted in this step to minimize necessary inter-application server 304 communication.
  • sub-domain adjacency is the distributed graph which identifies for each sub-domain all of its neighboring sub-domains, like the one shown in FIG. 12 .
  • the distributed sub-domain connectivity graph is also stored in, for example, CSR format but in distributed parallel fashion. The in-domain cells that reside on the sub-domain boundary are identified and the adjacent sub-domain IDs that share these cells facets are identified.
  • the sub-domain adjacency information is used to form a second permutation for the local cell IDs such that all interior cells are ordered first and boundary cells are ordered next in a sequence of blocks based on sub-domain adjacency, e.g., as shown in FIG. 14 .
  • the exemplary second permutation of local grid cells orders the sub-domain interior cells first, the inner halo region cells next, and the outer halo region last.
  • the second permutation of local boundary cell IDs are also exchanged among the adjacent application servers 304 so that each application server 304 has the necessary information to exchange boundary cell data during transient time stepping of flow simulation (shown in FIG. 13 ).
  • the incoming data from adjacent sub-domain boundaries are placed in the halo regions, e.g., in cached memory, so that the process server can place the incoming data in the outer halo region.
  • step 512 after the domain-partitioning step 510, the order of cells may not be optimal for the simulation algorithms and a better cell ordering may be required for computational efficiency.
  • maximum transmissibility ordering (MTO) of the local cells may be performed to further reduce process time.
  • MTO sequences the cell list by following the largest transmissibility pathways through the graph constructed in step 508.
  • RCM reverse Cuthill-McKee
  • fill-reducing ordering can be implemented using the inventive method and are included within the scope of the disclosure.
  • the reordering step produces a third permutation of local cell ID for the system such that the cell ordering is optimal for the numerical solution application server 304 during flow simulation, as shown in FIG. 15 .
  • the indexing systems for the distributed graphs representing the Jacobian matrix and the solver matrices for each sub-domain can be built in step 514.
  • These distributed graphs consist of two CSR lists: one for the in-domain connections and one for the out-of-domain connections, in order to facilitate the overlapping of communication and computation to enhance parallel scalability.
  • each application server can process data between in-domain cells and communicate with other application servers simulations.
  • the distributed graphs for the Jacobian is bidirectional, so data can flow between application servers 302, and the Jacobian matrix has a symmetric non-zeros structure but asymmetric in values.
  • the referencing of symmetric positions in the matrices is useful during Jacobian construction and the symmetrical references are computed and stored in this step.
  • the distributed transmissibility graph is also reordered from the initial cell ID permutation in step 606 to the final cell ID permutation in step 612, as shown in FIGS. 16 and 17 .
  • distributed derived data types for inter-application server 304 communication among adjacent application servers in order to run the simulation is generated, step 616. Essentially, this is a sub-domain's local ID to another sub-domain's local ID referencing system. Methods to perform both synchronous and asynchronous inter-application server communication utilizing the derived data types are constructed and used to communicate halo variables and data during the reservoir simulation.
  • the methods of the system are scalable for simulation size and well type.
  • another reference system may be constructed for well completions in the distributed unstructured grid cells belonging to the sub-domains.
  • a single well network can have multiple laterals and can span two or more sub-domains.
  • the disclosed indexing system may be used in parallel gather/scatter methods to construct well constraint equations from the required data residing in the distributed variable maps of grid cells and to construct the well source and sink terms of the individual component mass or energy balance equations for the perforated grid cells.
  • the reading of well perforation data uses the inverse cell reference method of the system to locate local cell ID and application server 304 from the global cell ID of the perforation.
  • the local cell ID to global cell ID indexing can be finalized based on the final local permutation.
  • Such an indexing system forms the necessary data to perform parallel distributed input/output of processing of simulation data and results through the MP1-2 standard protocol.
  • a small 2D unstructured-grid model is used to illustrate the system and methods of the invention, which considers the case when the model is assigned to eight application servers to run the simulation and sub-domain 6 is chosen to illustrate the cell identification and ordering steps of the inventive method, but this exemplary embodiment is in no way limiting of the disclosure.
  • Simulations using unstructured and structured grids of various types and sizes may be processed using the inventive machine, program product, and computer-implemented methods of the disclosure.
  • all the grid-cells are active. However, when inactive cells exist in the model, they may be discounted from the maps and graphs during steps 502 and 504 for memory management. Such discounting usually results in a modest to a significant saving of RAM space. It should also be noted that an active cell in the outer-halo might be discounted if it is connected to an inactive cell in its sub-domain.
  • the data files for a model are independent of the number of application servers used to solve a particular simulation model.
  • Each grid cell in the model has a cell ID so that all the properties for that grid cell can be referenced.
  • the memory of an application server 304 holds only the data for the sub-domain assigned to it. This is known as distributed data store.
  • a reference system such that the global cell ID of the model can be determined given any local cell ID on any application server 304.

Claims (12)

  1. Machine (300) destinée à simuler une caractéristique de production pour une pluralité de puits de pétrole ou de gaz définie par une grille d'un réservoir, la machine (300) comprenant :
    un premier serveur d'applications (304) présentant un processeur (401) et une mémoire non transitoire (400), la mémoire (400) présentant des instructions lisibles par ordinateur (326) stockées sur celle-ci et exploitables sur le processeur (401), le premier serveur d'applications (304) mettant en oeuvre un processus (406) consistant à diviser la grille (600) en une pluralité de sous-domaines, et un processus consistant à affecter, à chacune des cellules dans la pluralité de sous-domaines, un index ; les instructions lisibles par ordinateur (326) consistant à :
    créer (302) la pluralité de cellules à partir de caractéristiques géologiques de la sous-surface, la pluralité de cellules présentant des faces qui sont formées à équidistance de chaque point d'une pluralité de points correspondant à la caractéristique géologique, dans laquelle les caractéristiques géologiques incluent au moins une caractéristique parmi une profondeur, une porosité, une transmissibilité, des zones rocheuses, des propriétés de la roche et une perméabilité;
    déduire (502) des cellules de grille quelconques qui ne sont pas actives, et diviser (504) les cellules restantes en une pluralité de sous-domaines ; et
    affecter (504), à chacune des cellules, un index d'origine ;
    au moins un serveur d'applications distinct (304) présentant un processeur (401) et une mémoire (400) sur laquelle sont stockées des instructions lisibles par ordinateur (326), ledit au moins un serveur d'applications (304) se voyant affecter au moins un sous-domaine et incluant un produit-programme informatique (326), exploitable sur la mémoire (400), en vue de mettre en oeuvre un processus (406) consistant à réorganiser une référence d'identification de cellule locale pour chaque cellule de la pluralité de cellules, en utilisant des caractéristiques de la cellule et l'emplacement dans ledit au moins un sous-domaine, et un processus consistant à simuler au moins une caractéristique de production du réservoir ; les instructions lisibles par ordinateur (326) consistant à :
    créer (506) une référence initiale d'identification de cellule locale pour chaque cellule de la pluralité de cellules dans le sous-domaine, chaque référence d'identification de cellule locale étant mise en correspondance avec un index d'origine pour chaque cellule de la pluralité de cellules ;
    calculer (508) une transmissibilité entre chaque cellule de la pluralité de cellules dans le sous-domaine, en utilisant des données de grille, des données de puits et des données de perméabilité lues dans la mémoire (400) du serveur d'applications distinct (304) en utilisant la référence initiale d'identification de cellule locale ;
    déterminer (510) au moins un autre sous-domaine adjacent au sous-domaine, et quelles cellules de la pluralité de cellules de grille partagent au moins une face avec des cellules de grille dudit au moins un autre sous-domaine ;
    réindexer (510) chaque cellule de la pluralité de cellules de grille selon que la cellule de grille partage au moins une face avec des cellules de grille dudit au moins un autre sous-domaine ; et
    réindexer (512) chaque cellule de la pluralité de cellules de grille selon la transmissibilité de chaque cellule de la pluralité de cellules de grille, et transmettre des données de simulation entre les cellules de grille partageant au moins une face avec ledit au moins un autre sous-domaine adjacent au sous-domaine avec ledit un autre sous-domaine.
  2. Machine (300) selon la revendication 1, dans laquelle le premier serveur d'applications (304) et le serveur d'applications distinct (304) sont mutuellement connectés sur un réseau sécurisé et forment une grappe d'ordinateurs.
  3. Machine (300) selon la revendication 1, dans laquelle le premier serveur d'applications (304) et le serveur d'applications distinct (304) sont mutuellement connectés sur un réseau étendu, de sorte que le premier serveur d'applications (304), et le serveur d'applications distinct (304) sont situés à distance l'un de l'autre.
  4. Machine (300) selon la revendication 1, 2 ou 3, dans laquelle un serveur de fichiers (306) stocke des caractéristiques géologiques dans des champs distincts pour chaque caractéristique de la pluralité de caractéristiques, et le serveur d'applications (304) accède à chacun des champs en vue d'exécuter des calculs de simulation, en utilisant ledit produit-programme informatique (326).
  5. Machine (300) selon la revendication 1, 2 ou 3, comprenant en outre un serveur de fichiers (306), le serveur de fichiers (306) stockant des données de grille, des données de puits et des données de perméabilité et des caractéristiques géologiques dans une mémoire non transitoire (400) de celui-ci, le serveur de fichiers (306) présentant un produit-programme informatique de base de données (314) stocké sur celui-ci, lequel permet au premier serveur d'applications (304) et au serveur d'applications distinct (304) d'accéder aux données en utilisant le produit-programme informatique de base de données (314).
  6. Machine (300) selon la revendication 5, dans laquelle des résultats de simulation de chaque sous-domaine de la pluralité de sous-domaines sont écrits en parallèle et stockés dans une base de données du serveur de fichiers (306), dans des tables globales basées sur des index de cellules globaux.
  7. Procédé mis en oeuvre par ordinateur (406) destiné à amener un ordinateur (304) à mettre en oeuvre un processus consistant à diviser une grille (600) définissant un réservoir en une pluralité de sous-domaines et une pluralité de cellules, un processus consistant à réorganiser une référence d'identification de cellule locale pour chaque cellule de la pluralité de cellules, en utilisant des caractéristiques de la cellule et un emplacement au sein dudit au moins un sous-domaine, et un processus consistant à simuler au moins une caractéristique de production du réservoir ; le procédé mis en oeuvre par ordinateur (406) mettant en oeuvre les étapes ci-dessous consistant à :
    créer (302) la pluralité de cellules à partir de caractéristiques géologiques de la sous-surface, la pluralité de cellules présentant des faces qui sont formées à équidistance de chaque point d'une pluralité de points correspondant à la caractéristique géologique, dans lequel les caractéristiques géologiques incluent au moins une caractéristique parmi une profondeur, une porosité, une transmissibilité, des zones rocheuses, des propriétés de la roche et une perméabilité ;
    déduire (502) des cellules de grille quelconques qui ne sont pas actives, et diviser les cellules restantes en une pluralité de sous-domaines ;
    affecter (504), à chacune des cellules, un index d'origine ;
    créer (506) une référence initiale d'identification de cellule locale pour chaque cellule de la pluralité de cellules dans le sous-domaine, chaque référence d'identification de cellule locale étant mise en correspondance avec un index d'origine pour chaque cellule de la pluralité de cellules ;
    calculer (508) une transmissibilité entre chaque cellule de la pluralité de cellules dans le sous-domaine, en utilisant des données de grille, des données de puits et des données de perméabilité lues dans la mémoire (400) du serveur d'applications distinct (304) en utilisant la référence initiale d'identification de cellule locale ;
    déterminer (510) au moins un autre sous-domaine adjacent au sous-domaine, et quelles cellules de la pluralité de cellules de grille partagent au moins une face avec des cellules de grille dudit au moins un autre sous-domaine ;
    réindexer (510) chaque cellule de la pluralité de cellules de grille selon que la cellule de grille partage au moins une face avec des cellules de grille dudit au moins un autre sous-domaine ; et
    réindexer (512) chaque cellule de la pluralité de cellules de grille selon la transmissibilité de chaque cellule de la pluralité de cellules de grille ; et
    transmettre (516) des données de simulation entre les cellules de grille partageant au moins une face avec ledit au moins un autre sous-domaine adjacent au sous-domaine avec ledit un autre sous-domaine.
  8. Procédé mis en oeuvre par ordinateur (406) selon la revendication 7, dans lequel le procédé mis en oeuvre par ordinateur (406) est mis en oeuvre sur un premier serveur d'applications (304) et un serveur d'applications distinct (304) mutuellement connectés en vue de former une grappe d'ordinateurs.
  9. Procédé mis en oeuvre par ordinateur (406) selon la revendication 8, dans lequel le premier serveur d'applications (304) et le serveur d'applications distinct (304) sont mutuellement connectés sur un réseau étendu, de sorte que le premier serveur d'applications (304), et le serveur d'applications distinct (304) sont situés à distance l'un de l'autre.
  10. Procédé mis en oeuvre par ordinateur (406) selon la revendication 8 ou 9, dans lequel un serveur de fichiers (306) stocke des caractéristiques géologiques dans des champs distincts pour chaque caractéristique de la pluralité de caractéristiques géologiques, et le serveur d'applications (304) accède à chacun des champs en vue d'exécuter des calculs de simulation, en utilisant ledit produit-programme informatique (326).
  11. Procédé mis en oeuvre par ordinateur (406) selon la revendication 8 ou 9, dans lequel un serveur de fichiers (306) accède à, et stocke des données de grille, des données de puits et des données de perméabilité et des caractéristiques géologiques dans une base de données de celui-ci, le serveur de fichiers (306) présentant un produit-programme informatique de base de données (314) stocké sur celui-ci, lequel permet au premier serveur d'applications (304) et au serveur d'applications distinct (304) d'accéder aux caractéristiques de puits ou aux caractéristiques géologiques, en utilisant le produit-programme informatique de base de données (314).
  12. Procédé mis en oeuvre par ordinateur selon la revendication 11, dans lequel des résultats de simulation pour chaque sous-domaine de la pluralité de sous-domaines sont écrits en parallèle et stockés dans la base de données, dans des tables globales basées sur des index de cellules globaux.
EP11767321.0A 2010-09-07 2011-08-26 Machine, produit programme d'ordinateur et procédé pour générer des grilles non structurées et effectuer des simulations parallèles de réservoir Not-in-force EP2614460B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP14175672.6A EP2811112B1 (fr) 2010-09-07 2011-08-26 Machine, produit programme d'ordinateur et procédé pour générer des grilles non structurées et effectuer des simulations parallèles de réservoir

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/876,727 US8386227B2 (en) 2010-09-07 2010-09-07 Machine, computer program product and method to generate unstructured grids and carry out parallel reservoir simulation
US12/955,504 US8433551B2 (en) 2010-11-29 2010-11-29 Machine, computer program product and method to carry out parallel reservoir simulation
PCT/US2011/049290 WO2012033650A2 (fr) 2010-09-07 2011-08-26 Machine, produit programme d'ordinateur et procédé pour générer des grilles non structurées et effectuer des simulations parallèles de réservoir

Related Child Applications (1)

Application Number Title Priority Date Filing Date
EP14175672.6A Division EP2811112B1 (fr) 2010-09-07 2011-08-26 Machine, produit programme d'ordinateur et procédé pour générer des grilles non structurées et effectuer des simulations parallèles de réservoir

Publications (2)

Publication Number Publication Date
EP2614460A2 EP2614460A2 (fr) 2013-07-17
EP2614460B1 true EP2614460B1 (fr) 2014-07-09

Family

ID=45811121

Family Applications (3)

Application Number Title Priority Date Filing Date
EP11767321.0A Not-in-force EP2614460B1 (fr) 2010-09-07 2011-08-26 Machine, produit programme d'ordinateur et procédé pour générer des grilles non structurées et effectuer des simulations parallèles de réservoir
EP14175672.6A Not-in-force EP2811112B1 (fr) 2010-09-07 2011-08-26 Machine, produit programme d'ordinateur et procédé pour générer des grilles non structurées et effectuer des simulations parallèles de réservoir
EP11764016.9A Withdrawn EP2614218A2 (fr) 2010-09-07 2011-09-01 Machine, produit programme d'ordinateur et procédé pour effectuer une simulation parallèle de réservoir

Family Applications After (2)

Application Number Title Priority Date Filing Date
EP14175672.6A Not-in-force EP2811112B1 (fr) 2010-09-07 2011-08-26 Machine, produit programme d'ordinateur et procédé pour générer des grilles non structurées et effectuer des simulations parallèles de réservoir
EP11764016.9A Withdrawn EP2614218A2 (fr) 2010-09-07 2011-09-01 Machine, produit programme d'ordinateur et procédé pour effectuer une simulation parallèle de réservoir

Country Status (3)

Country Link
EP (3) EP2614460B1 (fr)
CN (1) CN103097657B (fr)
WO (2) WO2012033650A2 (fr)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2874728C (fr) 2012-05-30 2023-05-16 Landmark Graphics Corporation Systeme et procede d'optimisation de simulation de reservoir
US20140236559A1 (en) 2013-02-18 2014-08-21 Saudi Arabian Oil Company Systems, methods, and computer-readable media for modeling complex wellbores in field-scale reservoir simulation
EP3074913B1 (fr) * 2014-01-02 2023-09-27 Landmark Graphics Corporation Solutions de multiporosité correspondant à un historique
US10808501B2 (en) 2014-03-17 2020-10-20 Saudi Arabian Oil Company Modeling intersecting faults and complex wellbores in reservoir simulation
US10677960B2 (en) 2014-03-17 2020-06-09 Saudi Arabian Oil Company Generating unconstrained voronoi grids in a domain containing complex internal boundaries
US10242136B2 (en) * 2015-05-20 2019-03-26 Saudi Arabian Oil Company Parallel solution for fully-coupled fully-implicit wellbore modeling in reservoir simulation
US10956225B2 (en) 2017-01-21 2021-03-23 Schlumberger Technology Corporation Scalable computation and communication methods for domain decomposition of large-scale numerical simulations
US10570706B2 (en) 2017-06-23 2020-02-25 Saudi Arabian Oil Company Parallel-processing of invasion percolation for large-scale, high-resolution simulation of secondary hydrocarbon migration
CA3089578C (fr) 2018-01-24 2023-03-14 Saudi Arabian Oil Company Procedes et systemes de migration et d'accumulation d'hydrocarbures
CN110209353B (zh) * 2019-05-17 2022-10-21 青岛海洋科学与技术国家实验室发展中心 区域耦合预报系统中roms模式的i/o并行加速方法、装置及介质
CN113139260B (zh) * 2020-01-17 2024-02-09 中国石油化工股份有限公司 一种用于提高钻井仿真计算速度的系统及方法
US11681838B2 (en) * 2020-05-26 2023-06-20 Landmark Graphics Corporation Distributed Sequential Gaussian Simulation
CN116149835A (zh) * 2021-11-19 2023-05-23 北京太琦图形科技有限公司 用于处理非结构化网格数据的方法、装置、设备和介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6106561A (en) * 1997-06-23 2000-08-22 Schlumberger Technology Corporation Simulation gridding method and apparatus including a structured areal gridder adapted for use by a reservoir simulator
US6823297B2 (en) * 2003-03-06 2004-11-23 Chevron U.S.A. Inc. Multi-scale finite-volume method for use in subsurface flow simulation
US7526418B2 (en) * 2004-08-12 2009-04-28 Saudi Arabian Oil Company Highly-parallel, implicit compositional reservoir simulator for multi-million-cell models
US7596480B2 (en) * 2005-04-14 2009-09-29 Saudi Arabian Oil Company Solution method and apparatus for large-scale simulation of layered formations
CN101379271B (zh) * 2006-01-31 2012-11-07 兰德马克绘图公司 使用代理仿真器的用于实时油气田生产优化的方法、系统和计算机可读介质
BRPI0820870A2 (pt) * 2007-12-13 2015-06-16 Exxonmobil Upstream Res Co Método para simular um modelo de reservatório.
US8095349B2 (en) * 2008-05-30 2012-01-10 Kelkar And Associates, Inc. Dynamic updating of simulation models
US9594186B2 (en) * 2010-02-12 2017-03-14 Exxonmobil Upstream Research Company Method and system for partitioning parallel simulation models

Also Published As

Publication number Publication date
EP2811112B1 (fr) 2019-07-24
WO2012033693A3 (fr) 2012-05-31
EP2811112A2 (fr) 2014-12-10
EP2614218A2 (fr) 2013-07-17
WO2012033693A4 (fr) 2012-08-02
EP2614460A2 (fr) 2013-07-17
WO2012033650A3 (fr) 2012-07-05
CN103097657B (zh) 2015-05-27
EP2811112A3 (fr) 2015-03-25
CN103097657A (zh) 2013-05-08
WO2012033693A2 (fr) 2012-03-15
WO2012033650A2 (fr) 2012-03-15

Similar Documents

Publication Publication Date Title
US9177086B2 (en) Machine, computer program product and method to carry out parallel reservoir simulation
US8386227B2 (en) Machine, computer program product and method to generate unstructured grids and carry out parallel reservoir simulation
EP2614460B1 (fr) Machine, produit programme d'ordinateur et procédé pour générer des grilles non structurées et effectuer des simulations parallèles de réservoir
JP6824205B2 (ja) コンピュータ実装方法、データ処理システム、及びデータストレージデバイス
US8463586B2 (en) Machine, program product, and computer-implemented method to simulate reservoirs as 2.5D unstructured grids
CA2919545C (fr) Dispositif de resolution de matrice bande a plusieurs branches pour une modelisation d'ecoulement de fluide de systeme de puits
US6928399B1 (en) Method and program for simulating a physical system using object-oriented programming
AU2015210609B2 (en) Geomechanical and geophysical computational model for oil and gas stimulation and production
CN106103887B (zh) 在储层仿真中对交叉故障和复杂井眼进行建模
EP3018502A2 (fr) Modélisation des fractures conductrices de fluides dans une grille de simulation de réservoir
CA2963928A1 (fr) Creation de maillages de reservoirs par raffinement etendu anisotrope geometriquement adaptatif de polyedres
NO20180871A1 (en) Hybrid 3d geocellular representation of selected natural fracture network subsets
AU2011271175B2 (en) Machine, program product, and computer-implemented method to simulate reservoirs as 2.5D unstructured grids
US11454105B2 (en) Reservoir simulation modeling with well trajectory at true positions in grid simulation models

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20130326

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
GRAJ Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted

Free format text: ORIGINAL CODE: EPIDOSDIGR1

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAJ Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted

Free format text: ORIGINAL CODE: EPIDOSDIGR1

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20140114

INTG Intention to grant announced

Effective date: 20140123

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

Ref country code: AT

Ref legal event code: REF

Ref document number: 676804

Country of ref document: AT

Kind code of ref document: T

Effective date: 20140715

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602011008293

Country of ref document: DE

Effective date: 20140814

REG Reference to a national code

Ref country code: NL

Ref legal event code: T3

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 676804

Country of ref document: AT

Kind code of ref document: T

Effective date: 20140709

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141009

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141009

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141010

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141110

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20141109

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602011008293

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140831

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140831

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140831

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20150430

26N No opposition filed

Effective date: 20150410

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140826

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140909

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20110826

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20140826

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20140709

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: NL

Payment date: 20200814

Year of fee payment: 10

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20200819

Year of fee payment: 10

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20210713

Year of fee payment: 11

REG Reference to a national code

Ref country code: NL

Ref legal event code: MM

Effective date: 20210901

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20210826

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210901

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210826

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 602011008293

Country of ref document: DE

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230526

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230301