Computer system for digitally simulating multi-scale fluid flow in computer-aided design model

By using the mesh preparation and simulation engine of the data processing system in the digital 3D CAD model of porous media, combined with constitutive relations and Leverett J functions, the problem of high computational complexity in full-scale analytical simulation is solved, and multiphase fluid flow simulation with lower complexity and higher accuracy is achieved, especially the accurate simulation of fluid residuals in underanalytical structures.

CN121279164APending Publication Date: 2026-01-06DASSAULT SYSTEMS AMERICAS CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510913926.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-06-27
Filing Date
2025-07-03
Publication Date
2026-01-06

AI Technical Summary

Technical Problem

Existing technologies struggle to perform full-scale analytical simulations of multiphase fluid flow in porous media, resulting in high computational complexity and resource requirements. Furthermore, traditional methods fail to accurately capture fluid residues and surface tension effects in underanalytical structures.

Method used

A digital 3D CAD model based on porous media is used to digitally simulate fluid flow through a data processing system. A mesh preparation engine and a simulation engine are used, combined with constitutive relations and Leverett J functions, to reduce surface tension and apply directional drag to simulate the fluid residual in the porous media.

Benefits of technology

It reduces computational complexity and resource requirements, improves the accuracy of multi-scale fluid flow simulation, accurately captures fluid residues in underanalytical structures, reduces excessive surface tension effects, and is suitable for multiphase fluid flow in porous media.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121279164A_ABST
    Figure CN121279164A_ABST
Patent Text Reader

Abstract

Systems and methods for digitally simulating multi-scale fluid flow in a three-dimensional computer-aided design (CAD) model simulating a space, including digitally simulating movement through a fluid interface of a digital representation of a porous medium, the digital representation containing a grid including voxels, the fluid interface representing a separation between a first fluid and a second fluid; and digitally simulating a residual amount of the first fluid and the second fluid within a pore structure in the porous medium by: determining a first capillary pressure and a second capillary pressure of the porous medium; determining a value of voxels in the grid representing a location in the porous medium associated with the pore structure, the value based on the first and second capillary pressures and a porosity value of the location in the porous medium; and determining a residual amount of the first fluid and the second fluid at the voxel based on the values.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application claims priority to U.S. Provisional Application No. 63 / 667,189, filed July 3, 2024, and U.S. Application No. 19 / 253,039, filed June 27, 2025, which are incorporated herein by reference in their entirety. Technical Field

[0003] This specification relates to simulating multiphase or multicomponent fluid flow at multiple scales. Background Technology

[0004] Multiphase or multicomponent fluid flow through porous media is important in many industrial applications, including enhanced oil recovery (EOR) and personal protective equipment (PPE). Porous media can contain highly random and complex geometries, such as networks of pore spaces. To achieve accurate simulations of multiphase flow in porous media, it is crucial to obtain relevant data from all scales of the porous media. Porous media can encompass scales spanning multiple orders of magnitude. For example, in oil and gas reservoirs, the scale range, in terms of size, can range from nanometer-sized pores in the reservoir rock to tens or hundreds of kilometers in size within the reservoir itself. This full scale range impacts the storage and extraction of hydrocarbons. Summary of the Invention

[0005] This disclosure describes a method for digitally simulating multi-scale fluid flow. This method enables accurate digital simulation of fluid flow in porous media without requiring a digital representation of the porous media to fully resolve its smallest scale. Full-scale analytical simulation of fluid flow in porous media can be computationally difficult in terms of data volume and computational resources. Therefore, this method enables digital fluid flow simulation with lower computational complexity and fewer computational resources compared to full-scale analytical simulation. This method can be implemented on a data processing system such as a computer system. The data processing system has access to a digital mesh of a digital three-dimensional (3D) computer-aided design (CAD) model of the porous media, which is a digital representation of the porous media. The data processing system can digitally simulate the residual amount of a first fluid within one or more pore structures in the porous media. The residual amount of fluid may be, for example, oil retained in pore structures whose size is smaller than the voxel size of the digital mesh after the porous media has been submerged by water, but is not limited to this. The data processing system can determine the residual amount of fluid based on one or more capillary pressure and porosity values ​​associated with one or more locations in the digital representation of the porous media.

[0006] In one example implementation, a computer system for digitally simulating multi-scale fluid flow in a three-dimensional computer-aided design (CAD) model in simulated space includes: one or more processors; and a memory comprising: a mesh preparation engine for generating and storing a digital representation of a porous medium based on the digital three-dimensional CAD model, the digital representation including a mesh containing multiple voxels; and a simulation engine for reading the digital representation of the mesh in the simulated space from the mesh preparation engine. The simulation engine is configured to store instructions for digitally simulating fluid flow in the porous medium. When executed by one or more processors, these instructions cause the one or more processors to perform the following operations: read the digital representation of the mesh in the simulated space from the mesh preparation engine; digitally simulate movement through a fluid interface representing a separation between a first fluid and a second fluid in the mesh representing the porous medium; and digitally simulate one or more residual amounts of the first fluid and the second fluid within one or more pore structures in the porous medium. The digital simulation of one or more residual quantities of the first and second fluids includes: determining the first and second capillary pressures of the porous medium; determining one or more values ​​of one or more voxels in the grid representing one or more locations in the porous medium associated with one or more pore structures, the one or more values ​​being based on the first and second capillary pressures and one or more porosity values ​​at one or more locations in the porous medium associated with one or more pore structures; and determining one or more residual quantities of the first and second fluids at one or more voxels based on the one or more values.

