NEURAL NETWORK PREDICTIONS OF FLUID FLOW IN POROUS MEDIA

Systems and methods for predicting fluid flow of porous media are provided. In implementations, a method includes: accessing, by a computing device, a capillary network representation of a porous medium sample; generating, by the computing device, a set of simplified network representations from the capillary network representation; determining, by the computing device, simulated fluid flow properties of each of the simplified network representations using a simulator to perform fluid flow simulations; and training, by the computing device, a neural network (NN) model utilizing the set of simplified network representations as inputs and the simulated fluid flow properties as model targets, thereby generating a trained NN model for predicting fluid flow properties of the porous medium.

BACKGROUND

Aspects of the present invention relate generally to fluid flow analysis of porous media and, more particularly, to neural network (NN) predictions of fluid flow in porous media.

Permeability is a key parameter for quantifying fluid flow in porous media (e.g., rocks). Various methods have been developed to determine permeability and other features of geological samples. One method includes x-ray microtomography imaging of porous media samples. In general x-ray microtomography or micro computed tomography (micro-CT) uses x-rays to create images of cross-sections of a physical object that can be used to recreate a virtual three-dimensional (3D) representation without destroying the original physical object. Another method performs image processing of a 3D representation generated from x-ray microtomography to generate a capillary network representation of a physical object. A fluid flow simulation can be performed on the capillary network representation to predict fluid flow through the physical object.

SUMMARY

In a first aspect of the invention, there is a computer-implemented method including: accessing, by a computing device, a capillary network representation of a porous medium sample; generating, by the computing device, a set of simplified network representations from the capillary network representation; determining, by the computing device, simulated fluid flow properties of each of the simplified network representations using a simulator to perform fluid flow simulations; and training, by the computing device, a neural network (NN) model utilizing the set of simplified network representations as inputs and the simulated fluid flow properties as model targets, thereby generating a trained NN model for predicting fluid flow properties of the porous medium.

In another aspect of the invention, there is a computer program product including one or more computer readable storage media having program instructions collectively stored on the one or more computer readable storage media. The program instructions are executable to: access a capillary network representation, wherein the capillary network representation is a three-dimensional (3D) network of interconnected capillaries representing interconnecting pore structures of a 3D micro-CT scanner model of a porous medium sample; generate a set of simplified network representations from the capillary network representation, wherein each simplified network representation in the set of simplified network representations comprises a two dimensional (2D) or 3D network of interconnected capillary structures that represents a subset of the interconnected capillary structures of the capillary network representation; determine simulated fluid flow properties of each of the simplified network representations using a physics-based simulator to perform fluid flow simulations; and train a neural network (NN) model utilizing the set of simplified network representations as inputs and the simulated fluid flow properties as model targets, thereby generating a trained NN model for predicting fluid flow properties.

In another aspect of the invention, there is system including a processor, a computer readable memory, one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media. The program instructions are executable to: access a capillary network representation, wherein the capillary network representation is a three-dimensional (3D) network of interconnected capillaries representing interconnecting pore structures of a 3D micro-CT scanner model of a porous medium sample; generate a set of simplified network representations from the capillary network representation, wherein each simplified network representation in the set of simplified network representations comprises a two dimensional (2D) or 3D network of interconnected capillary structures that represents a subset of the interconnected capillary structures of the capillary network representation; determine simulated fluid flow properties of each of the simplified network representations using a physics-based simulator to perform fluid flow simulations; train a neural network (NN) model utilizing the set of simplified network representations as inputs and the simulated fluid flow properties as model targets, thereby generating a trained NN model for predicting fluid flow properties; and input a new capillary network representation of a new porous medium sample into the trained NN model, thereby generating predicted fluid flow properties of the new porous medium sample.

DETAILED DESCRIPTION

