# US 12,181,623 B2 · Coupling a simulator and at least one other simulator

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,181,623 B2
- Document ID: US12181623B2
- Status: Granted
- Kind: B2
- Application number: 16/816,333
- Filed: 2020-03-12
- Published: 2020-09-17
- Granted: 2024-12-31
- Earliest claimed: 2019-03-12
- Assignees: Chevron U.S.A. Inc.
- Applicants: Chevron U.S.A. Inc.
- Inventors: Bin Wang; Yifan Zhou; Kon-Ming Gary Li; Baris Guyaguler
- Web page: https://patentgrep.com/patent/US12181623B2

## CPC

- G01V 1/306: {for determining physical properties of the subsurface, e.g. impedance, porosity or attenuation profiles}
- G01V 20/00: Geomodelling in general
- G09B 23/06: for physics
- G09B 23/40: for geology
- E21B 41/00: Equipment or details not covered by groups E21B15/00 - E21B40/00
- E21B 2200/20: Computer models or simulations, e.g. for reservoirs under production, drill bits
- G01V 99/00: Subject matter not provided for in other groups of this subclass
- G01V 2210/66: Subsurface modeling
- G01V: GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS (means for indicating the location of accidentally buried, e.g. snow-buried, persons A63B29/02)
- G09B: EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS (devices for psychotechnics or for testing reaction times A61B5/16; games, sports, amusements A63; projectors, projector screens G03B)
- E21B: EARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS

## Abstract

Embodiments of methods, systems, and computer-readable media for coupling two or more simulators to simulate a coupled multi-physics model of a subsurface formation are provided. A coupling framework loads one or more simulators as shared libraries into a common process and a common memory space with a first simulator to create the coupled multi-physics model of the subsurface formation. During simulation, the coupling framework controls data exchange between the first simulator and the other simulator(s) through the common memory space and controls execution of the first simulator and the other simulator(s) responsive to the common process. In the event of two-way coupling, the coupling framework can receive feedback from the other simulator(s) and alter execution of the first simulator. In the event of grid misalignment, the coupling framework can map data between the first simulator and the other simulator(s) such as in a globally conservative (e.g., mass, energy, etc.) manner.

## Claims

### Claim 1

A method of coupling a first simulator and a second simulator to simulate a coupled multi-physics model of a subsurface formation, the method comprising:
loading, by a coupling framework within the first simulator, the second simulator as a shared library into a plurality of common processes and a plurality of common memory spaces with the first simulator to create the coupled multi-physics model of the subsurface formation, wherein the first simulator is a standalone simulator comprising a first computational mesh and a first domain decomposition of the first computational mesh, wherein the second simulator is a standalone simulator comprising a second computational mesh and a second domain decomposition of the second computational mesh, wherein the second simulator is external to the first simulator, wherein the first simulator comprises a first physics model of the subsurface formation and the second simulator comprises a second physics model of the subsurface formation, wherein the first physics model and the second physics model overlap spatially and overlap temporally for the subsurface formation; and
simulating, by the coupling framework, the coupled multi-physics model of the subsurface formation such that the coupling framework performs the following during the simulating to couple the first simulator and the shared library corresponding to the second simulator:
(i) controls data exchange between the first simulator and the second simulator through the plurality of common memory spaces;
(ii) controls execution of the first simulator and the second simulator responsive to the plurality of common processes;
(iii) establishes a communication pattern between the plurality of common processes and the plurality of common memory spaces based on the first domain decomposition of the first computational mesh and the second domain decomposition of the second computational mesh; and
(iv) maps data in a globally conservative manner between the first simulator and the second simulator in the event of grid misalignment.

### Claim 2 (depends on 1)

The method of claim 1, wherein the coupling framework allows one-way coupling, two-way explicit coupling, two-way iterative coupling, or any combination thereof.

### Claim 3 (depends on 2)

The method of claim 2, wherein the coupling framework alters execution of the first simulator in response to feedback from the second simulator in the two-way explicit coupling, the two-way iterative coupling, or any combination thereof.

### Claim 4 (depends on 1)

The method of claim 1, wherein the coupling framework uses at least one application program interface (API) to control execution of the first simulator, the second simulator, or both the first simulator and the second simulator responsive to the plurality of common processes.

