Abstract:
Systems, computer-readable media, and methods for performing a reservoir simulation by obtaining reservoir data; translating the reservoir data into grid properties to create a grid; dividing the grid into domains; generating coarse grids corresponding to each domain; processing the domains, where processing a domain includes: calculating pressure for the domain using a coarse grid corresponding to the domain, calculating flux for the domain using a coarse grid corresponding to the domain, and calculating transport of fluids for the domain using a coarse grid corresponding to the domain; and generating a reservoir simulation corresponding to the grid based on processing each domain. The domains can be processed in parallel on different computer systems, different processors, or different cores.
Abstract:
A method, apparatus, and program product utilize a generalized grid cell pinchout operation to remove small cells from a reservoir simulation grid, e.g., prior to running a reservoir simulation. The generalized grid cell pinchout operation may utilize a connectivity matrix representing transmissibilities of one or more “pinch” cells to be removed as well as that of “background” cells that neighbor the pinch cells. Removal of the pinch cells includes determining a Schur complement of the connectivity matrix to generate a reduced connectivity matrix from the connectivity matrix.
Abstract:
A method, apparatus, and program product use graph partitioning to distribute wells to a plurality of solve processors in a parallel reservoir simulation environment to optimize performance of well solve operations during reservoir simulations. Wells may be distributed to assign wells to partitions and associated solve processors and/or other processing resources in a manner that optimizes communication costs and/or costs associated with performing well solve operations.
Abstract:
A method for raycasting based on an irregular grid. The method includes raycasting, in a static mode, rays based on the irregular grid to generate a static image of a three dimensional (3D) volume dataset. The 3D volume dataset includes irregular grid cells based on the irregular grid. The method further includes reducing a tally of the rays to generate a reduced tally of rays based on a rendering time of the static image and an animation frame rate, and generating, in a dynamic mode, an animation of the 3D volume dataset at the animation frame rate by at least performing raycasting based on the reduced tally of rays.
Abstract:
A method for reducing an order of a discrete fractured network simulation. The method includes receiving cells representing a portion of a subterranean formation that includes a fracture. A first plurality of the cells that correspond to the fracture may be marked as a first cell level. A second plurality of the cells that touch the first plurality of cells may be marked as a second cell level. The first plurality of cells may be grouped into a first superelement. The second plurality of cells may be grouped into a second superelement. One of the first plurality of cells in the first superelement may be designated as a master cell. A volume for the master cell may be updated to include volumes for each of the first plurality of cells in the first superelement.
Abstract:
A method for reducing an order of a discrete fractured network simulation. The method includes receiving cells representing a portion of a subterranean formation that includes a fracture. A first plurality of the cells that correspond to the fracture may be marked as a first cell level. A second plurality of the cells that touch the first plurality of cells may be marked as a second cell level. The first plurality of cells may be grouped into a first superelement. The second plurality of cells may be grouped into a second superelement. One of the first plurality of cells in the first superelement may be designated as a master cell. A volume for the master cell may be updated to include volumes for each of the first plurality of cells in the first superelement.
Abstract:
A method, apparatus, and program product use graph partitioning to distribute wells to a plurality of solve processors in a parallel reservoir simulation environment to optimize performance of well solve operations during reservoir simulations. Wells may be distributed to assign wells to partitions and associated solve processors and/or other processing resources in a manner that optimizes communication costs and/or costs associated with performing well solve operations.
Abstract:
A method, apparatus, and program product utilize a generalized grid cell pinchout operation to remove small cells from a reservoir simulation grid, e.g., prior to running a reservoir simulation. The generalized grid cell pinchout operation may utilize a connectivity matrix representing transmissibilities of one or more “pinch” cells to be removed as well as that of “background” cells that neighbor the pinch cells. Removal of the pinch cells includes determining a Schur complement of the connectivity matrix to generate a reduced connectivity matrix from the connectivity matrix.
Abstract:
A method for raycasting based on an irregular grid. The method includes raycasting, in a static mode, rays based on the irregular grid to generate a static image of a three dimensional (3D) volume dataset. The 3D volume dataset includes irregular grid cells based on the irregular grid. The method further includes reducing a tally of the rays to generate a reduced tally of rays based on a rendering time of the static image and an animation frame rate, and generating, in a dynamic mode, an animation of the 3D volume dataset at the animation frame rate by at least performing raycasting based on the reduced tally of rays.
Abstract:
A method, system, and computer-readable medium for providing a visualization of a model. The method includes receiving a grid of the model including cells representing space, time, or both in the model. The method also includes grouping at least some of the cells into first-level gridlets. The method also includes grouping at least some of the first-level gridlets into second-level gridlets. The method further includes determining a first upper limit of elements to send for display, based on a display system capability, and determining that the number of first-level gridlets exceeds the first upper limit, and that the number of second-level gridlets is less than or equal to the first upper limit. In response, the method includes selecting at least some of the second-level gridlets for display and omitting from display at least some of the cells and at least some of the first-level gridlets.