Aspects of the present invention relate generally to fluid flow analysis of porous media and, more particularly, to neural network (NN) predictions of fluid flow in porous media. In implementations, a porous medium (e.g., rock) sample is subjected to x-ray microtomography imaging by a micro computed tomography (micro-CT) scanner, thereby generating a three-dimensional (3D) representation or image cube representing pore space of the porous medium sample. In embodiments, a computing device uses a network extraction routine to process the 3D representation and generate a capillary network representation of the pore space of the sample, applies a physics-based flow simulator to the capillary network representation to simulate the flow of a select fluid through the sample under select conditions (e.g., pressure, temperature, etc.) to determine a flow property of interest (e.g., permeability, flow rates, residual fluid saturation, etc.), and stores the flow property of interest for later validation of a surrogate NN model.

In embodiments, a computing device applies a network simplification routine to generate a set of simplified network representations (e.g., 50-100 representations) from the capillary network representation, where the set of simplified network representations is much smaller than the capillary network representation (e.g., 3 or more orders of magnitude less). In implementations, for each simplified network representation, a physics-based simulator performs a flow simulation and obtains simulated flow properties of the individual simplified network representations. In aspects of the invention, a computing device performs a NN training routine utilizing the simplified network representations as inputs and their simulated flow properties as model targets to create a trained NN model configured to generate predicted flow properties as an output based on an input of a capillary network representation(s). In embodiments, the computing device compares simulated flow properties to predicted flow properties for NN model validation purposes.

Execution of flow simulations based on capillary network representations can require a large number of computational resources. Implementations of the invention provide an improved digital image-based modeling system that utilizes significantly less computational resources to estimate flow properties of a porous medium sample than are necessary to generate flow property estimates directly from a capillary network representation. In embodiments, an improved digital imaging system (e.g., a micro-CT scanner) is provided to predict flow properties of a porous medium sample based on digital image processing and the use of a trained NN model.

Characteristics are as follows:

Service Models are as follows:

Deployment Models are as follows:

Implementations of the invention may include a computer system/server12ofFIG.1in which one or more of the program modules42are configured to perform (or cause the computer system/server12to perform) one of more functions of the fluid flow prediction96ofFIG.3. For example, the one or more of the program modules42may be configured to: access a capillary network representation, wherein the capillary network representation is a three-dimensional (3D) network of interconnected capillaries representing interconnecting pore structures of a 3D micro-CT scanner model of a porous medium sample; generate a set of simplified network representations from the capillary network representation, wherein each simplified network representation in the set of simplified network representations comprises a two dimensional (2D) or 3D network of interconnected capillary structures that represents a subset of the interconnected capillary structures of the capillary network representation; determine simulated fluid flow properties of each of the simplified network representations using a physics-based simulator to perform fluid flow simulations; train a NN model utilizing the set of simplified network representations as inputs and the simulated fluid flow properties as model targets, thereby generating a trained NN model for predicting fluid flow properties; and input a new capillary network representation of a new porous medium sample into the trained NN model, thereby generating predicted fluid flow properties of the new porous medium sample.

FIG.4shows a block diagram of an exemplary environment400in accordance with aspects of the invention. In embodiments, the environment400includes a network402enabling communication between one or more of: a server404, a micro computed tomography (micro-CT) scanner406, a micro-CT scanner406′, and one or more client devices408. The server404, the micro-CT scanner406, the micro-CT scanner406′, and the one or more client devices408may each comprise the computer system/server12ofFIG.1, or elements thereof. The server404, the micro-CT scanner406, the micro-CT scanner406′, and the one or more client devices408may each be computing nodes10in the cloud computing environment50ofFIG.2. The one or more client devices408may be local computing devices used by cloud consumers in the cloud computing environment50ofFIG.2(e.g., PDA or cellular telephone54A, desktop computer54B, or laptop computer54C), for example.

Implementations of the invention utilize the micro-CT scanner406in communication with a remote server404via the network402. In embodiments, the server404provides cloud-based digital image analysis services to users of the environment400based on x-ray microtomography results from one or more remote micro-CT scanners406. Other implementations of the invention utilize a micro-CT scanner406′ to both generate the x-ray microtomography results and perform a digital image analysis according to methods of the invention.

In embodiments, the server404comprises one or more modules, each of which may comprise one or more program modules such as program modules42described with respect toFIG.1. In the example ofFIG.4, the server404includes a data collection module410, a network extracting module411, a network simplifier module412, a neural network (NN) module413, a flow simulating module414, a flow prediction module415, and a data storage module416, each of which may comprise one or more program module(s)42ofFIG.1, for example.

