Patentable/Patents/US-10762258
US-10762258

Parallel solution for fully-coupled fully-implicit wellbore modeling in reservoir simulation

PublishedSeptember 1, 2020
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Computer processing time and results are improved in fully-coupled fully-implicit well-reservoir simulation system using Jacobian matrix methodology. Approximate inverse preconditioners are provided which treat a well influence matrix at comparable accuracy and robustness to those for the grid-to-grid flow terms of system matrix. The methodology is highly parallelizable and the data processing can be performed faster, as fewer solver iterations are required to converge to the same acceptable tolerances.

Patent Claims
24 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of simulating flow of multiphase fluids in wellbores of multilateral wells, the method comprising the steps of: partitioning a reservoir into a plurality of reservoir grid cells; partitioning each multilateral wellbore of a plurality multilateral wellbores into a plurality of wellbore cells; determining a plurality of sub-domains, each of the subdomains comprising a subset of the reservoir grid cells; determining, for the reservoir grid cells, state changes and pressures of the reservoir grid cells and flow interchange of multiphase fluid between the reservoir grid cells and the wellbore cells; determining, for the wellbore cells, flow interchange within the wellbore cells and flow interchange of the multiphase fluids between the wellbore cells and the reservoir grid cells; determining, for each of the multilateral wellbores, a multilateral wellbore dataset comprising: well segment internal data corresponding to wellbore cells associated with the multilateral wellbore; and for each sub-domain intersected by a segment of the multilateral wellbore, well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the multilateral wellbore and reservoir grid cells of the sub-domain intersected; determining, for each of the sub-domains, a sub-domain dataset comprising: grid cell internal data corresponding to the reservoir grid cells associated with the sub-domain; for each segment of a multilateral wellbore intersecting the sub-domain, grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and wellbore cells associated with the segment of the multilateral wellbore intersected; and for each other sub-domain of the plurality of sub-domains that is adjacent the sub-domain, grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and reservoir grid cells of the other sub-domain adjacent the sub-domain; providing each of the multilateral wellbore datasets to different processors of a parallel processing system, wherein each of the multilateral wellbore datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other multilateral wellbore datasets is provided to, the providing of each of the multilateral wellbore datasets to different processors of the parallel processing system comprising: providing, to a first processor of the parallel processing system associated with a first multilateral wellbore of the multilateral wellbores having segments intersecting a first sub-domain of the sub-domains, a first multilateral wellbore dataset comprising first well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the first multilateral wellbore and reservoir grid cells of the first sub-domain; providing each of the sub-domain datasets to different processors of the parallel processing system, wherein each of the sub-domain datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other sub-domain datasets is provided to, the providing of each of the sub-domain datasets to different processors of the parallel processing system comprising: providing, to a second processor of the parallel processing system associated with the first sub-domain, a first sub-domain dataset comprising first grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and wellbore cells associated with the segment of the first multilateral wellbore, and first grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of a second sub-domain; and providing, to a third processor of the parallel processing system associated with the second sub-domain, second grid-to-grid data comprising matrix data representing the flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of the second sub-domain; and conducting, by the processors of the parallel processing system, parallel processing of the multilateral wellbore datasets and the sub-domain datasets to generate a simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, the parallel processing comprising: exchanging, by the processors of the parallel processing system, well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets, the exchanging comprising: the first processor and the second processor exchanging the first well-to-grid data and the first grid-to-well data; and the second processor and the third processor exchanging the first grid-to-grid data and the second grid-to-grid data; forming, based on the exchange of well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets by the processors of the parallel processing system, a series preconditioner as a series based expansion by matrix-vector multiplication operations of well influence terms based on the established representations of flow interchange with the wellbore cells for the reservoir grid cells and the established representations of flow interchange with the reservoir grid cells for wellbore cells having flow interchange; applying a conjugate residual interactive matrix solution in the computer to solve the representations of flow of the multiphase fluids in the reservoir grid cells and wellbore cells to obtain a solution vector; repeating the steps of forming a series preconditioner by matrix-vector multiplication operations and applying a conjugate residual interactive matrix solution in the computer to solve for the representations of flow of the multiphase fluids of the wellbore cells until the obtained solution vector is within an established limit of accuracy; determining that the obtained residual is within the established limit of accuracy; and in response to determining that the obtained residual is within the established limit of accuracy, displaying the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir.

2