[0007] In one aspect that can be combined with the example implementation, one or more pore structures comprise one or more pores in a porous medium with a size smaller than the voxel size.

[0008] In another aspect, which may be combined with one, some, or all of the foregoing aspects, determining one or more values ​​of one or more voxels in the grid includes using a constitutive relationship between capillary pressure and fluid saturation, which uses the porosity value.

[0009] In another aspect that can be combined with one, some, or all of the aforementioned aspects, constitutive relations are scaled using the similarity of Leverett J functions.

[0010] In another aspect, which may be combined with one, some, or all of the foregoing aspects, the operation includes reducing the surface tension between the first and second fluids represented by one or more voxels in the grid by applying counteracting volume forces to one or more voxels based on the properties of the first and second fluids.

[0011] In another aspect, which may be combined with one, some, or all of the foregoing aspects, the characteristics of the second fluid include the average density and maximum density between the first and second fluids.

[0012] In another aspect, which may be combined with one, some, or all of the foregoing aspects, the operation includes digitally simulating fluid flow within one or more pore structures of a porous medium by applying resistance to one or more voxels representing one or more locations of one or more pore structures in the porous medium.

[0013] In another aspect, which may be combined with one, some, or all of the foregoing aspects, resistance is applied to one or more voxels in the direction of permeability based on the porous medium.

[0014] In another aspect, which may be combined with one, some, or all of the foregoing aspects, for each voxel, the direction is determined based on the principal axis of the Hessian matrix of the porosity of the location in the porous medium represented by each voxel.

[0015] In another example implementation, a method for digitally simulating multi-scale fluid flow in a three-dimensional computer-aided design (CAD) model in simulated space includes reading a digital representation of a porous medium based on a digital three-dimensional CAD model from a hardware storage device via a data processing system. The digital representation includes a mesh comprising a plurality of voxels. The data processing system digitally simulates movement through a fluid interface representing a separation between a first fluid and a second fluid within the mesh representing the porous medium. The data processing system also digitally simulates one or more residual amounts of the first and second fluids within one or more pore structures in the porous medium. Digitally simulating one or more residual amounts of the first and second fluids via the data processing system includes: determining a first capillary pressure and a second capillary pressure in the porous medium via the data processing system; determining one or more values ​​in the mesh representing one or more locations in the porous medium associated with one or more pore structures via the data processing system, the one or more values ​​being based on the first capillary pressure and the second capillary pressure, and one or more porosity values ​​at one or more locations in the porous medium associated with one or more pore structures via the data processing system; and determining one or more residual amounts of the first and second fluids at one or more voxels via the data processing system based on the one or more values.

[0016] In one aspect that can be combined with the example implementation, one or more pore structures comprise one or more pores in a porous medium with a size smaller than the voxel size.

[0017] In another aspect, which may be combined with one, some, or all of the foregoing aspects, determining one or more values ​​of one or more voxels in the grid includes using a constitutive relationship between capillary pressure and fluid saturation, which uses the porosity value.

[0018] In another aspect that can be combined with one, some, or all of the aforementioned aspects, constitutive relations are scaled using the similarity of Leverett J functions.

[0019] Another aspect, which may be combined with one, some, or all of the foregoing aspects, includes reducing the surface tension between the first and second fluids represented by one or more voxels in the grid by applying counteracting volume forces to one or more voxels based on the properties of the first and second fluids.

[0020] Another aspect, which may be combined with one, some, or all of the foregoing aspects, includes digitally simulating fluid flow within one or more pore structures of a porous medium by applying resistance to one or more voxels representing one or more locations of one or more pore structures in the porous medium, wherein the resistance is applied to one or more voxels in a direction based on the permeability of the porous medium.

[0021] In another aspect, which may be combined with one, some, or all of the foregoing aspects, for each voxel, the direction is determined based on the principal axis of the Hessian matrix of the porosity of the location in the porous medium represented by each voxel.

[0022] In another example implementation, one or more non-transitory machine-readable storage devices store instructions for digitally simulating multi-scale fluid flow in a three-dimensional computer-aided design (CAD) model in simulated space. These instructions are executable by one or more processors to cause the following operations to be performed: reading from a hardware storage device a digital representation of a porous medium based on the digital three-dimensional CAD model, the digital representation including a mesh comprising a plurality of voxels; digitally simulating movement through a fluid interface representing a separation between a first fluid and a second fluid within the mesh representing the porous medium; and digitally simulating one or more residual amounts of the first and second fluids within one or more pore structures in the porous medium. Digitally simulating one or more residual amounts of the first and second fluids includes: determining a first capillary pressure and a second capillary pressure in the porous medium; determining one or more values ​​in the mesh representing one or more locations in the porous medium associated with one or more pore structures, the one or more values ​​being based on the first and second capillary pressures and one or more porosity values ​​at one or more locations in the porous medium associated with one or more pore structures; and determining one or more residual amounts of the first and second fluids at one or more voxels based on the one or more values.

