Patent ID: 8725481

Claim:
A method of simulating a reservoir model, comprising: generating the reservoir model; partitioning the generated reservoir model into multiple sets of different domains, each domain corresponding to a partition for a specific portion of the model that optimizes parallel processing efficiency of the reservoir simulation; re-partitioning the generated reservoir model into a plurality of domains dynamically in order to improve parallel performance, wherein the re-partitioning comprises: a) pre-processing the reservoir model by choosing a partitioning scheme and determining parameters of the partitioning scheme; b) partitioning the generated reservoir model into a plurality of domains using the partitioning scheme; c) post-processing the partitioned reservoir model to further refine the parallel performance of a partitioned calculation; d) evaluating a quality of the post-processed partitioned reservoir model; and e) if the quality of the post-processed partitioned reservoir model is less than a predetermined value, then repeating a, b, c, d, and e using a modified partitioning scheme and parameters; dividing the simulating of the reservoir model into a plurality of processing elements; and processing a plurality of the processing elements in parallel, based on the re-partitioned reservoir model; wherein partitioning the generated reservoir model into a plurality of domains comprises: identifying subsets or blocks of nodes which are isolated from each other; sorting the identified subsets or blocks of nodes by size; weighting the sorted subsets or blocks of nodes to account for processing costs associated with each subset or block; sorting the weighted subsets or blocks of nodes based on processing cost; and allocating the weighted subsets or blocks of nodes to corresponding domains.