In embodiments, the micro-CT scanner406and/or the micro-CT scanner406′ comprise one or more modules, each of which may comprise one or more program modules such as program modules42described with respect toFIG.1. In the example ofFIG.4, the micro-CT scanner406includes an imaging module420and a data storage module421, each of which may comprise one or more program module(s)42ofFIG.1, for example. In implementations, the imaging module420is configured to generate digital image data using x-ray microtomography methods, and store the digital image data (e.g., a 3D model of pore space within a physical porous medium) in the data storage module421.

In implementations, the micro-CT scanner406and/or the micro-CT scanner406′ comprise special purpose computing devices configured to generate and process 3D models of physical objects derived from x-ray microtomography. In general, x-ray microtomography or micro-CT uses x-rays to create digital images of cross-sections of a physical object that can be used to recreate a virtual model (3D model) without destroying the original object. The preface “micro” is used to indicate that the pixel sizes of the cross-sections are in the micrometer range. Various micro-CT scanning systems may be utilized in accordance with embodiments of the invention, and embodiments of the invention are not intended to be limited to a particular micro-CT scanning system.

In implementations, the data collection module410of the server404is configured to obtain digital image data (e.g., a 3D model) from the micro-CT scanner406(e.g., from the imaging module420or the data storage module421). In embodiments, the network extracting module411of the server404is configured to generate a digital capillary network representation of a 3D model using a network extraction routine, where the digital capillary network representation includes a network of interconnected capillaries based on pore space in the 3D model.

In implementations, the network simplifier module412of the server404is configured to generate a plurality of simplified network representations based on the capillary network representation using a network simplification routine, wherein each of the simplified network representations include a number of interconnected capillaries that is smaller than the number of interconnected capillaries in the capillary network representation.

In aspects, the NN module413is configured to create and train an NN model using the plurality of simplified networks as an input and simulated flow properties determined from those simplified networks as model targets. In implementations, the flow simulating module414of the server404is configured to determine one or more simulated flow properties of a porous medium sample by simulating a flow of a fluid under predetermined conditions through pore space of the porous medium.

In implementations, flow predicting module415is configured to generate predicted flow properties of a porous medium sample as an output of the NN model by inputting a capillary network representation of the porous medium sample into the trained NN model. In embodiments, the NN module413is also configured to validate the NN model by comparing simulated flow properties with the predicted flow properties, wherein divergence of the simulated flow properties from the predicted flow properties indicates inaccuracies in the NN model. In embodiments, the server404stores generated data in the data storage module416, such as predicted flow properties, simulated flow properties, 3D models, and NN models.

In embodiments, the micro-CT scanner406′ performs functions of both the micro-CT scanner406and the server404. In implementations, the micro-CT scanner406′ comprises one or more modules, each of which may comprise one or more program modules such as program modules42described with respect toFIG.1. In aspects of the invention, the micro-CT scanner406′ includes modules corresponding to modules of the micro-CT scanner406and server404. In the example ofFIG.4, the micro-CT scanner406′ includes an imaging module420′ and a data storage module421′ with functions corresponding to respective modules420and421of the micro-CT scanner406. Additionally, the micro-CT scanner406′ includes a data collection module410′, a network extracting module411′, a network simplifier module412′, a neural network (NN) module413′, a flow simulating module414′, a flow prediction module415′, and a data storage module416′, with functions corresponding to respective modules410-416of the server404.

The server404, the micro-CT scanner406, the micro-CT scanner406′, and the one or more client devices408may each include additional or fewer modules than those shown inFIG.4. In embodiments, separate modules may be integrated into a single module. Additionally, or alternatively, a single module may be implemented as multiple modules. Moreover, the quantity of devices and/or networks in the environment400is not limited to what is shown inFIG.4. In practice, the environment400may include additional devices and/or networks; fewer devices and/or networks; different devices and/or networks; or differently arranged devices and/or networks than illustrated inFIG.4.

FIG.5is a flow diagram providing an overview of a porous media modeling system according to embodiments of the invention. Steps illustrated inFIG.5may be carried out in the environment ofFIG.4and are described with reference to elements depicted inFIG.4.