[0023] In one aspect that can be combined with the example implementation, determining one or more values ​​of one or more voxels in the mesh includes using a constitutive relationship between capillary pressure and fluid saturation, which uses the porosity value.

[0024] In another aspect, which may be combined with one, some, or all of the foregoing aspects, the operation includes reducing the surface tension between the first and second fluids represented by one or more voxels in the grid by applying counteracting volume forces to one or more voxels based on the properties of the first and second fluids.

[0025] In another aspect, which may be combined with one, some, or all of the foregoing aspects, the operation includes digitally simulating fluid flow within one or more pore structures of a porous medium by applying resistance to one or more voxels representing one or more locations of one or more pore structures in the porous medium, wherein the resistance is applied to one or more voxels in a direction based on the permeability of the porous medium.

[0026] One or more of the foregoing aspects can provide one or more advantages disclosed herein. The systems and methods described herein reduce the computational complexity and resources required for digital simulation of multi-scale and multiphase fluid flows in porous media compared to the computational complexity and resources required. Digital fluid flow simulation can simulate the amount of residual fluid retained in porous structures with dimensions smaller than the spatial resolution of the simulation. Detecting and simulating the residual fluid flow improves the accuracy of digital fluid flow simulation compared to other methods that simulate fluid flow in porous media with under-analytical porous structures in the simulation, while being cheaper and easier to compute than full-scale analytical simulation. Full-scale analytical simulation can be prohibitively expensive due to the large scale range in the simulation.

[0027] The systems and methods disclosed herein improve the accuracy of multiscale and multicomponent flow simulations by capturing the residual components trapped in underanalyzed structures. The systems and methods of this disclosure further improve multiscale and multicomponent flow simulations by reducing excessive surface tension effects in underanalyzed regions caused by spurious potential models, such as those in the Lattice Boltzmann method. The systems and methods of this disclosure prevent non-physical fluid intrusion into underanalyzed porous structures by identifying the directionality of the underanalyzed structure to apply drag in the correct direction, enabling better simulation of heterogeneous underanalyzed structures.

[0028] Other features and advantages of the method will become apparent from the following detailed description and claims. Attached Figure Description

[0029] Figure 1 This is a schematic diagram of an example system for digital simulation of fluid flow.

[0030] Figure 2 It is a schematic diagram of a digital simulation of fluid flow through a porous medium.

[0031] Figure 3A and 3B This is an example of porosity and fluid distribution in a digital representation of porous media.

[0032] Figure 4 This is a flowchart of an example method for digitally simulating multi-scale fluid flow in a three-dimensional computer-aided design (CAD) model in simulated space.

[0033] Figure 5 This is an example curve comparing capillary pressure with water saturation for porous media with various porosity values.

[0034] Figure 6 This is an example computer-aided design model representing porous media.

[0035] Figures 7A-7H It is a visualization result generated by digital simulation of water intrusion into porous media at different time stages and with different simulation parameters.

[0036] Figure 8 This is a flowchart of an example method for digitally simulating multi-scale fluid flow in a digital representation of heterogeneous porous media.

[0037] Figure 9A This is a schematic diagram of a simulation space used for digitally simulating multi-scale fluid flow.

[0038] Figure 9B and 9C It is by Figure 9A Example visualizations of digital simulations of fluid flow in a simulated space.

[0039] Details of one or more embodiments of this disclosure are set forth in the following drawings and description. Other features, objects, and advantages of this disclosure will become apparent from the description and drawings, as well as from the claims. Detailed Implementation

[0040] This disclosure describes a method for digitally simulating multi-scale fluid flow. This method enables accurate digital simulation of fluid flow in porous media without requiring a fully analytical digital representation of the porous media at its smallest scale. Full-scale analytical simulation of fluid flow in porous media can be computationally difficult to achieve given the amount of data and computational resources required to perform such simulations, which might otherwise be impractical or impossible. Therefore, this method enables digital fluid flow simulations with lower computational complexity and fewer computational resources compared to full-scale analytical simulations. This method can be implemented on a data processing system such as a computer system. The data processing system has access to a digital mesh of a digital three-dimensional (3D) computer-aided design (CAD) model of the porous media, which is a digital representation of the porous media. The data processing system can digitally simulate the residual amount of a first fluid within one or more pore structures in the porous media. The residual amount of fluid may, for example, be caused by oil retained in pore structures smaller than the voxel size of the digital mesh after the porous media has been submerged in water, but is not limited to this. The data processing system can determine the fluid residue based on one or more capillary pressure and porosity values ​​associated with one or more locations in the digital representation of the porous medium.