2. The method of claim 1 , further comprising: determining, based on the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, a location of a well to be drilled; and drilling, based on the determination of the location of the well to be drilled, the well at the location determined.

3

3. The method of claim 1 , further comprising storing the simulation of representations of flow of the multiphase fluids of the wellbore cells.

4

4. A method of simulating flow of multiphase fluids in wellbores of multilateral wells, the method comprising the steps of: partitioning a reservoir into a plurality of reservoir grid cells; partitioning each multilateral wellbore of a plurality multilateral wellbores into a plurality of wellbore cells; determining a plurality of sub-domains, each of the subdomains comprising a subset of the reservoir grid cells; determining, for the reservoir grid cells, state changes and pressures of the reservoir grid cells and flow interchange of multiphase fluid between the reservoir grid cells and the wellbore cells; determining, for the wellbore cells, flow interchange within the wellbore cells and flow interchange of the multiphase fluids between the wellbore cells and the reservoir grid cells; determining, for each of the multilateral wellbores, a multilateral wellbore dataset comprising: well segment internal data corresponding to wellbore cells associated with the multilateral wellbore; and for each sub-domain intersected by a segment of the multilateral wellbore, well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the multilateral wellbore and reservoir grid cells of the sub-domain intersected; determining, for each of the sub-domains, a sub-domain dataset comprising: grid cell internal data corresponding to the reservoir grid cells associated with the sub-domain; for each segment of a multilateral wellbore intersecting the sub-domain, grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and wellbore cells associated with the segment of the multilateral wellbore intersected; and for each other sub-domain of the plurality of sub-domains that is adjacent the sub-domain, grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and reservoir grid cells of the other sub-domain adjacent the sub-domain; providing each of the multilateral wellbore datasets to different processors of a parallel processing system, wherein each of the multilateral wellbore datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other multilateral wellbore datasets is provided to; providing each of the sub-domain datasets to different processors of the parallel processing system, wherein each of the sub-domain datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other sub-domain datasets is provided to; and conducting, by the processors of the parallel processing system, parallel processing of the multilateral wellbore datasets and the sub-domain datasets to generate a simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, the parallel processing comprising: exchanging, by the processors of the parallel processing system, well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets; forming, based on the exchange of well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets by the processors of the parallel processing system, a series preconditioner as a series based expansion by matrix-vector multiplication operations of well influence terms based on the established representations of flow interchange with the wellbore cells for the reservoir grid cells and the established representations of flow interchange with the reservoir grid cells for wellbore cells having flow interchange; applying a conjugate residual interactive matrix solution in the computer to solve the representations of flow of the multiphase fluids in the reservoir grid cells and wellbore cells to obtain a solution vector within an established limit of accuracy; determining that the obtained residual is within the established limit of accuracy; and in response to determining that the obtained residual is within the established limit of accuracy, displaying the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir.

5

5. The method of claim 4 , wherein the providing of each of the multilateral wellbore datasets to different processors of the parallel processing system comprises: providing, to a first processor of the parallel processing system associated with a first multilateral wellbore of the multilateral wellbores having segments intersecting a first sub-domain of the sub-domains, a first multilateral wellbore dataset comprising first well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the first multilateral wellbore and reservoir grid cells of the first sub-domain, wherein the providing of each of the sub-domain datasets to different processors of the parallel processing system comprises: providing, to a second processor of the parallel processing system associated with the first sub-domain, a first sub-domain dataset comprising first grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and wellbore cells associated with the segment of the first multilateral wellbore, and first grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of a second sub-domain; and providing, to a third processor of the parallel processing system associated with the second sub-domain, second grid-to-grid data comprising matrix data representing the flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of the second sub-domain, and wherein the exchanging of well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets comprises: the first processor and the second processor exchanging the first well-to-grid data and the first grid-to-well data; and the second processor and the third processor exchanging the first grid-to-grid data and the second grid-to-grid data.

6

6. The method of claim 4 , further comprising repeating the steps of forming a series preconditioner by matrix-vector multiplication operations and applying a conjugate residual interactive matrix solution in the computer to solve for the representations of flow of the multiphase fluids of the wellbore cells until the obtained solution vector is within the established limit of accuracy.

7

7. The method of claim 4 , further comprising: determining, based on the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, a location of a well to be drilled; and drilling, based on the determination of the location of the well to be drilled, the well at the location determined.

8

8. The method of claim 4 , further comprising storing the simulation of representations of flow of the multiphase fluids of the wellbore cells.

9