In implementations, a porous medium sample (e.g., a rock sample)500is scanned by the micro-CT scanner406to generate a 3D model501of the sample. In embodiments, the network extracting module411of the server404generates a capillary network representation502of the 3D model501using a network extraction routine. The term capillary network representation as used herein refers to a 3D network of interconnected capillary structures, wherein the interconnected capillary structures represent interconnecting pore structures of a micro-CT scanner 3D model (e.g., 3D model501). The network simplifier module412of the server404utilizes the capillary network representation502to generate a plurality of simplified network representations indicated at503, where the simplified network representations503each include a number of capillaries that is less than the number of capillaries in the capillary network representation502. The number of simplified network representations generated may vary. In implementations, the number of simplified network representations generated depends on how many simplified network representations are needed to generate an accurate flow prediction, which is determined through validating different iterations of the flow prediction method. As an example, 50-100 simplified network representations503may be generated to obtain an accurate flow prediction according to embodiments of the invention.

The term simplified network representations as used herein refers to a two dimensional (2D) or 3D network of interconnected capillary structures, that represents a subset of the interconnected capillary structures of a complete capillary network representation502. In implementations, each of the simplified network representations503comprise a substantially smaller capillary network than the capillary network representation502, and are optimized to match fluid-relevant morphological properties (e.g., porosity, capillary diameter distribution, etc.) of the capillary network representation502.

With continued reference toFIG.5, the flow simulating module414of the server404determines simulated flow properties504for each of the simplified network representations503. The NN module413utilizes the simplified network representations503and the simulated flow properties504to train a NN model. The flow predicting module415determines predicted flow properties505of the porous medium sample500by inputting the capillary network representation502into the trained NN model. In implementations, the predicted flow properties505are output from the NN model as numerical representations of flow properties of the porous medium sample500. A visualization of a numerical representation of flow properties is depicted at600inFIG.6.

FIG.6is an illustrative example of predicted flow properties generated according to embodiments of the invention. In the example ofFIG.6, a 3D model501of porosity of a porous medium sample500is utilized to generate a capillary network representation502including capillaries with diameters between 5-125 μm generated based on the porosity of the 3D model501. The capillary network representation502is input into the trained NN model according to embodiments of the invention, which generates predicted flow properties in the form of a permeability and porosity graph600.

FIG.7is a flow diagram illustrating training of a NN model in accordance with embodiments of the invention. Steps ofFIG.7may be carried out in the environment ofFIG.4and are described with reference to elements depicted inFIGS.4and5.

As illustrated inFIG.7, the porous medium sample500is input into and scanned by the micro-CT scanner406, which outputs the 3D model501of the porous medium sample500, which is input into the network extracting module411to generate the capillary network representation502. During training of an NN model700, the network simplifier module412generates a plurality of simplified network representations indicated at503A-503N. In implementations, for each simulated network representation503A-503N, fluid flow simulations are performed at701A-701N (e.g., by the flow simulating module414) to generate simulated flow properties504A-504N for the respective simulated network representation503A-503N. In one example, fifty (50) simulated network representations503A-503N are generated by the network simplifier module412and analyzed by the flow simulating module414to determine a simulated permeability and a simulated porosity of each simulated network representation503A-503N.

In implementations, the capillary network representation502is used as an input to the flow simulating module414to generate simulated flow properties704of the capillary network representation. The capillary network representation502is also used as input to the trained NN model700by the flow predicting module415to generate predicted flow properties505of the capillary network representation502.

With continued reference toFIG.7, in embodiments each simplified network representation503A-503N is utilized as an input for training the NN model700at703. Additionally, the simulated flow properties504A-504N are utilized as model target inputs during the model training703. Thus, embodiments of the invention utilize multiple simplified network representations503A-503N (e.g., 50-100 representations) and their associated simulated flow properties to train the NN model700. At step706, validation of the trained NN model700is performed (e.g., by the NN module413) by comparing the simulated flow properties704of the capillary network representation502to the predicted flow properties505to see how much they vary, wherein less variation indicates a more accurate NN model700.