### Claim 5 (depends on 1)

The method of claim 1, wherein a plurality of simulators, each comprising a corresponding physics model of the subsurface formation, a corresponding computational mesh, and a corresponding domain decomposition of the corresponding computational mesh, are loaded as a plurality of shared libraries by the coupling framework into the plurality of common processes and the plurality of common memory spaces with the first simulator; and
the coupling framework performs the following during the simulating to couple the first simulator and the plurality of shared libraries corresponding to the plurality of simulators:
(i) controls data exchange between the first simulator and the plurality of (i) simulators through the plurality of common memory spaces;
(ii) controls execution of the first simulator and the plurality of simulators responsive to the plurality of common processes;
(iii) establishes a communication pattern between the plurality of common processes and the plurality of common memory spaces based on the corresponding domain decompositions of the corresponding computational meshes; and
(iv) maps data in a globally conservative manner between the first simulator and the plurality of simulators in the event of grid misalignment.

### Claim 6 (depends on 5)

The method of claim 5, wherein the coupling framework loads the plurality of simulators as the plurality of shared libraries into the plurality of common processes and the plurality of common memory spaces with the first simulator to create the coupled multi-physics model of the subsurface formation.

### Claim 7 (depends on 1)

The method of claim 1:
wherein the coupling framework loads the second simulator or a plurality of simulators, each comprising a corresponding physics model of the subsurface formation, a corresponding computational mesh, and a corresponding domain decomposition of the corresponding computational mesh, into the plurality of common processes and the plurality of common memory spaces with the first simulator to create the coupled multi-physics model of the subsurface formation; and
wherein the coupling framework establishes one-way coupling, two-way explicit coupling, two-way iterative coupling, or any combination thereof for each of the plurality of common processes.

### Claim 8 (depends on 1)

The method of claim 1:
wherein the coupling framework loads the second simulator or a plurality of simulators, each comprising a corresponding physics model of the subsurface formation, a corresponding computational mesh, and a corresponding domain decomposition of the corresponding computational mesh, into the plurality of common processes and the plurality of common memory spaces with the first simulator to create the coupled multi-physics model of the subsurface formation; and
wherein the plurality of common processes and the plurality of common memory spaces reside within a plurality of nodes.

### Claim 9 (depends on 1)

The method of claim 1:
wherein the coupling framework loads the second simulator or a plurality of simulators, each comprising a corresponding physics model of the subsurface formation, a corresponding computational mesh, and a corresponding domain decomposition of the corresponding computational mesh, into the plurality of common processes and the plurality of common memory spaces with the first simulator to create the coupled multi-physics model of the subsurface formation; and
wherein the coupling framework uses a message passing interface (MPI) to: control the data exchange between the plurality of common processes; control the data exchange between a plurality of nodes having the plurality of common processes and the plurality of common memory spaces; or any combination thereof.

### Claim 10 (depends on 1)

The method of claim 1, wherein each simulator comprises a reservoir simulator, a geo-mechanical simulator, a chemical reaction simulator, or an electromagnetic wave propagation simulator.

### Claim 11

A system of coupling a first simulator and a second simulator to simulate a coupled multi-physics model of a subsurface formation, the system comprising:
a processor; and
a memory communicatively connected to the processor, the memory storing computer-executable instructions which, when executed, cause the processor to perform:
loading, by a coupling framework within the first simulator, the second simulator as a shared library into a plurality of common processes and a plurality of common memory spaces with the first simulator to create the coupled multi-physics model of the subsurface formation, wherein the first simulator is a standalone simulator comprising a first computational mesh and a first domain decomposition of the first computational mesh, wherein the second simulator is a standalone simulator comprising a second computational mesh and a second domain decomposition of the second computational mesh, wherein the second simulator is external to the first simulator, wherein the first simulator comprises a first physics model of the subsurface formation and the second simulator comprises a second physics model of the subsurface formation, wherein the first physics model and the second physics model overlap spatially and overlap temporally for the subsurface formation; and
simulating, by the coupling framework, the coupled multi-physics model of the subsurface formation such that the coupling framework performs the following during the simulating to couple the first simulator and the shared library corresponding to the second simulator:
(i) controls data exchange between the first simulator and the second simulator through the plurality of common memory space;
(ii) controls execution of the first simulator and the second simulator responsive to the plurality of common processes;
(iii) establishes a communication pattern between the plurality of common processes and the plurality of common memory spaces based on the first domain decomposition of the first computational mesh and the second domain decomposition of the second computational mesh; and
(iv) maps data in a globally conservative manner between the first simulator and the second simulator in the event of grid misalignment.

