IP Library Granted Patent US 12,682,137
Granted Patent B2
US 12,682,137 · App. 16/643,050 · Granted Jul 14, 2026

Computer implemented method for manipulating a numerical model of a 3D domain

Inventors: Enric Ibañez Martinez (Móstoles, ES); Pablo Enrique Vargas Mendoza (Móstoles, ES); Sashi B. Gunturu (Bellaire, TX); Daniel H. Morgan (Bellaire, TX)
Assignees: Repsol, S.A.; Petrabytes Corporation
G06F30/23G06F16/211G06F16/22G06F16/29G06T17/205G06T19/20G06F2111/10G06T2210/21
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,682,137
App. No.
16/643,050
Filed
Feb 28, 2020
Granted
Jul 14, 2026
Kind
B2
Art Unit
2187
USPC
703/2
Abstract

A computer implemented method for manipulating a numerical model of a 3D domain, the numerical model includes a plurality of geometrical entities. The method provides a set of specific lists of indexing keys increasing the speed of access including writing and reading operations for one or more geometrical entities.

Claims (27)

1 . A method for configuring and using a data storage and retrieval system to simulate the behavior of a physical 3D reservoir domain having geometrical entities contained therein, the physical 3D reservoir domain being represented by a numerical model instantiated in a computer memory by a data structure of the data storage and retrieval system, the method comprising the steps of:

using field data acquired from the reservoir domain, creating in the computer memory a data storage block having a list of records, each record storing data relating to a geometrical entity in the reservoir domain, the data including a first index key and coordinates of a location of the geometrical entity in the reservoir domain or coordinates of locations in the reservoir domain that include at least part of the geometrical entity;

defining a grid by discretizing a space containing the 3D reservoir domain of the numerical model into a plurality of cells, such that each point of space of the numerical model is associated to a cell of the grid, and each geometrical entity is associated with the one or more of the plurality of cells in which the geometrical entity, in whole or in part, is located;

for each of the plurality of cells in the grid, creating in the computer memory a list of first records appended to the data storage block, wherein creating the list of first records includes:

generating a null list for each cell of the grid; and

sequentially reading, only once, each record in the list of records stored in the data storage block to determine in which cell(s) of the grid each geometrical entity is located, and

based on the determined location for each geometrical entity, for each of the plurality of cells in the grid, generating a list of first records, wherein each first record of a list identifies a geometrical entity, which in whole or in part, is located in the cell associated with the list and includes at least a second index key that stores the first index key of the identified geometrical entity, and

executing, via a computer system, a simulation operation of the numerical model using data relating one or more geometrical entities in the reservoir domain, the data accessed via the second index keys.

2 . The method according to claim 1 , wherein when a cell of the grid contains no geometrical entity, the list of first records for that cell is empty, and when a cell of the grid contains in whole or in part one or more geometrical entities, the list of first records for that cell includes a corresponding number of first records such that there is one first record for each geometrical entity identified in that cell, and wherein each first record allows direct access to the corresponding geometrical entity.

3 . The method according to claim 2 , wherein the structured grid is a Cartesian structured grid.

4 . The method according to claim 2 , wherein the grid is indexed and a set of lists are indexed according to the index of the grid.

5 . The method according to claim 1 , wherein the grid is a structured grid.

6 . The method according to claim 1 , wherein the first index key identifying each geometrical entity is indexed by a tree structure.

7 . The method according to claim 1 , wherein a post-processing method is carried out according to the following steps:

for each geometrical entity stored in the data storage block, appending to each geometrical entity a list of second records having at least a third index key wherein:

the list of second records includes a second record for each cell of the grid satisfying that the coordinates of the location of the geometrical entity or the coordinates of the locations of part of the geometrical entity are located within the cell, and

the third index key of each second record stores an index of the cell according to the previous condition.

8 . The method according to claim 1 , wherein a sub-set of geometrical entities of the numerical model are manipulated using manipulating operations according to the following steps:

selecting one or more cells that include the geometrical entities to be manipulated;

accessing the geometrical entities of the sub-set of geometrical entities by the second index keys contained in the list of second records for the selected cells.

9 . The method according to claim 8 , wherein the manipulating operations are at least reading and writing.

10 . The method according to claim 8 , wherein collisions between at least a first set of geometrical entities of the geometrical entities and a second set of geometrical entities of the geometrical entities are determined according to the following steps:

i. selecting one or more cells containing the first set of geometrical entities;

ii. selecting one or more cells containing the second set of geometrical entities;

iii. determining a set of cells being a union between the set of first selected cells and the set of second selected cells; and

iv. for each cell of the set of cells determined in step iii), computing collisions between the geometrical entities indexed in the second index key in the list associated to that cell.

