Patent EA-004190-B1 (EA)
Title: Method and program for simulating a physical system using object-oriented programming
Inventor: WATTS JAMES W
IPC: G06F19/00
Filed: 2000-11-21
Abstract: 1. A method of predicting a property of at least one fluid in a fluidcontaining physical system using an object-oriented program, said method comprises developing classes of simulation objects, said classes of simulation objects comprising cell-group objects and connection-group objects, and running the program in a computer to determine a property of at least one fluid in the physical system as a function of time. 2. The method of claim 1 wherein the physical system comprises a hydrocarbonbearing subterranean formation. 3. The method of claim 1 wherein the physical system comprises fluidcontaining facilities associated with production of hydrocarbons from a subterranean hydrocarbon-bearing formation. 4. The method of claim 1 wherein the physical system is represented by a single model object. 5. The method of claim 4 in wherein the physical system is represented by a plurality of submodel objects, each submodel object representing a portion of the physical system. 6. The method of claim 1 wherein all cells of a cell-group have common characteristics. 7. The method of claim 1 wherein all transport phenomena for all connections of a connection-group are treated as being the same. 8. The method of claim 1 wherein the physical system is divided into multiple domains and the program comprises cell-group objects and connection-group objects associated with cells and connections within each domain and connection-group objects associated with connections between cells of one domain and cells of another domain. 9. The method of claim 1 wherein the cells are in an unstructured grid. 10. The method of claim 1 wherein a cell of the multiplicity of cells belongs only to one cell-group object. 11. The method of claim 1 wherein the cells are PEBI grid cells. 12. The method of claim 1 wherein the cells are three-dimensional. 13. The method of claim 1 wherein the grid of cells is unstructured areally and structured vertically. 4. The method of claim 1 further comprises running the program on a plurality of computational units that are linked together. 15. The method of claim 1 further comprises running the program on a plurality of domains using a plurality of CPUs. 16. A method of simulating a characteristic of a complex system using an object-oriented program, comprising the steps of: (a) discretizing the physical system into a plurality of volumetric cells; (b) generating a plurality of connections representative of a cell-to-cell transport phenomenon; (c) generating a multiplicity of objects to define the complex system, said objects comprising cell-groups and connection-groups; and (d) using the objects in an object-oriented simulation program to simulate a characteristic of the complex system. 17. A method for simulating fluid flow in a hydrocarbon-bearing reservoir and its associated wells and facilities, said method comprising (a) discretizing the physical system into a plurality of volumetric cells; (b) forming said volumetric cells into groups based on selected characteristics of the cells; (c) constructing a cell-group object associated with each said group of cells, said cell-group object containing information required by its associated group of cells; (d) defining connections through which fluid can flow and energy can be transported between pairs of said cells; (e) assembling sets of equations governing fluid flow and energy transport through the said connections between pairs of cells; (f) forming said connections between pairs of cells into groups, each group connecting a pair of cell-group objects; (g) constructing a connection-group object associated with each said group of connections, said connection-group object containing information required by its associated group of connections; (h) simulating fluid flow and energy transport by using said cell-group objects and connection-group objects to compute properties of fluids contained in each cell and to compute flow of fluids and transport of energy through connections; and (i) using the simulation results of step (h) to simulate fluid flow in a hydrocarbon-bearing reservoir and its associated wells and facilities. 18. The method of claim 17 wherein the cells are PEBI grid cells. 19. The method of claim 17 wherein the cells are three-dimensional. 20. The method of claim 17 wherein the cells form a cell-grid that is unstructured areally and structured vertically. 21. A method for simulating fluid flow in a hydrocarbon-bearing reservoir and its associated wells and facilities, said method comprising (a) discretizing the physical system into a plurality of volumetric cells; (b) forming said volumetric cells into domains; (c) forming said volumetric cells within each domain into groups based on selected characteristics of the cells; (d) constructing a cell-group object associated with each said group of cells, said cell-group object containing information required by its associated group of cells; (e) defining connections through which fluid can flow and energy can be transported between pairs of said cells; (f) assembling sets of equations governing fluid flow and energy transport through the said connections between pairs of cells; (g) forming said connections between pairs of cells into groups, each group connecting a pair of cell-group objects; (h) constructing a connection-group object associated with each said group of connections, said connection-group object containing information required by its associated group of connections; (i) constructing a submodel object associated with each domain of volumetric cells, said submodel object containing the cell-groups belonging to the domain and the connection-groups that either (1) connect cells in a particular cell-group belonging to the domain to other cells in the same cell-group, or (2) connect cells in a particular cell-group belonging to the domain to cells in another cell-group belonging to the domain; (j) constructing a model object containing (1) the said submodel objects and (2) the connection-group objects that connect cells in a particular submodel object to cells in another submodel object; (k) simulating fluid flow and energy transport using said cell-group, connection-group, submodel, and model objects to compute properties of fluids contained in each cell, to compute flow of fluids and transport of energy through connections; and (l) using the simulation results of step (k) to simulate fluid flow in a hydrocarbon-bearing reservoir and its associated wells and facilities. 22. The method of claim 21 wherein the cells are PEBI grid cells. 23. The method of claim 22 wherein the grid of cells is unstructured areally and structured vertically. 24. The method of claim 21 wherein the cells are three-dimensional. 25. A computer-implemented method of simulating a time-varying property of at least one fluid in a fluid-containing physical system, comprising the steps of: (a) receiving and storing in a computer memory a list of objects, at least some of the objects representing a multiplicity of cell-groups and a multiplicity of connection-groups; (b) for a specified simulation time period, using said objects in a simulator to simulate a property of at least one fluid in the physical system; and (c) generating output data representing values of said time-varying property. 26. A computer-readable media tangibly embodying a program of instructions executable by a computer to perform a method of predicting a property of at least one fluid in a fluid-containing physical system using object-oriented programming, said method comprising using cell-group objects and connection-group objects. 27. The computer-readable media of claim 26 wherein the media comprise at least one of a RAM, a ROM, a disk, an ASIC, and PROM. 28. A computer system for performing simulations using an object-oriented program to predict a property of at least one fluid in a fluid-containing physical system, the system comprising (a) a central processing unit (CPU); (b) a user interface, which includes means for supporting user selection of simulation parameters at run time; (c) a memory store for storing data and object-oriented program code, coupled to the CPU to facilitate execution of the program code stored therein, the memory store storing a set of objects, said objects comprising a plurality of cell-groups and a plurality of connection-groups, and the object-oriented program; and (d) means for performing a simulation to predict a property of at least one fluid using the set of objects. 29. A system as recited in claim 28 wherein the set of simulation objects is organized into classes. 30. A system as recited in claim 29 wherein the classes comprise a model and one or more submodels. 31. A system as recited in claim 30 wherein the classes further comprise one or more cell-groups and one or more connection groups.