[0041] Figure 1A schematic diagram of an example data processing system 10 performing multi-scale and multiphase digital fluid flow simulations in a digital representation of a simulated space is shown. In this implementation, system 10 is based on a client-server or cloud-based architecture, including a server system 12 implemented as a massively parallel computing system 16 (standalone or cloud-based), and a client system 14 coupled via a network 15. The server system 12 includes a memory 18, a bus system 22, interfaces 20 (e.g., user interface / network interface / display or monitor interface, etc.), and processing devices 24. The memory 18 includes a mesh preparation engine 32 and a simulation engine 34.

[0042] although Figure 1 Mesh preparation engine 32 is shown in memory 18, but the mesh preparation engine may be a third-party application running on a system different from server 12. Regardless of whether mesh preparation engine 32 runs in memory 18 or on a system different from server 12, it receives a user-provided mesh definition 30 based on a drawing 31 generated by CAD, prepares the mesh, and sends (and / or stores) the prepared mesh to simulation engine 34. The mesh is a digital representation of the porous medium and comprises multiple voxels. Voxels form computational units for fluid simulation. One method for generating a digital representation of the porous medium is to obtain a representation from a 3D image generated from, for example, a micro-CT scan of a rock sample, as described, for example, in U.S. Patent 11,907,625, the entire contents of which are incorporated herein by reference.

[0043] One method used to simulate fluid flow is the so-called Lattice Boltzmann Model (LBM). In an LBM-based physical process simulation system, fluid flow is represented by a distribution function value, which is evaluated at a set of discrete velocities using the well-known Lattice Boltzmann equations describing the time evolution of the distribution function. The distribution function involves two processes: the transport process and the collision process.

[0044] The simulation engine 34 includes a collision interaction module 34a, which includes surface dynamic transformation 34b, boundary processing module 34c, and advection operation 34d. System 10 accesses a data storage library 38, which stores 2D and / or 3D meshes (Cartesian and / or curves), coordinate systems, and libraries. For example, system 10 writes data to and reads data from data storage 38, including, for example, digitally simulated data representing movement through a fluid interface representing a grid of porous media, the fluid interface representing a separation between a first fluid and a second fluid; digitally simulated data representing one or more residual amounts of the first fluid within one or more pore structures in the porous media; data representing a first capillary pressure and a second capillary pressure in the porous media; data representing one or more values ​​in the grid representing one or more voxels at one or more locations in the porous media associated with one or more pore structures, the one or more values ​​being based on the first capillary pressure and the second capillary pressure, and one or more porosity values ​​at one or more locations in the porous media associated with one or more pore structures; and data representing one or more residual amounts of the first fluid at one or more voxels based on the one or more values, wherein each of these can be read from and / or written to data storage 38 as needed.

[0045] Further details about the lattice Boltzmann method can be found in U.S. Patent 5,848,260 ('260 patent) or U.S. Patent 11,847,391 ('391 patent), the full text of which is incorporated herein by reference.

[0046] Although this description is for LBM-based physical process simulations, other computational fluid dynamics methods can also be used to simulate fluid flow. For example, the finite volume method and the finite element method can also be used to simulate fluid flow in porous media.

[0047] The simulation engine 34 also includes a processing module 50, which processes multi-scale porous media with under-resolved regions. The processing module 50 can simulate pristine porous materials with various sizes, including under-resolved small scales, without resolving all under-resolved small scales in the pristine porous material. Module 50 considers the effects of under-resolved small scales, such as residual fluid behind the moving interface, surface tension, and flow resistance caused by under-resolved small scales.

[0048] Fluid forces (such as viscous and capillary forces) arising from underanalyzed pore structures in porous media can be modeled using constitutive relationships, such as those between permeability and porosity, capillary pressure and water saturation, or relative permeability and water saturation. While constitutive relationships help capture the fluid dynamics in homogeneous underanalyzed structures as the dominant order, the detailed fluid behavior may deviate from reality because they fail to capture fluid residuals in structures smaller than the simulated voxel size, resulting in excessive surface tension, and fail to impose appropriate directionality on the flow resistance caused by the underanalyzed structure.

[0049] Figure 2 This is a schematic diagram of a digital simulation of a fluid interface moving through a porous medium. Computational cells 200 (e.g., pixels or voxels) comprise under-resolved pore structures 202. These under-resolved pore structures include pores 203 smaller than the size of the computational cells 200. The spatial resolution of the mesh representing the porous medium in the fluid simulation is determined by the size or length of the computational cells 200. Water 204 intrudes into the computational cells 200 from top to bottom. Conventional simulations assume that the fluid interface 206 is flat during intrusion when modeling capillary forces. This results in no other components besides water in the computational cells 200 behind the interface 206. While this assumption may be reasonable when coupled with a fluid slover to a diffusion interface model that does not allow for resolving interface structures at a scale finer than the cell size, it fails to capture the residual components of the fluid behind the interface 206. In some cases, these residual components can be considered separately using input constitutive relations in a standard fluid solver that reflect local structural information.

[0050] Figure 3A A representation of the porosity distribution in a computational domain (e.g., digital analog space) is shown. Figure 3B The diagram illustrates the fluid distribution within the computational domain during the intrusion process. Due to the excessive surface tension effect within the computational cells of the computational domain, the fluid interface is almost flat.