11 . A non-transitory computer program product stored on a computer-readable medium and comprising computer-implementable instructions which, when executed by a computer, cause the computer to carry out the method according to claim 1 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2020
From: GUNTURU, SASHI B.; MORGAN, DANIEL H.
To: PETRABYTES CORPORATION
Reel/Frame 052778/0461 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2020
From: IBAÑEZ MARTINEZ, ENRIC; VARGAS MENDOZA, PABLO ENRIQUE
To: REPSOL, S.A.
Reel/Frame 052778/0621 →
Priority Claims (1)
EP 17382586 · Aug 29, 2017 · regional
Continuity (1)
Related Publication 20200334404A1 · Oct 22, 2020
References Cited (26)
US 6014614A · Herring · 2000 [cited by examiner]
US 6128577A · Assa · 2000 [cited by examiner]
US 9922142B2 · Dachang · 2018 [cited by examiner]
US 10311088B1 · Fowler · 2019 [cited by examiner]
US 10429545B2 · Ramsay · 2019 [cited by examiner]
US 20050120013A1 · Chang · 2005 [cited by examiner]
US 20070168169A1 · Neave · 2007 [cited by applicant]
US 20110202539A1 · Salemann · 2011 [cited by examiner]
US 20120036124A1 · Gamet et al. · 2012 [cited by applicant]
US 20130218539A1 · Souche · 2013 [cited by examiner]
US 20140136510A1 · Parkkinen et al. · 2014 [cited by applicant]
US 20150356088A1 · Berkhin · 2015 [cited by examiner]
CN 103164440A · 2013 [cited by examiner]
CN 104199986A · 2014 [cited by examiner]
Ji, Changqing, Zhiyang Li, Wenyu Qu, Yujie Xu, and Yuanyuan Li. “Scalable nearest neighbor query processing based on inverted grid index.” (Elsevier, 2014) Journal of Network and Computer Applications 44: 172-182. <http… [cited by examiner]
Yu, Zhiwen. “GPCD: Grid-based predictive collision detection for large-scale environments in computer games.” (IEEE, 2006) In 2006 IEEE International Conference on Multimedia and Expo, pp. 1025-1028. DOI: 10.1109/ICME.2… [cited by examiner]
Grinberg, Ilan, and Yair Wiseman. “Scalable parallel collision detection simulation.” (ACTA Press, 2007) SIP '07: Proceedings of the Ninth IASTED International Conference on Signal and Image Processing, vol. 7, pp. 380-… [cited by examiner]
Neteler, Markus, and Helena Mitasova. Open source GIS: a GRASS GIS approach. (Springer Science & Business Media, 2005) pp. 7-9, 87-88, 99-101. Print ISBN: 1-4020-8064-6 (Year: 2005). [cited by examiner]
Fu, Yu-Chen, Zhi-Yong Hu, Wei Guo, and Dong-Ru Zhou. “QR-tree: a hybrid spatial index structure.” (IEEE, 2003). In Proceedings of the 2003 International Conference on Machine Learning and Cybernetics (IEEE Cat. No. 03EX… [cited by examiner]
Pick, James B., et al. Geographic information systems in business. (Idea Group Publishing 2005). “Chapter V: Spatial Data Repositories: Design, Implementation and Management Issues by Julian Ray”. pp. 84-102. ISBN 1-591… [cited by examiner]
Cova, Thomas J., and Michael F. Goodchild. “Extending geographical representation to include fields of spatial objects.” International Journal of geographical information science 16, No. 6 (2002): 509-532. (Year: 2002). [cited by examiner]
Breitfelder, Kim, and Don Messina. “IEEE 100: the authoritative dictionary of IEEE standards terms.” Standards Information Network IEEE Press. v879 (2000). pp. 1-11, 545-546, 627, 750, 864. (Year: 2000). [cited by examiner]
Codd, Edgar F. “A relational model of data for large shared data banks.” Communications of the ACM 13, No. 6 (1970): 377-387. (Year: 1970). [cited by examiner]
International Search Report for International Application No. PCT/EP2018/073074 dated Nov. 27, 2018, 4 pages. [cited by applicant]
Lin BI et al., “Database-oriented storage based on LMDB and linear octree for massive block model,” ScienceDirect, Transactions of Nonferrous Metals Society of China 26, Jun. 12, 2016, pp. 2462-2468. [cited by applicant]
Benjamin Nakaten et al., “Virtual elements for representation of faults, cracks and hydraulic fractures in dynamic flow simulations” ScienceDirect, Energy Procedia 40 (2013), pp. 447-453. [cited by applicant]