FIG.8illustrates neural network training for fluid flow prediction in accordance with embodiments of the invention. Steps ofFIG.8may be carried out in the environment ofFIG.4and are described with reference to elements depicted inFIGS.4and5.

FIG.8illustrates a set of N simplified network representations503A generated from a capillary network representation502A by the server404or the micro-CT scanner406′. In this example, the number of nodes of the capillary network representation502A is 1,885,585 and the number of links of the capillary network representation502A is 2,763,271, wherein a node is an intersection between capillaries and a link is a capillary connecting two nodes in a capillary network. The number of nodes of the set of N simplified network representations503A is 1394, and the number of links is 1846. It can be seen that the number of nodes in the capillary network representation502A is 3 orders of magnitude greater than the number of nodes in the set of N simplified network representations503A. Likewise the number of links in the capillary network representation502A is 3 orders of magnitude greater than the number of links in the set of N simplified network representations503A.

Simulated flow properties800are generated by the server404or the micro-CT scanner406′ from the plurality of network representations503A for a first fluid (fluid 1) and a second fluid (fluid 2). The server404or the micro-CT scanner406′ identifies morphological properties of interest801, along with flow conditions802and flow properties803(simulated flow properties). The flow properties803are utilized as model targets in the training of the NN model700. In this example, the k-th network representation is set at k=1 . . . N, and each j-th network link804is characterized by a vector Vjk. Per the Vjkvector, M convolutionsare carried out with the surrounding link vectors Vik, with i=1 . . . M, to generate convolutional layers805, followed by a pooling operation represented atto generate pooling layers806. The server404or the micro-CT scanner406′ generates the NN model700after the convolutionand poolingas indicated at807, wherein k=1 . . . N number of simplified networks, and j=1 . . . P number of pooling elements per network.

FIG.9illustrates fluid flow prediction utilizing a trained NN model in accordance with embodiments of the invention. Steps ofFIG.9may be carried out in the environment ofFIG.4and are described with reference to elements depicted inFIGS.4and5.

FIG.9illustrates a set of N simplified network representations503B generated from a capillary network representation502B of a new porous rock sample by the server404or the micro-CT scanner406′. In this example, the capillary network representation502B includes 1,885,585 nodes and 2,763,271 links, and the set of N simplified capillary network representations503B includes 1394 nodes and 1846 links. The simplified network representations503B depict morphological properties900based on certain flow conditions901. In this example, the k-th network representation is set at k=1 . . . N, and each j-th network link is characterized by a vector Vjk. The application of the trained NN model700on the set of N simplified capillary network representations503B is depicted at902(not showing the convolution and pooling), wherein k=1 . . . N number of simplified networks and j=1 . . . P number of pooling elements per network. The predicted flow properties905of the new rock sample are determined by aggregating the results (predicted flow property outputs)904from the trained NN model700, as depicted at906.

FIG.10shows a flowchart of an exemplary method in accordance with aspects of the present invention. Steps of the method may be carried out in the environment ofFIG.4and are described with reference to elements depicted inFIGS.4,5and7. Initially, it is noted that steps ofFIG.10may be implemented by a micro-CT scanner406′ that has been configured to perform steps according to embodiments of the invention, or may be implemented by a server404in communication with a micro-CT scanner406(e.g., a conventional micro-CT scanner).

At step1000, the micro-CT scanner406or micro-CT scanner406′ generates a 3D image representing the spatial distribution of pore space of a porous medium sample (e.g., rock sample)500. In implementations, the 3D image is a 3D image cube501illustrating morphology (e.g., pores) at the micron scale of the interior of the porous medium sample500. In implementations, the micro-CT scanner406or406′ reconstructs the 3D image from serial cross-section images of the porous medium sample500, wherein the cross-sections are generated from transmitting x-rays which pass through the porous medium sample500to reach a 2D area detector. Various types of micro-CT scanners may be utilized in the implementation of step1000, and embodiments of the present invention are not intended to be limited to a particular micro-CT scanner. In embodiments, the imaging module420of the micro-CT scanner406or the imaging module420′ of the micro-CT scanner406′ implements step1000.