[0051] Under certain geometric conditions, digital models may generate excessive surface tension effects. In multi-scale simulations, surface tension effects originate from the underlying multi-component flow solver and the multi-scale model. The multi-component flow solver contributes forces across computational cells, while the multi-scale model contributes forces within individual cells. As local porosity decreases, porosity connectivity between adjacent computational cells may decrease. Therefore, surface tension from the multi-component flow solver should be mitigated. For example, Figure 3BThe diagram illustrates the intrusion of water through random porosity elements. Due to the strong surface tension effect, the intrusion occurs at a flat interface. This flat interface deviates from reality, necessitating a reduction in surface tension to improve accuracy. However, controlling surface tension using a multi-component lattice Boltzmann solver is not straightforward due to its influence on interface thickness and stray currents.

[0052] Figure 4 This is a flowchart of an example method 400 for digitally simulating multi-scale fluid flow in a 3D CAD model in a simulated space. Method 400 can be implemented on a data processing system or a computer system. For example, method 400 can be implemented by the processing module 50 in the simulation engine 34 of system 10.

[0053] The data processing system reads a digital representation of the mesh in the 402 analog space from memory. For example, the data processing system reads the mesh from a mesh preparation engine. In some implementations, the data processing system accesses the mesh from a data storage device (such as a database or hardware storage device). The mesh can be a digital representation of a porous medium based on a digital 3D CAD model. The mesh comprises multiple voxels. The porous medium can be heterogeneous. The mesh may include portions associated with underresolved pore structures in the porous medium within the mesh.

[0054] The data processing system digitally simulates the movement of fluid interfaces 404 through a grid representing a porous medium. A fluid interface represents the separation between a first fluid and a second fluid. For example, a fluid interface can represent the separation between oil and water, or between a liquid and a gas. The two fluids can have different physical properties, such as density, surface tension, viscosity, etc.

[0055] In some implementations, the data processing system reduces the surface tension between the first and second fluids, represented by one or more voxels in the mesh, by applying a 406 counteracting body force to one or more voxels in the mesh based on the properties of the first and second fluids. For example, on top of the pseudopotential model in the lattice Boltzmann method, the data processing system can add a reaction force to each fluid to reduce the existing surface tension. Since the effect of surface tension is proportional to the curvature of the interface, the counteracting force can also be proportional. To minimize the sub-effects on interface thickness and stray current, these terms can be formulated with the density of the other fluids, just like the original body force in the pseudopotential model. As a result, for example, the additional body force of fluid α... It can be written as:

[0056]

[0057] Where ρ α It is the density of fluid α. κ is the model parameter. And ψ ave and ψ max These are the average density and maximum density of the fluid, respectively. This refers to fluids other than fluid α.

[0058] In some implementations, the data processing system digitally simulates fluid flow within one or more pore structures in a porous medium by applying resistance to one or more voxels representing one or more locations within the porous medium. The data processing system can apply resistance to one or more voxels in a certain direction based on the permeability of the porous medium. The data processing system can determine the direction of resistance for each voxel based on the principal axis of the Hessian matrix of the porosity at each location in the porous medium represented by each voxel.

[0059] When the intensity of fluid forces derived from a multi-scale model is defined in scalar form, the directionality of the underanalytical structure cannot be accounted for because scalars have no direction. If the pore structure is homogeneous, then the scalar form may be appropriate. Otherwise, this assumption limits the scope of multi-scale simulations. To better represent the directionality and intensity of fluid forces, they can be represented in tensor form. The data processing system can rotate the tensor to the appropriate orientation based on local structural information of the pore structure. Specifically, the principal axis direction of the fluid force intensity and the direction of the principal drag coefficient can be determined by calculating the gradient of the local porosity and the Hessian. The input drag in tensor form can then be rotated to have an orientation consistent with the determined direction.

[0060] Simulating the resistance of viscous forces from underanalytical porous structures It can be formalized as:

[0061]

[0062] Where u j It is the fluid velocity, R ij It is the tensor drag coefficient, which is defined as

[0063]

[0064] Where ν is the kinematic viscosity, K ij This is the permeability tensor. Since the permeability tensor is symmetric and positive definite, it can be diagonalized as:

[0065]

[0066] in It is a diagonal matrix that serves as input. Matrix A ij Due to local porosity Hessian matrix eigenvector v i Composition. Local porosity is the porosity of a porous material at locations with underanalyzed pore structures. Local porosity can vary throughout the porous medium. If some of the three eigenvalues ​​of the Hessian matrix are closed or the calculation is affected by discretization errors, then the calculated gradient... It can be used as a guide for the directionality of resistance.

[0067] The data processing system digitally simulates one or more residual amounts of a first fluid and a second fluid within one or more pore structures in a porous medium. The one or more pore structures can be, for example, one or more pores in the porous medium with a size smaller than the size of one voxel among a plurality of voxels in a mesh.

[0068] To digitally simulate one or more residual quantities of the first and second fluids (410), the data processing system determines the first and second capillary pressures of the porous medium (412). For example, the data processing system can determine the maximum and minimum capillary pressures of the porous medium.