9. A non-transitory computer readable storage medium comprising program instructions stored thereon that are executable by processors to perform the following steps for simulating flow of multiphase fluids in wellbores of multilateral wells: partitioning a reservoir into a plurality of reservoir grid cells; partitioning each multilateral wellbore of a plurality multilateral wellbores into a plurality of wellbore cells; determining a plurality of sub-domains, each of the subdomains comprising a subset of the reservoir grid cells; determining, for the reservoir grid cells, state changes and pressures of the reservoir grid cells and flow interchange of multiphase fluid between the reservoir grid cells and the wellbore cells; determining, for the wellbore cells, flow interchange within the wellbore cells and flow interchange of the multiphase fluids between the wellbore cells and the reservoir grid cells; determining, for each of the multilateral wellbores, a multilateral wellbore dataset comprising: well segment internal data corresponding to wellbore cells associated with the multilateral wellbore; and for each sub-domain intersected by a segment of the multilateral wellbore, well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the multilateral wellbore and reservoir grid cells of the sub-domain intersected; determining, for each of the sub-domains, a sub-domain dataset comprising: grid cell internal data corresponding to the reservoir grid cells associated with the sub-domain; for each segment of a multilateral wellbore intersecting the sub-domain, grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and wellbore cells associated with the segment of the multilateral wellbore intersected; and for each other sub-domain of the plurality of sub-domains that is adjacent the sub-domain, grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and reservoir grid cells of the other sub-domain adjacent the sub-domain; providing each of the multilateral wellbore datasets to different processors of a parallel processing system, wherein each of the multilateral wellbore datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other multilateral wellbore datasets is provided to, the providing of each of the multilateral wellbore datasets to different processors of the parallel processing system comprising: providing, to a first processor of the parallel processing system associated with a first multilateral wellbore of the multilateral wellbores having segments intersecting a first sub-domain of the sub-domains, a first multilateral wellbore dataset comprising first well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the first multilateral wellbore and reservoir grid cells of the first sub-domain; providing each of the sub-domain datasets to different processors of the parallel processing system, wherein each of the sub-domain datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other sub-domain datasets is provided to, the providing of each of the sub-domain datasets to different processors of the parallel processing system comprising: providing, to a second processor of the parallel processing system associated with the first sub-domain, a first sub-domain dataset comprising first grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and wellbore cells associated with the segment of the first multilateral wellbore, and first grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of a second sub-domain; and providing, to a third processor of the parallel processing system associated with the second sub-domain, second grid-to-grid data comprising matrix data representing the flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of the second sub-domain; and conducting, by the processors of the parallel processing system, parallel processing of the multilateral wellbore datasets and the sub-domain datasets to generate a simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, the parallel processing comprising: exchanging, by the processors of the parallel processing system, well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets, the exchanging comprising: the first processor and the second processor exchanging the first well-to-grid data and the first grid-to-well data; and the second processor and the third processor exchanging the first grid-to-grid data and the second grid-to-grid data; forming, based on the exchange of well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets by the processors of the parallel processing system, a series preconditioner as a series based expansion by matrix-vector multiplication operations of well influence terms based on the established representations of flow interchange with the wellbore cells for the reservoir grid cells and the established representations of flow interchange with the reservoir grid cells for wellbore cells having flow interchange; applying a conjugate residual interactive matrix solution in the computer to solve the representations of flow of the multiphase fluids in the reservoir grid cells and wellbore cells to obtain a solution vector; repeating the steps of forming a series preconditioner by matrix-vector multiplication operations and applying a conjugate residual interactive matrix solution in the computer to solve for the representations of flow of the multiphase fluids of the wellbore cells until the obtained solution vector is within an established limit of accuracy; determining that the obtained residual is within the established limit of accuracy; and in response to determining that the obtained residual is within the established limit of accuracy, displaying the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir.

10

10. The medium of claim 9 , the steps further comprising: determining, based on the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, a location of a well to be drilled; and controlling, based on the determination of the location of the well to be drilled, drilling of the well at the location determined.

11

11. The medium of claim 9 , the steps further comprising storing the simulation of representations of flow of the multiphase fluids of the wellbore cells.

12