At step1001, the server404or the micro-CT scanner406′ generates a complete capillary network representation502of the pore space of the porous medium sample500based on the 3D image (e.g., 3D image cube501) generated at step1000. In general, the complete capillary network representation502represents the pore space of the porous medium sample500through geometrical primitives (e.g., cylinders and spheres), for which flow properties may be obtained. In embodiments, the server404receives the 3D image from the micro-CT scanner406prior to implementing step1001. For example, the data collection module410of the server404may collect the 3D image generated by the imaging module420from the data storage module421of the micro-CT scanner406via the network402.

In implementations, the network extracting module411or the network extracting module411′ utilizes a network extracting routine to process the 3D image generated at step1000to produce the complete capillary network representation502, which represents the complete pore space of the 3D image. In general, the network extracting routine utilizes image processing techniques to process the 3D image to remove pores that are not connecting to a network of interconnecting pores comprising a flow path, and depicts the network of interconnecting pores of the 3D image as capillaries having a diameter.

One example of a network extracting routine includes the steps of: converting the 3D image to 8-bit gray scale, reducing image noise using a filter, and segmenting the noise-reduced grayscale image into solid and void space, leading to a binary image. In implementations, the network extracting routine further includes processing the binary image for morphological analysis and eliminating pore voxels that are not connected to a percolating network. In embodiments, the processed binary image data containing connected pore voxels is then input into a network extraction algorithm, such as a Pore Network Model (PNM), a Reduced Max Ball Model (RMB) or a Capillary Network Model (CNM), to generate the complete capillary network representation502.

At step1002, the server404or the micro-CT scanner406′ determines and stores at least one simulated flow property for the porous medium sample500based on the capillary network representation502. In implementations, the server404or the micro-CT scanner406′ utilizes a flow simulating module414or414′ to initiate a physics-based flow simulating routine on the capillary network representation502to simulate the flow of a predetermined fluid under predetermined conditions (e.g., pressures, temperatures, etc.) through the capillaries of the capillary network representation502, and generates flow properties of interest, such as porosity, permeability, flow rates, residual fluid saturation, or others. The at least one simulated flow property may be stored by the server404or the micro-CT scanner406′ for later use during validation of a trained NN module700(e.g., in the data storage module416or416′).

Various physics-based flow simulating routines may be utilized by the server404or the micro-CT scanner406′ to implement step1002, and the invention is not intended to be limited to a particular flow simulating routine. In implementations, the physics-based flow simulating routine operates on nodes and links of the capillary network representation502. In one example, a flow simulating routine applies Poiseuille's law to the links and mass conservation law to the interior nodes, while maintaining a fixed pressure difference between inlet and outlet boundary nodes. This is represented by a system of mass conservation equation ΣjQij=0 for all nodes i, where Qij=(πRij4/8 μLij) (Pi−Pj) is the flow rate in the capillary that connects node i to node j. The geometrical parameters R and L, respectively, represent the radius and the length of a capillary (link) connecting two nodes of the network and μ is the dynamic viscosity of the fluid. In one example, a viscosity of μ=1 cP is utilized, and a 10 kPa/m pressure gradient is applied along the flow direction in addition to atmospheric pressure. In this example, permeability is calculated using Darcy's Law Q=K (A/μL) ΔP.

At step1003, the server404or the micro-CT scanner406′ generates a set of simplified network representations503based on the complete capillary network representation502, wherein each of the simplified network representations503includes fewer capillaries than the complete capillary network representation502. In implementations, the network simplifier module412of the server404or the network simplifier module412′ of the micro-CT scanner406′ implements a network simplification routine to generate the plurality of simplified network representations502at step1003. In embodiments, the plurality of simplified network representations502are much smaller than the complete capillary network representation502.

Examples of network simplification routines that may be utilized by the server404or the micro-CT scanner406′ include a capillary bundle routine, a regular capillary network routine, and a random capillary network routine.

Capillary Bundle Routine

A capillary bundle with length Lx is distributed in a sample with dimensions Lx, Ly and Lz. The sample volume is defined as the product LxLyLz. The capillary diameters are assigned by randomly choosing the diameter from the diameter probability distribution function. The diameter probability distribution function is obtained from the complete capillary network representation502. Once the above steps are completed, the porosity of each simplified network representation is calculated at step1004by dividing the capillary volume by the sample volume. The capillary bundle routine repeats these steps until reaching a very similar porosity to that of the complete capillary network representation502. In that sense, the set of simplified network representations503preserves the following properties: (i) porosity; and (ii) capillary diameter distribution.