[0069] The data processing system determines one or more values ​​for one or more voxels in a 414-grid array, representing one or more locations in a porous medium associated with one or more pore structures. Pores smaller than a voxel can be represented by a single sample (e.g., by the value associated with the voxel) because the pores within a voxel have the same pore structure type. These one or more values ​​are based on first and second capillary pressures, and one or more porosity values ​​at one or more locations in the porous medium associated with one or more pore structures. The data processing system can determine these one or more values ​​using constitutive relations. For example, the data processing system can use the relationship between capillary pressure and fluid saturation. This relationship can be scaled using, for example, the Leverett J function based on the local porosity in the porous medium.

[0070] The data processing system determines one or more residual amounts of the first fluid at one or more voxels based on these one or more values. For example, the data processing system may determine the fluid residual amount based on a determined water saturation level based on capillary pressure and local porosity.

[0071] Figure 5 This is a graph 500 showing an example constitutive relationship 502 between water saturation value (Sw) and capillary pressure (Pc). The reference maximum and minimum capillary pressures are expressed as...

[0072] 504 and 506. According to and Determine the water saturation value. Constitutive relation 502 and The intersection of lines 504 indicates a water saturation value of 508 from the residual oil. Constitutive relation 502 and... The intersection of 506 represents the water saturation value 510 from the residual water. Here, constitutive relation 502 and capillary pressure curve Pc are scaled using the similarity of the Leverett J function:

[0073]

[0074] Where K0 is the penetration rate. Here, σ is porosity, θ is surface tension, and θ is the contact angle. That is, for a surface with porosity... The location is determined by inputting the porosity. Pc was from Scaling to:

[0075]

[0076] In this way, the Pc curve reflects local porosity information, and therefore the detected residual water saturation also varies according to local porosity. Scaling the constitutive relation in this manner allows for non-smooth water saturation variations from voxel to voxel (e.g., from cell to cell).

[0077] Figure 6 An example visualization of a digital representation of porous medium 600 is shown. Porous medium 600 is a rock sample. The granular structure of the rock sample consists of analytically large pores 602 sandwiched between fine pore structures 604 on both sides. The fine pore structures 604 are under-analyzed in the simulation and are therefore handled using local porosity through a multi-scale model.

[0078] Figures 7A-7H A visualization of the results of a digital fluid flow simulation in a porous medium 600 is shown. The results are presented at two different times. At the start of the simulation, oil occupies the entire domain, and water enters from the upper boundary under pressure. Figure 7A and 7B A visualization of a fluid flow simulation excluding mitigation measures that account for the effects of under-analyzed pore structure is shown. Using the original model, water 700 intrudes into the under-analyzed region at a nearly flat interface 702, with no oil 704 remaining behind. Figure 7C and 7D A visualization of a simulation of combining method 400 to capture residual oil 706 behind the main water interface 702 is shown. Figure 7E and 7F The simulation visualization shows the effects of reducing surface tension from the underanalyzed pore structure, in addition to capturing residual oil 706. The main water interface 702 exhibits a wavy pattern during intrusion. Figure 7G and 7H A visualization of a higher-resolution simulation of fluid flow through porous medium 600 is shown. High-resolution simulations have more voxels than under-resolution simulations. Therefore, high-resolution simulations require more computation time and resources. Compared to the results of the original model plots shown, for example, 7A and 7B, the simulation using method 400... Figure 7C-7F The results shown are more consistent with high-resolution simulations.

[0079] Figure 8 This is a flowchart of an example method 800 for simulating fluid flow in a heterogeneous porous medium. Method 800 can be implemented on a data processing system (such as system 10). For example, method 800 can be executed by simulation engine 34. The data processing system reads 802 a digital representation of the porous medium, based on a digital CAD model, from memory. The data processing system applies 804 resistance to one or more voxels in the representation of one or more locations of one or more pore structures in the porous medium. The one or more pore structures can be under-resolved by the mesh. The data processing system applies 804 resistance in substantially the same manner as applying 408 resistance in method 400. The data processing system can apply resistance to one or more voxels in a certain direction based on the permeability of the porous medium. The data processing system can determine the direction of resistance for each voxel based on the principal axis of the Hessian matrix of the porosity at the location in the porous medium represented by each voxel. The data processing system digitally simulates 806 fluid flow through the mesh. In digital simulations of fluid flow, even when the pores are under-resolved and the porosity is heterogeneous, the applied resistance can still prevent fluid from flowing into the low-porosity region.

[0080] Figure 9A This is a schematic diagram of simulation space 900 used for digital simulation of multi-scale fluid flow. Simulation space 900 is a two-dimensional underanalytical porous medium, with low porosity regions 902 and 904 in the middle of simulation space 900.

[0081] Figure 9B and 9C This is an example visualization generated from a digital simulation of fluid flow in a simulated space of 900. A driving force is applied from top to bottom. Figure 9B In this context, the resistance of porous media is defined using scalar values. Figure 9C In this method, the resistance of the porous medium is defined in tensor form according to method 800. For the tensor form, the large resistance is assigned in one of three directions. As described in method 800, the direction of the large resistance coefficient is searched in each computational cell (pixel) by calculating the Hessian matrix of the porosity. As a result, the flow does not penetrate into the low porosity regions 902 and 904 due to the tensor resistance coefficient, compared to the flow penetrating into the low porosity regions 902 and 904 due to the scalar resistance coefficient.