12. A non-transitory computer readable storage medium comprising program instructions stored thereon that are executable by processors to perform the following steps for simulating flow of multiphase fluids in wellbores of multilateral wells: partitioning a reservoir into a plurality of reservoir grid cells; partitioning each multilateral wellbore of a plurality multilateral wellbores into a plurality of wellbore cells; determining a plurality of sub-domains, each of the subdomains comprising a subset of the reservoir grid cells; determining, for the reservoir grid cells, state changes and pressures of the reservoir grid cells and flow interchange of multiphase fluid between the reservoir grid cells and the wellbore cells; determining, for the wellbore cells, flow interchange within the wellbore cells and flow interchange of the multiphase fluids between the wellbore cells and the reservoir grid cells; determining, for each of the multilateral wellbores, a multilateral wellbore dataset comprising: well segment internal data corresponding to wellbore cells associated with the multilateral wellbore; and for each sub-domain intersected by a segment of the multilateral wellbore, well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the multilateral wellbore and reservoir grid cells of the sub-domain intersected; determining, for each of the sub-domains, a sub-domain dataset comprising: grid cell internal data corresponding to the reservoir grid cells associated with the sub-domain; for each segment of a multilateral wellbore intersecting the sub-domain, grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and wellbore cells associated with the segment of the multilateral wellbore intersected; and for each other sub-domain of the plurality of sub-domains that is adjacent the sub-domain, grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and reservoir grid cells of the other sub-domain adjacent the sub-domain; providing each of the multilateral wellbore datasets to different processors of a parallel processing system, wherein each of the multilateral wellbore datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other multilateral wellbore datasets is provided to; providing each of the sub-domain datasets to different processors of the parallel processing system, wherein each of the sub-domain datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other sub-domain datasets is provided to; and conducting, by the processors of the parallel processing system, parallel processing of the multilateral wellbore datasets and the sub-domain datasets to generate a simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, the parallel processing comprising: exchanging, by the processors of the parallel processing system, well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets; forming, based on the exchange of well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets by the processors of the parallel processing system, a series preconditioner as a series based expansion by matrix-vector multiplication operations of well influence terms based on the established representations of flow interchange with the wellbore cells for the reservoir grid cells and the established representations of flow interchange with the reservoir grid cells for wellbore cells having flow interchange; applying a conjugate residual interactive matrix solution in the computer to solve the representations of flow of the multiphase fluids in the reservoir grid cells and wellbore cells to obtain a solution vector within an established limit of accuracy; determining that the obtained residual is within the established limit of accuracy; and in response to determining that the obtained residual is within the established limit of accuracy, displaying the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir.

13

13. The medium of claim 12 , wherein the providing of each of the multilateral wellbore datasets to different processors of the parallel processing system comprises: providing, to a first processor of the parallel processing system associated with a first multilateral wellbore of the multilateral wellbores having segments intersecting a first sub-domain of the sub-domains, a first multilateral wellbore dataset comprising first well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the first multilateral wellbore and reservoir grid cells of the first sub-domain, wherein the providing of each of the sub-domain datasets to different processors of the parallel processing system comprises: providing, to a second processor of the parallel processing system associated with the first sub-domain, a first sub-domain dataset comprising first grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and wellbore cells associated with the segment of the first multilateral wellbore, and first grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of a second sub-domain; and providing, to a third processor of the parallel processing system associated with the second sub-domain, second grid-to-grid data comprising matrix data representing the flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of the second sub-domain, and wherein the exchanging of well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets comprises: the first processor and the second processor exchanging the first well-to-grid data and the first grid-to-well data; and the second processor and the third processor exchanging the first grid-to-grid data and the second grid-to-grid data.

14

14. The medium of claim 12 , the steps further comprising repeating the steps of forming a series preconditioner by matrix-vector multiplication operations and applying a conjugate residual interactive matrix solution in the computer to solve for the representations of flow of the multiphase fluids of the wellbore cells until the obtained solution vector is within the established limit of accuracy.

15

15. The medium of claim 12 , the steps further comprising: determining, based on the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, a location of a well to be drilled; and controlling, based on the determination of the location of the well to be drilled, drilling of the well at the location determined.

16

16. The medium of claim 12 , the steps further comprising storing the simulation of representations of flow of the multiphase fluids of the wellbore cells.

17