Regular Capillary Network Routine

In the regular capillary network routine, a 2D or 3D cubic complete capillary network representation502is created. The intersection between capillaries, called a node, show 4 or 8 in 2D, or6or12coordination number in 3D (number of capillaries intersecting), depending on the regular network chosen. In these simplified capillary networks, the capillary length is fixed (because it is a regular network). Other parameters such as capillary diameter and node coordination number follow the same probability distribution function as the sample medium's complete capillary network representation502. To fulfill these requirements, the capillary diameters are assigned randomly by choosing the diameter from the probability distribution function. A similar procedure is done to obtain the node coordination number. As the coordination number is a priori fixed by the choice of simplified regular network, some capillaries are deleted to match the coordination number probability distribution function. Once all the above steps are completed, the porosity of the set of simplified network representations503is calculated by dividing the capillary volume by the sample volume. The regular capillary network routine repeats these steps until reaching a very similar porosity to that of the sample medium's original complete capillary network representation502. In that sense, the simplified network preserves the following properties: (i) porosity; (ii) capillary diameter distribution; and (iii) node coordination number distribution.

Random Capillary Network Routine

In the random capillary network routine, a 2D or 3D set of points (or nodes) are randomly distributed in a 2D or 3D space delimited by Lx, Ly and Lz (if 3D). Then, these nodes are connected. The connection between these nodes are called capillaries. Once the nodes are randomly distributed, the capillary length does not follow the capillary length frequency distribution function as the sample medium's original complete capillary network representation502. On the other hand, the parameters capillary diameter and node coordination number follow the same frequency distribution function as the sample medium's original complete capillary network representation502. To generate a simplified random capillary network, the capillary diameters are assigned by randomly choosing the diameter from the diameter frequency distribution function. A similar procedure is done to obtain the node coordination number. As the coordination number is a priori fixed by the number of connections (or capillaries) between nodes, some capillaries are deleted to match the coordination number frequency distribution function. Once all the above steps are completed, the porosity of each simplified network is calculated by dividing the capillary volume by the sample volume. The random capillary network routine repeats these steps until reaching a porosity value within a predefined error margin to that of the sample medium's original complete capillary network representation502. In that sense, the simplified network preserves the following properties: (i) porosity; (ii) capillary diameter distribution; and (iii) node coordination number distribution.

With continued reference toFIG.10, at step1004, the server404or the micro-CT scanner406′ determines and stores at least one simulated flow property504of each simplified network representation in the set of simplified network representations503. In implementations, the server404or the micro-CT scanner406′ utilizes the flow simulating modules414or414′ to initiate a physics-based flow simulating routine on each of the simplified network representations to simulate the flow of a predetermined fluid under predetermined conditions (e.g., pressures, temperatures, etc.) through the capillaries of the respective simplified network representations, and generates flow properties of interest, such as porosity, permeability, flow rates, and residual fluid saturation. The at least one simulated flow property504may be stored by the server404or the micro-CT scanner406′. Various physics-based flow simulating routines may be utilized by the server404or the micro-CT scanner406′ to implement step1004, and the invention is not intended to be limited to a particular flow simulating routine.

At step1005, the server404or the micro-CT scanner406′ creates and/or trains the NN model700using the set of simplified network representations503and the determined simulated flow properties504of the simplified network representations as training inputs. In implementations, the NN module413of the server404or the NN module413′ of the micro-CT scanner406′ utilizes the set of simplified network representations503as model inputs and their simulated flow properties as model targets to create and/or train the NN model700.

It should be understood that a NN model700for determining flow characteristics that requires thousands of full capillary network flow simulations for training purposes would be impractical, as it would be much cheaper and faster (from a computer resource perspective) to perform flow simulations directly on the capillary network (e.g., capillary network representation502). Embodiments of the invention solve this technical problem by providing a method of training the NN model700using smaller, simplified capillary networks (e.g., simplified network representations503) to build a training dataset for the NN model700, which can later be applied to a complete capillary network representation at runtime. The execution of a flow simulation in the simplified capillary networks is vastly cheaper from a computer resource perspective than running a flow simulation directly in the complete capillary network.