### Claim 12 (depends on 11)

The system of claim 11, wherein the system further comprises at least one application program interface (API) used by the coupling framework to control execution of the first simulator, the second simulator, or both the first simulator and the second simulator responsive to the plurality of common processes.

### Claim 13 (depends on 11)

The system of claim 11, wherein a plurality of simulators, each comprising a corresponding physics model of the subsurface formation, a corresponding computational mesh, and a corresponding domain decomposition of the corresponding computational mesh, are loaded as a plurality of shared libraries by the coupling framework into the plurality of common processes and the plurality of common memory spaces; and
the coupling framework performs the following during the simulating to couple the first simulator and the plurality of shared libraries corresponding to the plurality of simulators:
(i) controls data exchange between the first simulator and the plurality of simulators through the plurality of common memory spaces;
(ii) controls execution of the first simulator and the plurality of simulators responsive to the plurality of common processes;
(iii) establishes a communication pattern between the plurality of common processes and the plurality of common memory spaces based on the corresponding domain decompositions of the corresponding computational meshes; and
(iv) maps data in a globally conservative manner between the first simulator and the plurality of simulators in the event of grid misalignment.

### Claim 14 (depends on 13)

The system of claim 13, wherein the coupling framework loads the plurality of simulators as the plurality of shared libraries into the plurality of common processes and the plurality of common memory spaces with the first simulator to create the coupled multi-physics model of the subsurface formation.

### Claim 15 (depends on 11)

The system of claim 11:
wherein the coupling framework loads the second simulator or a plurality of simulators, each comprising a corresponding physics model of the subsurface formation, a corresponding computational mesh, and a corresponding domain decomposition of the corresponding computational mesh, into the plurality of common processes and the plurality of common memory spaces with the first simulator to create the coupled multi-physics model of the subsurface formation; and
wherein the plurality of common processes and the plurality of common memory spaces reside within a plurality of nodes.

### Claim 16 (depends on 15)

The system of claim 15:
wherein the coupling framework loads the second simulator or a plurality of simulators, each comprising a corresponding physics model of the subsurface formation, a corresponding computational mesh, and a corresponding domain decomposition of the corresponding computational mesh, into the plurality of common processes and the plurality of common memory spaces with the first simulator to create the coupled multi-physics model of the subsurface formation; and
wherein the system further comprises a message passing interface (MPI) used by the coupling framework to: control the data exchange between the plurality of common processes; control the data exchange between a plurality of nodes having the plurality of common processes and the plurality of common memory spaces; or any combination thereof.

### Claim 17 (depends on 11)

The system of claim 11, wherein each simulator comprises a reservoir simulator, a geo-mechanical simulator, a chemical reaction simulator, or an electromagnetic wave propagation simulator.

### Claim 18 (depends on 1)

The method of claim 1,
wherein the first simulator comprises a first discretization technique and a first linear solver; and
wherein the second simulator comprises a second discretization technique and a second linear solver.

### Claim 19 (depends on 11)

The system of claim 11, wherein the coupling framework allows one-way coupling, two-way explicit coupling, two-way iterative coupling, or any combination thereof.

### Claim 20 (depends on 19)

The system of claim 19, wherein the coupling framework alters execution of the first simulator in response to feedback from the second simulator in the two-way explicit coupling, the two-way iterative coupling, or any combination thereof.

### Claim 21 (depends on 11)

The system of claim 11:
wherein the coupling framework loads the second simulator or a plurality of simulators, each comprising a corresponding physics model of the subsurface formation, a corresponding computational mesh, and a corresponding domain decomposition of the corresponding computational mesh, into the plurality of common processes and the plurality of common memory spaces with the first simulator to create the coupled multi-physics model of the subsurface formation; and
wherein the coupling framework establishes one-way coupling, two-way explicit coupling, two-way iterative coupling, or any combination thereof for each of the plurality of common processes.