17. A parallel processing system for simulating flow of multiphase fluids in wellbores of multilateral wells, the system comprising: processors; and non-transitory computer readable storage medium comprising program instructions stored thereon that are executable by the processors to perform the following steps: partitioning a reservoir into a plurality of reservoir grid cells; partitioning each multilateral wellbore of a plurality multilateral wellbores into a plurality of wellbore cells; determining a plurality of sub-domains, each of the subdomains comprising a subset of the reservoir grid cells; determining, for the reservoir grid cells, state changes and pressures of the reservoir grid cells and flow interchange of multiphase fluid between the reservoir grid cells and the wellbore cells; determining, for the wellbore cells, flow interchange within the wellbore cells and flow interchange of the multiphase fluids between the wellbore cells and the reservoir grid cells; determining, for each of the multilateral wellbores, a multilateral wellbore dataset comprising: well segment internal data corresponding to wellbore cells associated with the multilateral wellbore; and for each sub-domain intersected by a segment of the multilateral wellbore, well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the multilateral wellbore and reservoir grid cells of the sub-domain intersected; determining, for each of the sub-domains, a sub-domain dataset comprising: grid cell internal data corresponding to the reservoir grid cells associated with the sub-domain; for each segment of a multilateral wellbore intersecting the sub-domain, grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and wellbore cells associated with the segment of the multilateral wellbore intersected; and for each other sub-domain of the plurality of sub-domains that is adjacent the sub-domain, grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and reservoir grid cells of the other sub-domain adjacent the sub-domain; providing each of the multilateral wellbore datasets to different processors of the parallel processing system, wherein each of the multilateral wellbore datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other multilateral wellbore datasets is provided to, the providing of each of the multilateral wellbore datasets to different processors of the parallel processing system comprising: providing, to a first processor of the parallel processing system associated with a first multilateral wellbore of the multilateral wellbores having segments intersecting a first sub-domain of the sub-domains, a first multilateral wellbore dataset comprising first well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the first multilateral wellbore and reservoir grid cells of the first sub-domain; providing each of the sub-domain datasets to different processors of the parallel processing system, wherein each of the sub-domain datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other sub-domain datasets is provided to, the providing of each of the sub-domain datasets to different processors of the parallel processing system comprising: providing, to a second processor of the parallel processing system associated with the first sub-domain, a first sub-domain dataset comprising first grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and wellbore cells associated with the segment of the first multilateral wellbore, and first grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of a second sub-domain; and providing, to a third processor of the parallel processing system associated with the second sub-domain, second grid-to-grid data comprising matrix data representing the flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of the second sub-domain; and conducting, by the processors of the parallel processing system, parallel processing of the multilateral wellbore datasets and the sub-domain datasets to generate a simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, the parallel processing comprising: exchanging, by the processors of the parallel processing system, well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets, the exchanging comprising: the first processor and the second processor exchanging the first well-to-grid data and the first grid-to-well data; and the second processor and the third processor exchanging the first grid-to-grid data and the second grid-to-grid data; forming, based on the exchange of well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets by the processors of the parallel processing system, a series preconditioner as a series based expansion by matrix-vector multiplication operations of well influence terms based on the established representations of flow interchange with the wellbore cells for the reservoir grid cells and the established representations of flow interchange with the reservoir grid cells for wellbore cells having flow interchange; applying a conjugate residual interactive matrix solution in the computer to solve the representations of flow of the multiphase fluids in the reservoir grid cells and wellbore cells to obtain a solution vector; repeating the steps of forming a series preconditioner by matrix-vector multiplication operations and applying a conjugate residual interactive matrix solution in the computer to solve for the representations of flow of the multiphase fluids of the wellbore cells until the obtained solution vector is within an established limit of accuracy; determining that the obtained residual is within the established limit of accuracy; and in response to determining that the obtained residual is within the established limit of accuracy, displaying the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir.

18

18. The system of claim 17 , the steps further comprising: determining, based on the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, a location of a well to be drilled; and the system further comprising a drilling system configured to drill, based on the determination of the location of the well to be drilled, the well at the location determined.

19

19. The system of claim 17 , the steps further comprising storing the simulation of representations of flow of the multiphase fluids of the wellbore cells.

20