[0082] Embodiments of the subject matter and functional operation described herein may be implemented in digital electronic circuits, tangibly embodied computer software or firmware, computer hardware (including the structures disclosed herein and their structural equivalents), or combinations thereof. Embodiments of the subject matter described herein may be implemented as one or more computer programs (i.e., one or more modules of computer program instructions encoded on a tangible, non-transitory program carrier for execution by a data processing apparatus or for controlling the operation of a data processing apparatus), which are generated and executed to perform the techniques described herein, including, for example... Figure 4 and Figure 8 The characteristics of computer storage media include: machine-readable storage devices, machine-readable storage substrates, random or serial access storage devices, or combinations thereof.

[0083] The term "data processing apparatus" refers to data processing hardware and includes all kinds of devices, apparatuses, and machines for processing data, such as programmable processors, computers, or multiple processors or computers. The apparatus may also be or further include special-purpose logic circuitry (e.g., FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits)). In addition to hardware, the apparatus may optionally include code that generates an execution environment for computer programs (e.g., code constituting processor firmware, protocol stacks, database management systems, operating systems, or combinations thereof).

[0084] A computer program may also be referred to or described as a program, software, software application, module, software module, script, or code. It may be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may, but does not need to, correspond to a file in a file system. A program may be stored as a portion of a file that holds other programs or data (e.g., in a markup language document, in a single file dedicated to the program in question, or in one or more scripts within a plurality of collaborative files (e.g., a file storing one or more modules, subroutines, or code portions). A computer program may be deployed such that it executes on one or more computers located in one location or distributed across multiple locations and interconnected via a data communication network.

[0085] A computer suitable for executing computer programs can be based on a general-purpose or special-purpose microprocessor, or both, or any other type of central processing unit. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory on media and storage devices, including, for example, semiconductor storage devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, and CD-ROM and DVD-ROM discs. The processor and memory may be supplemented or incorporated therein by dedicated logic circuitry.

[0086] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes back-end components (e.g., as a data server), or middleware components (e.g., an application server), or front-end components (e.g., a client computer with a graphical user interface or web browser through which a user can interact with an implementation of the subject matter described in this specification), or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected via digital data communication (e.g., a communication network) of any form or medium. Examples of communication networks include local area networks (LANs) and wide area networks (WANs) (e.g., the Internet).

[0087] A computing system may include clients and servers. Clients and servers are typically geographically separated and usually interact via a communication network. The client-server relationship arises from computer programs running on their respective computers and involves a client-server relationship. In some embodiments, the server transmits data (e.g., HTML pages) to a user device acting as a client (e.g., to display data to a user interacting with the user device and to receive user input from that user device). Data generated at the user device (e.g., the result of user interaction) may be received at the server from the user device.

[0088] Specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions described in the claims can be performed in different orders and the desired results can still be obtained. As an example, the processes depicted in the figures do not necessarily require the specific order or sequential order shown to achieve the desired results. In some cases, multitasking and parallel processing may be advantageous.

Claims

1. A computer system for numerically simulating multi-scale fluid flow in a three- dimensional computer-aided design (CAD) model of a simulation space, the computer system comprising: one or more processors; and a memory, the memory comprising: a grid preparation engine to generate and store a digital representation of a porous medium based on a digital three-dimensional CAD model, the digital representation comprising a grid comprising a plurality of voxels; and a simulation engine to read the digital representation of the grid in the simulation space from the grid preparation engine, the simulation engine configured to store instructions for numerically simulating fluid flow in the porous medium, the instructions, when executed by the one or more processors, cause the one or more processors to perform operations comprising: reading the digital representation of the grid in the simulation space from the grid preparation engine; numerically simulating movement of a fluid interface through the grid representing the porous medium, the fluid interface representing a separation between a first fluid and a second fluid; and numerically simulating one or more residual amounts of the first fluid and the second fluid within one or more pore structures of the porous medium by: determining a first capillary pressure and a second capillary pressure of the porous medium; determining one or more values of one or more voxels in the grid representing one or more locations in the porous medium associated with the one or more pore structures, the one or more values based on the first capillary pressure and the second capillary pressure, and one or more porosity values of the one or more locations in the porous medium associated with the one or more pore structures; and determining the one or more residual amounts of the first fluid and the second fluid at the one or more voxels based on the one or more values.

2. The system of claim 1, wherein the one or more pore structures comprise one or more pores in the porous medium having a size smaller than a size of a voxel.

3. The system of claim 1, wherein determining the one or more values of the one or more voxels in the grid comprises using a constitutive relationship between capillary pressure and fluid saturation, the constitutive relationship using the porosity value.

4. The system of claim 3, wherein the constitutive relationship is scaled using a similarity of a Leverett J function.

5. The system of claim 1, wherein the operations further comprise reducing a surface tension between the first fluid and the second fluid represented by the one or more voxels in the grid by applying a counteracting body force to the one or more voxels based on properties of the first fluid and the second fluid.

6. The system of claim 5, wherein the properties of the second fluid comprise an average density and a maximum density between the first fluid and the second fluid.

7. The system of claim 1, wherein the operations further comprise numerically simulating fluid flow within the one or more pore structures of the porous medium by applying a resistance to the one or more voxels representing the one or more locations of the one or more pore structures in the porous medium. ​ 8. The system of claim 7, wherein the one or more voxels are subjected to a resistance in a direction based on permeability of the porous medium.

9. The system of claim 8, wherein for each voxel, the direction is determined based on a principal axis of a Hessian matrix of porosity at a location in the porous medium represented by each voxel.

10. A method for numerically simulating multi-scale fluid flow in a three- dimensional computer-aided design (CAD) model of a simulation space, the method comprising: reading, by a data processing system from a hardware storage device, a digital representation of a porous medium based on a digital three-dimensional CAD model, the digital representation comprising a grid comprising a plurality of voxels; numerically simulating, by the data processing system, movement of a fluid interface through the grid representing the porous medium, the fluid interface representing a separation between a first fluid and a second fluid; and numerically simulating, by the data processing system, one or more residual amounts of the first fluid and the second fluid within one or more pore structures in the porous medium by: determining, by the data processing system, a first capillary pressure and a second capillary pressure of the porous medium; determining, by the data processing system, one or more values of one or more voxels in the grid representing one or more locations in the porous medium associated with the one or more pore structures, the one or more values based on the first capillary pressure and the second capillary pressure, and one or more porosity values of the one or more locations in the porous medium associated with the one or more pore structures; and determining, by the data processing system, the one or more residual amounts of the first fluid and the second fluid at the one or more voxels based on the one or more values.

11. The method of claim 10, wherein the one or more pore structures comprise one or more pores in the porous medium having a size smaller than a size of a voxel.

12. The method of claim 10, wherein determining the one or more values of the one or more voxels in the grid comprises using a constitutive relationship between capillary pressure and fluid saturation that uses the porosity value.

13. The method of claim 12, wherein the constitutive relationship uses a Leverett J-function similarity for scaling.

14. The method of claim 10, further comprising reducing a surface tension between the first fluid and the second fluid represented by the one or more voxels in the grid by applying a counter volume force to the one or more voxels based on properties of the first fluid and the second fluid.

15. The method of claim 10, further comprising: numerically simulating fluid flow within the one or more pore structures of the porous medium by applying a resistance to the one or more voxels representing the one or more locations of the one or more pore structures in the porous medium, wherein the resistance is applied to the one or more voxels in a direction based on permeability of the porous medium.

16. The method of claim 15, wherein, for each voxel, the direction is determined based on a principal axis of a Hessian matrix of the porosity of the location in the porous medium represented by each voxel.

17. One or more non-transitory machine-readable storage devices storing instructions for numerically simulating multi-scale fluid flow in a three-dimensional computer-aided design (CAD) model of a simulation space, the instructions executable by one or more processors to cause performance of operations comprising: reading, from a hardware storage device, a digital representation of a porous medium based on a digital three-dimensional CAD model, the digital representation comprising a grid comprising a plurality of voxels; numerically simulating movement of a fluid interface through the grid representing the porous medium, the fluid interface representing a separation between a first fluid and a second fluid; and numerically simulating one or more residual amounts of the first fluid and the second fluid within one or more pore structures in the porous medium by: determining a first capillary pressure and a second capillary pressure of the porous medium; determining one or more values of one or more voxels in the grid representing one or more locations in the porous medium associated with the one or more pore structures, the one or more values based on the first capillary pressure and the second capillary pressure, and one or more porosity values of the one or more locations in the porous medium associated with the one or more pore structures; and determining the one or more residual amounts of the first fluid and the second fluid at the one or more voxels based on the one or more values.

18. The one or more non-transitory machine-readable storage devices of claim 17, wherein determining the one or more values of the one or more voxels in the grid comprises using a constitutive relationship between capillary pressure and fluid saturation that uses the porosity value.

19. The one or more non-transitory machine-readable storage devices of claim 17, wherein the operations further comprise reducing a surface tension between the first fluid and the second fluid represented by the one or more voxels in the grid by applying a counteracting body force to the one or more voxels based on properties of the first fluid and the second fluid.

20. The one or more non-transitory machine-readable storage devices of claim 17, wherein the operations further comprise numerically simulating fluid flow within the one or more pore structures of the porous medium by applying a resistance to the one or more voxels representing the one or more locations of the one or more pore structures in the porous medium, wherein the resistance is applied to the one or more voxels in a direction based on a permeability of the porous medium.

Citation Information

Patent Citations

  • Computer system for simulating physical processes using surface algorithm

    US11847391B2

  • Computer simulation of multi-phase and multi-component fluid flows including physics of under-resolved porous structures

    US11907625B2

  • Computer system for simulating physical processes

    US5848260A