At step1006, the server404or the micro-CT scanner406′ generates predicted flow properties of the porous medium sample500by inputting the complete capillary network representation502into the NN model700. In implementations, the flow prediction module415of the server404or the flow prediction model415′ of the micro-CT scanner406′ feed the capillary network representation502to the NN model700, and an evaluation routine of the NN model700outputs the predicted flow properties.

At step1007, the server404or the micro-CT scanner406′ validates the NN model700by comparing the simulated flow properties determined at step1004and the predicted flow properties determined at step1006to determine variations. In embodiments, when the variation between the simulated flow properties and the predicted flow properties is over a predetermine threshold value, the server404or micro-CT scanner406′ determines that modifications to the NN model700and/or further training of the NN model700are required. In implementations, the NN module413of the server404or the NN module413′ of the micro-CT scanner406′ implements step1007.

In implementations, if the server404or the micro-CT scanner406′ determine that the NN model700is not valid, steps1003-1007may be repeated until the variation between the simulated flow properties determined at step1004and the predicted flow properties is below a predetermine threshold value. Once the NN model700is determined to be valid, the method may progress to step1008.

At step1008the server404or the micro-CT scanner406′ generates a new capillary network representation of a new porous medium sample. Step1008may be performed utilizing the same methods as step1001.

At step1009, the server404or the micro-CT scanner406′ inputs the new capillary network representation generated at step1008into the trained NN model700to generate predicted flow properties of the new porous medium sample as outputs.

At step1010, the server404or the micro-CT scanner406′ aggregates the predicted flow properties of the new porous medium sample to generate a report of the flow properties of the new porous medium sample. In embodiments, the flow predicting module415of the server404or the flow predicting module415′ of the micro-CT scanner406′ implements step1010.

At step1011, the server404or the micro-CT scanner406′ displays the report to a user via a user interface of the server404or a user interface of the micro-CT scanner406′. In embodiments, the flow predicting module415of the server404or the flow predicting module415′ of the micro-CT scanner406′ implements step1011. In aspects of the invention the server404or the micro-CT scanner406′ provides NN model results to one or more client devices408via the network402for display by a user interface.

An exemplary use scenario will now be discussed with reference toFIG.10. In accordance with step1000, a porous medium sample (rock sample)500is imaged at sub-microscopic resolution by the imaging module420of the micro-CT scanner406, thereby capturing a 3D model with a volume of 10 mm3or more. The server404obtains the 3D model501, and the network extracting module411generates a capillary network representation502based on the 3D model501in accordance with step1001. In this example, the capillary network representation502contains millions (106-108) of capillaries, rendering a complete flow simulation of the capillary network representation502by the flow simulating module414unfeasible or too computationally expensive. The network simplifier module412of the server404generates a set of simplified network representations503comprising thousands (103-105) of simplified capillary networks containing a reduced number of capillaries (102-104) compared to the capillary network representation502, according to step1003. The flow simulating module414of the server404performs flow simulations on the set of simplified network representations503in accordance with step1004, which has a much smaller computational cost than performing a flow simulation of the capillary network representation502.

In this example, multiphase fluid properties such as viscosity, density, interfacial tension, contact angle, temperature, pressure, and boundary conditions are provided as input to a flow simulation algorithm of the flow simulating module414. For each instance of the thousands of simplified network representations503, a flow simulation is executed by the flow simulating module414and relevant properties of interest are extracted, such as absolute or relative permeability. Based upon this compilation of simplified networks (set of simplified network representations503) and their simulated flow properties504, a NN model700is trained according to step1005. A suitable architecture for the NN model700is a graph convolutional neural network (GCNN). In implementations, a trained GCNN model can be used to replace the full flow simulation performed by the flow simulating module414, and will instead predict the desired flow properties (e.g., predicted flow properties505) based on the complete capillary network representation502and the multiphase fluid properties, or based on a set of simplified network representations503of the complete capillary network representation502.