20. A parallel processing system for simulating flow of multiphase fluids in wellbores of multilateral wells, the system comprising: processors; and non-transitory computer readable storage medium comprising program instructions stored thereon that are executable by the processors to perform the following steps: partitioning a reservoir into a plurality of reservoir grid cells; partitioning each multilateral wellbore of a plurality multilateral wellbores into a plurality of wellbore cells; determining a plurality of sub-domains, each of the subdomains comprising a subset of the reservoir grid cells; determining, for the reservoir grid cells, state changes and pressures of the reservoir grid cells and flow interchange of multiphase fluid between the reservoir grid cells and the wellbore cells; determining, for the wellbore cells, flow interchange within the wellbore cells and flow interchange of the multiphase fluids between the wellbore cells and the reservoir grid cells; determining, for each of the multilateral wellbores, a multilateral wellbore dataset comprising: well segment internal data corresponding to wellbore cells associated with the multilateral wellbore; and for each sub-domain intersected by a segment of the multilateral wellbore, well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the multilateral wellbore and reservoir grid cells of the sub-domain intersected; determining, for each of the sub-domains, a sub-domain dataset comprising: grid cell internal data corresponding to the reservoir grid cells associated with the sub-domain; for each segment of a multilateral wellbore intersecting the sub-domain, grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and wellbore cells associated with the segment of the multilateral wellbore intersected; and for each other sub-domain of the plurality of sub-domains that is adjacent the sub-domain, grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the sub-domain and reservoir grid cells of the other sub-domain adjacent the sub-domain; providing each of the multilateral wellbore datasets to different processors of the parallel processing system, wherein each of the multilateral wellbore datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other multilateral wellbore datasets is provided to; providing each of the sub-domain datasets to different processors of the parallel processing system, wherein each of the sub-domain datasets is provided to a respective processor of the parallel processing system that is different from the processor each of the other sub-domain datasets is provided to; and conducting, by the processors of the parallel processing system, parallel processing of the multilateral wellbore datasets and the sub-domain datasets to generate a simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, the parallel processing comprising: exchanging, by the processors of the parallel processing system, well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets; forming, based on the exchange of well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets by the processors of the parallel processing system, a series preconditioner as a series based expansion by matrix-vector multiplication operations of well influence terms based on the established representations of flow interchange with the wellbore cells for the reservoir grid cells and the established representations of flow interchange with the reservoir grid cells for wellbore cells having flow interchange; applying a conjugate residual interactive matrix solution in the computer to solve the representations of flow of the multiphase fluids in the reservoir grid cells and wellbore cells to obtain a solution vector within an established limit of accuracy; determining that the obtained residual is within the established limit of accuracy; and in response to determining that the obtained residual is within the established limit of accuracy, displaying the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir.

21

21. The system of claim 20 , wherein the providing of each of the multilateral wellbore datasets to different processors of the parallel processing system comprises: providing, to a first processor of the parallel processing system associated with a first multilateral wellbore of the multilateral wellbores having segments intersecting a first sub-domain of the sub-domains, a first multilateral wellbore dataset comprising first well-to-grid data comprising matrix data representing flow interchange between wellbore cells associated with the segment of the first multilateral wellbore and reservoir grid cells of the first sub-domain, wherein the providing of each of the sub-domain datasets to different processors of the parallel processing system comprises: providing, to a second processor of the parallel processing system associated with the first sub-domain, a first sub-domain dataset comprising first grid-to-well data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and wellbore cells associated with the segment of the first multilateral wellbore, and first grid-to-grid data comprising matrix data representing flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of a second sub-domain; and providing, to a third processor of the parallel processing system associated with the second sub-domain, second grid-to-grid data comprising matrix data representing the flow interchange between the reservoir grid cells of the first sub-domain and reservoir grid cells of the second sub-domain, and wherein the exchanging of well-to-grid data of the multilateral wellbore datasets, grid-to-well data of the sub-domain datasets, and grid-to-grid data of the sub-domain datasets comprises: the first processor and the second processor exchanging the first well-to-grid data and the first grid-to-well data; and the second processor and the third processor exchanging the first grid-to-grid data and the second grid-to-grid data.

22

22. The system of claim 20 , the steps further comprising repeating the steps of forming a series preconditioner by matrix-vector multiplication operations and applying a conjugate residual interactive matrix solution in the computer to solve for the representations of flow of the multiphase fluids of the wellbore cells until the obtained solution vector is within the established limit of accuracy.

23

23. The system of claim 20 , the steps further comprising: determining, based on the simulation of representations of flow of the multiphase fluids of the wellbore in the reservoir, a location of a well to be drilled; and the system further comprising a drilling system configured to drill, based on the determination of the location of the well to be drilled, the well at the location determined.

24

24. The system of claim 20 , the steps further comprising storing the simulation of representations of flow of the multiphase fluids of the wellbore cells.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

January 31, 2019

Publication Date

September 1, 2020

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Parallel solution for fully-coupled fully-implicit wellbore modeling in reservoir simulation” (US-10762258). https://patentable.app/patents/US-10762258

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.