Historical fitting method and device for oil and gas reservoir
By calculating the permeability field using pre-stack seismic data and well logging data, and combining large-scale and small-scale inversion, the problem of inaccurate permeability fields in existing technologies has been solved, thus achieving greater accuracy and reliability in oil and gas reservoir development.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA PETROCHEMICAL CORP
- Filing Date
- 2024-10-17
- Publication Date
- 2026-04-17
AI Technical Summary
Existing technologies are not accurate enough in obtaining permeability fields when fitting the history of oil and gas reservoirs. Four-dimensional seismic methods require high-precision seismic resolution, which leads to the loss of detailed information. Deep learning methods have limited dimensionality reduction and also suffer from loss of detailed information.
By acquiring pre-stack seismic and well logging data, the permeability field is calculated and preprocessed. Using large-scale and small-scale inversion, combined with a preset objective function and fitting algorithm, the fitted permeability field is obtained through step-by-step inversion.
It improves the accuracy and reliability of permeability fields, solves the problem of inaccurate permeability field acquisition, and supports more precise oil and gas reservoir development strategies.
Smart Images

Figure CN121881697A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of automatic history matching technology for oil and gas reservoirs, and in particular to a method and apparatus for history matching of oil and gas reservoirs. Background Technology
[0002] Oil and gas reservoirs refer to underground storage of natural oil and natural gas. Developing oil and gas reservoirs can increase energy supply, meet national and global energy demands, and ensure energy security. In the process of oil and gas reservoir development, history fitting is a key technology used to analyze and predict the production performance and dynamic changes of reservoirs, thereby obtaining the distribution of remaining oil in the reservoirs. This, in turn, guides and optimizes geological models and development plans, ultimately improving the economic benefits of oil and gas reservoir development.
[0003] Existing historical data fitting techniques primarily employ ensemble Kalman filtering and evolutionary algorithms. Both methods focus on the permeability field, continuously adjusting the seepage capacity at various locations within the reservoir to match simulated and actual production histories, thereby obtaining a true understanding of subsurface heterogeneity and the distribution of remaining oil. However, the permeability field has a large number of variables, necessitating dimensionality reduction. This can be achieved by using four-dimensional seismic methods to adjust the fitting parameters to the seismic inversion permeability formula, or by employing deep learning or other popular dimensionality reduction techniques.
[0004] Dimensionality reduction using four-dimensional seismic methods requires high-precision seismic resolution, which results in a significant loss of detailed information and inaccurate permeability field acquisition. Another dimensionality reduction method based on deep representation learning has limited dimensionality reduction capabilities and inevitably suffers from substantial loss of detail during the restoration process, also leading to inaccurate permeability field acquisition. Summary of the Invention
[0005] In view of the shortcomings of the prior art, this application provides a method and apparatus for historical fitting of oil and gas reservoirs to solve the problem that the existing technology is not accurate enough in obtaining the permeability field.
[0006] To achieve the above objectives, this application provides the following technical solution:
[0007] The first aspect of this application provides a method for historical fitting of oil and gas reservoirs, including:
[0008] Acquire pre-stack seismic data and well logging data of the oil and gas reservoir to be fitted;
[0009] Based on the pre-stack seismic data and well logging data, the permeability field of the oil and gas reservoir to be fitted is calculated;
[0010] The permeability field is preprocessed to obtain multiple permeability grids corresponding to the permeability field;
[0011] Each of the permeability grid cells is subjected to large-scale pooling to obtain a large-scale grid cell;
[0012] Using a preset objective function, a large-scale inversion is performed on the large-scale grid to obtain multiple optimal inversion values corresponding to the large-scale grid.
[0013] Based on the location information of each well group in the oil and gas reservoir to be fitted in the logging data, the large-scale grid is reversed to a small scale to obtain multiple small-scale well group grids.
[0014] Each of the small-scale well group grids is divided into multiple well group partitions;
[0015] For each well group partition, based on the multiple optimal inversion values corresponding to the large-scale grid, the well group partition is inverted using the preset fitting objective function corresponding to the well group partition to obtain the permeability field corresponding to the well group partition;
[0016] By combining the permeability fields corresponding to all the well groups, the fitted permeability field corresponding to the oil and gas reservoir to be fitted is obtained.
[0017] Optionally, in the above-described method for historical fitting of oil and gas reservoirs, the step of calculating the permeability field of the oil and gas reservoir to be fitted based on the pre-stack seismic data and well logging data includes:
[0018] Migration amplitude analysis was performed on the pre-stack seismic data to obtain the reflection characteristics of each incident angle corresponding to the pre-stack seismic data;
[0019] The porosity of each reflection feature is calculated using the inversion formula to obtain the porosity distribution.
[0020] Based on the product relationship between the well logging data and the porosity distribution, the permeability field of the oil and gas reservoir to be fitted is calculated.
[0021] Optionally, in the above-described method for fitting the history of oil and gas reservoirs, the preprocessing of the permeability field to obtain multiple permeability grids corresponding to the permeability field includes:
[0022] The permeability field is transformed using the probability field formula to obtain the probability field corresponding to the permeability field;
[0023] The probability field was sampled using the Monte Carlo method to obtain multiple sample permeability fields;
[0024] Smooth the permeability field of each sample to obtain the smoothed permeability field corresponding to each sample permeability field;
[0025] Each of the smooth permeability fields is meshed to obtain multiple permeability grids corresponding to the permeability field.
[0026] Optionally, in the above-described method for fitting the history of oil and gas reservoirs, the step of using a preset objective function to perform large-scale inversion on the large-scale grid to obtain multiple optimal inversion values corresponding to the large-scale grid includes:
[0027] The population of the large-scale grid is generated randomly;
[0028] Randomly select multiple individuals from the population, and mutate each individual to obtain a mutation vector corresponding to each individual;
[0029] For each individual, the mutation vector of the individual is cross-crossed with the individual to obtain the experimental vector corresponding to the individual;
[0030] The fitness of the individual and its corresponding trial vector are calculated using a preset objective function to obtain the fitness of the individual and the fitness of the trial vector.
[0031] Compare whether the fitness corresponding to the experimental vector is not less than the fitness corresponding to the individual;
[0032] If the fitness corresponding to the experimental vector is not less than the fitness corresponding to the individual, then the fitness corresponding to the experimental vector is determined to be the optimal fitness, and the experimental vector is updated to the population for iteration;
[0033] If the fitness of the experimental vector is less than the fitness of the individual, then the fitness of the individual is determined to be the optimal fitness, and the individual is updated to the population for iteration.
[0034] Determine if the current iteration count meets the preset iteration count;
[0035] If the current iteration number does not meet the preset iteration number, then return to the step of randomly selecting multiple individuals from the population, mutating each individual, and obtaining the mutation vector corresponding to each individual;
[0036] If the current iteration number satisfies the preset iteration number, then all optimal fitnesss are sorted in descending order of optimal fitness, and a preset number of optimal fitnesss are selected from all the sorted optimal fitnesss in descending order as multiple optimal inversion values corresponding to the large-scale grid.
[0037] Optionally, in the above-described method for fitting the history of oil and gas reservoirs, the process of dividing each small-scale well group into multiple well group partitions includes:
[0038] Obtain production data from multiple injection and production wells in the oil and gas reservoir to be fitted;
[0039] For each injection-production well, based on the production data of the injection-production well, determine whether there are multiple target well group grids with corresponding injection-production relationships in each small-scale well group grid;
[0040] If there are multiple target well group grids with injection-production correspondence in each of the small-scale well group grids, then each target well group grid is considered as a well group.
[0041] Each target well group grid volume within the well group is depicted as a polygon vertex to obtain a well group grid, and the target grid is marked as a grid within the well group grid; wherein, the target grid refers to any grid whose distance from the boundary of the well group grid is less than a preset threshold;
[0042] All the well group grids are marked with well group numbers, and the well group grids are divided according to the well group numbers to obtain multiple well group zones.
[0043] Optionally, in the above-described method for fitting the history of oil and gas reservoirs, the step of inverting the well group partition according to multiple optimal inversion values corresponding to the large-scale grid and using a preset fitting objective function corresponding to the well group partition to obtain the permeability field corresponding to the well group partition includes:
[0044] For each well group partition, a well group population is randomly generated based on multiple optimal inversion values corresponding to the large-scale grid.
[0045] Multiple target individuals are randomly selected from the well group population, and each target individual is mutated to obtain a mutation vector corresponding to each target individual.
[0046] For each target individual, the mutation vector of the target individual is cross-crossed with the target individual to obtain the target experimental vector corresponding to the target individual;
[0047] Using the preset fitting objective function corresponding to the well group partition, the fitness of the target individual and its corresponding target test vector are calculated respectively to obtain the fitness of the target individual and the fitness of the target test vector;
[0048] Compare whether the fitness corresponding to the target experimental vector is not less than the fitness corresponding to the target individual;
[0049] If the fitness corresponding to the target experimental vector is not less than the fitness corresponding to the target individual, then the fitness corresponding to the target experimental vector is determined as the target fitness, and the target experimental vector is updated to the well group population for iteration;
[0050] If the fitness corresponding to the target experimental vector is less than the fitness corresponding to the target individual, then the fitness corresponding to the target individual is determined as the target fitness, and the target individual is updated to the well group population for iteration;
[0051] Determine if the current iteration count meets the preset iteration count;
[0052] If the current iteration number does not meet the preset iteration number, then return to the step of randomly selecting multiple target individuals from the well group population, mutating each target individual, and obtaining the mutation vector corresponding to each target individual;
[0053] If the current iteration number satisfies the preset iteration number, then the target fitness with the maximum value is selected from each target fitness as the permeability field corresponding to the well group partition.
[0054] Optionally, the above-mentioned method for fitting the history of oil and gas reservoirs also includes:
[0055] Obtain the permeability field corresponding to each single well in each well group of the oil and gas reservoir to be fitted;
[0056] For each of the individual wells, the simulated production data and actual production data of the individual well are compared to see if they are consistent. The simulated production data of the individual well is obtained in advance by simulating the logging data and production dynamic data of the oil and gas reservoir to be fitted using a simulation simulator.
[0057] If the simulated production data of a single well is inconsistent with the actual production data, it is determined that the permeability field corresponding to the single well does not meet the actual permeability field, and the single well is divided into multiple single-well regions.
[0058] Based on the preset single-well spacing range, the local range of each single-well region is defined;
[0059] Using a preset fitting objective function corresponding to the well group zoning where the single well is located, the local range of each single well region is inverted to obtain the permeability field corresponding to the single well.
[0060] Optionally, in the above-described method for fitting the history of oil and gas reservoirs, after dividing each small-scale well group into grid cells to obtain multiple well group partitions, the method further includes:
[0061] Each well group partition is subjected to feature decomposition to obtain the features corresponding to each well group partition.
[0062] The second aspect of this application provides a reservoir history fitting device, comprising:
[0063] The data acquisition unit is used to acquire pre-stack seismic data and well logging data of the oil and gas reservoir to be fitted.
[0064] The calculation unit is used to calculate the permeability field of the oil and gas reservoir to be fitted based on the pre-stack seismic data and well logging data.
[0065] A preprocessing unit is used to preprocess the permeability field to obtain multiple permeability grids corresponding to the permeability field;
[0066] Large-scale pooling units are used to perform large-scale pooling on each of the permeability grid cells to obtain large-scale grid cells;
[0067] The large-scale inversion unit is used to perform large-scale inversion on the large-scale grid using a preset objective function, and obtain multiple optimal inversion values corresponding to the large-scale grid.
[0068] Small-scale anti-pooling unit is used to perform small-scale anti-pooling on the large-scale grid body according to the location information of each well group in the oil and gas reservoir to be fitted in the logging data, so as to obtain multiple small-scale well group grid bodies.
[0069] A grid division unit is used to divide each of the small-scale well group grids to obtain multiple well group partitions;
[0070] The inversion unit is used to invert each well group partition according to multiple optimal inversion values corresponding to the large-scale grid, and to use a preset fitting objective function corresponding to the well group partition to obtain the permeability field corresponding to the well group partition.
[0071] The combination unit is used to combine the permeability fields corresponding to all the well groups to obtain the fitted permeability field corresponding to the oil and gas reservoir to be fitted.
[0072] Optionally, in the above-mentioned oil and gas reservoir history fitting device, the calculation unit includes:
[0073] The analysis unit is used to perform migration amplitude analysis on the pre-stack seismic data to obtain the reflection characteristics of each incident angle corresponding to the pre-stack seismic data.
[0074] A porosity calculation unit is used to calculate the porosity of each of the reflection features using an inversion formula to obtain the porosity distribution.
[0075] The permeability field calculation unit is used to calculate the permeability field of the oil and gas reservoir to be fitted based on the product relationship between the well logging data and the porosity distribution.
[0076] Optionally, in the above-mentioned reservoir history fitting device, the preprocessing unit includes:
[0077] The transformation unit is used to transform the permeability field using the probability field formula to obtain the probability field corresponding to the permeability field.
[0078] A sampling unit is used to sample the probability field using the Monte Carlo method to obtain multiple sample permeability fields;
[0079] A smoothing processing unit is used to smooth the permeability field of each sample to obtain a smoothed permeability field corresponding to each sample permeability field;
[0080] A gridding processing unit is used to perform gridding processing on each of the smooth permeability fields to obtain multiple permeability grids corresponding to the permeability fields.
[0081] Optionally, in the above-mentioned oil and gas reservoir history fitting device, the large-scale inversion unit includes:
[0082] The first generation unit is used to randomly generate the population of the large-scale grid.
[0083] The first mutation unit is used to randomly select multiple individuals from the population, mutate each individual, and obtain a mutation vector corresponding to each individual.
[0084] The first crossover operation unit is used to perform a crossover operation between the mutation vector of each individual and the individual to obtain the experimental vector corresponding to the individual.
[0085] The first fitness calculation unit is used to calculate the fitness of the individual and its corresponding test vector using a preset objective function, so as to obtain the fitness of the individual and the fitness of the test vector.
[0086] The first comparison unit is used to compare whether the fitness corresponding to the experimental vector is not less than the fitness corresponding to the individual;
[0087] The first determining unit is configured to determine the fitness corresponding to the test vector as the optimal fitness if the fitness corresponding to the test vector is not less than the fitness corresponding to the individual, and update the test vector to the population for iteration.
[0088] The second determining unit is used to determine the fitness of the individual as the optimal fitness if the fitness corresponding to the test vector is less than the fitness corresponding to the individual, and update the individual to the population for iteration.
[0089] The first judgment unit is used to determine whether the current iteration number meets the preset iteration number.
[0090] The first execution unit is configured to, if the current iteration number does not meet the preset iteration number, return to execute the step of randomly selecting multiple individuals from the population, mutating each individual, and obtaining a mutation vector corresponding to each individual;
[0091] The sorting unit is used to sort all optimal fitnesss in descending order of the current iteration number if the current iteration number satisfies the preset iteration number, and select a preset number of optimal fitnesss from all the sorted optimal fitnesss in descending order as multiple optimal inversion values corresponding to the large-scale grid.
[0092] Optionally, in the above-mentioned oil and gas reservoir history fitting device, the grid division unit includes:
[0093] The data acquisition unit is used to acquire production data from multiple injection and production wells in the oil and gas reservoir to be fitted.
[0094] The relationship determination unit is used to determine, for each injection-production well, whether there are multiple target well group grids with corresponding injection-production relationships in each small-scale well group grid, based on the production data of the injection-production well;
[0095] As a unit, if there are multiple target well group grids with injection-production correspondence in each of the small-scale well group grids, then each target well group grid is considered as a well group.
[0096] The drawing unit is used to draw each target well group grid body in the well group as a polygon vertex to obtain a well group grid, and to mark the target grid as a grid in the well group grid; wherein, the target grid refers to any grid whose distance from the boundary of the well group grid is less than a preset threshold.
[0097] A partitioning unit is used to mark all the well group grids with well group numbers and to partition all the well group grids according to the well group numbers to obtain multiple well group zones.
[0098] Optionally, in the above-mentioned oil and gas reservoir history fitting device, the inversion unit includes:
[0099] The second generation unit is used to randomly generate well group populations for each well group partition based on multiple optimal inversion values corresponding to the large-scale grid.
[0100] The second mutation unit is used to randomly select multiple target individuals from the well group population, mutate each target individual, and obtain a mutation vector corresponding to each target individual.
[0101] The second crossover operation unit is used to perform a crossover operation between the mutation vector of the target individual and the target individual for each target individual to obtain the target experimental vector corresponding to the target individual.
[0102] The second fitness calculation unit is used to calculate the fitness of the target individual and its corresponding target test vector by using the preset fitting objective function corresponding to the well group partition, so as to obtain the fitness of the target individual and the fitness of the target test vector.
[0103] The second comparison unit is used to compare whether the fitness corresponding to the target experimental vector is not less than the fitness corresponding to the target individual;
[0104] The third determining unit is used to determine the fitness corresponding to the target experimental vector as the target fitness if the fitness corresponding to the target experimental vector is not less than the fitness corresponding to the target individual, and update the target experimental vector to the well group population for iteration;
[0105] The fourth determining unit is used to determine the fitness of the target individual as the target fitness if the fitness of the target experimental vector is less than the fitness of the target individual, and update the target individual to the well group population for iteration.
[0106] The second judgment unit is used to determine whether the current iteration number meets the preset iteration number.
[0107] The second execution unit is used to return to the execution of randomly selecting multiple target individuals from the well group population and mutating each target individual to obtain a mutation vector corresponding to each target individual if the current iteration number does not meet the preset iteration number.
[0108] As a unit, if the current iteration number satisfies the preset iteration number, the target fitness with the maximum value is selected from each target fitness as the permeability field corresponding to the well group partition.
[0109] Optionally, the above-mentioned reservoir history fitting device further includes:
[0110] The acquisition unit is used to acquire the permeability field corresponding to each single well in each well group of the oil and gas reservoir to be fitted.
[0111] The comparison unit is used to compare the simulated production data and the actual production data of each well. The simulated production data of each well is obtained in advance by simulating the logging data and production dynamic data of the oil and gas reservoir to be fitted using a simulation simulator.
[0112] A single-well partitioning unit is used to determine that the permeability field corresponding to the single well does not meet the actual permeability field if the simulated production data of the single well is inconsistent with the actual production data, and to partition the single well to obtain multiple single-well regions.
[0113] A definition unit is used to define the local range of each single-well region according to a preset single-well spacing range;
[0114] The inversion processing unit is used to invert the local range of each well region using a preset fitting objective function corresponding to the well group zoning where the well is located, so as to obtain the permeability field corresponding to the well.
[0115] Optionally, the above-mentioned reservoir history fitting device further includes:
[0116] The feature decomposition unit is used to perform feature decomposition on each of the well group partitions to obtain the features corresponding to each well group partition.
[0117] This application provides a method for historical data fitting of oil and gas reservoirs. First, it acquires pre-stack seismic and well logging data of the reservoir to be fitted. Then, based on the pre-stack seismic and well logging data, it calculates the permeability field of the reservoir. Next, it preprocesses the permeability field to obtain multiple permeability grids. Then, it performs large-scale pooling on each permeability grid to obtain a large-scale grid. Finally, it uses a preset objective function to perform large-scale inversion on the large-scale grid, obtaining multiple optimal inversion values corresponding to the large-scale grid. Subsequently, based on the number of well logging data... Based on the location information of each well group within the oil and gas reservoir to be fitted, the large-scale grid is inverted at a small scale to obtain multiple small-scale well group grids. Each small-scale well group grid is then divided into multiple well group partitions. For each well group partition, based on multiple optimal inversion values corresponding to the large-scale grid, a preset fitting objective function is used to invert the well group partition, obtaining the permeability field corresponding to the well group partition. Finally, the permeability fields of all well group partitions are combined to obtain the fitted permeability field corresponding to the oil and gas reservoir to be fitted. Therefore, by dividing the permeability field of the oil and gas reservoir into multiple scales and then inverting the permeability field using objective functions of different scales in descending order of scale, the fitted permeability field of the oil and gas reservoir is obtained, effectively solving the problem of insufficient accuracy of the permeability field. Attached Figure Description
[0118] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0119] Figure 1 A flowchart illustrating a method for history fitting of an oil and gas reservoir, provided as an embodiment of this application;
[0120] Figure 2 A flowchart illustrating a method for calculating a permeability field provided in an embodiment of this application;
[0121] Figure 3 A schematic flowchart illustrating a method for processing a permeability field provided in an embodiment of this application;
[0122] Figure 4 A flowchart illustrating a large-scale inversion method provided in this application embodiment;
[0123] Figure 5 A flowchart illustrating a well group grid division method provided in an embodiment of this application;
[0124] Figure 6 A flowchart illustrating a small-scale inversion method provided in another embodiment of this application;
[0125] Figure 7 A schematic diagram illustrating the feature decomposition and fusion effect provided in another embodiment of this application;
[0126] Figure 8 A flowchart illustrating a method for correcting the permeability field of a single well, provided as another embodiment of this application;
[0127] Figure 9 A schematic diagram of the historical fitting results of four wells provided in an embodiment of this application;
[0128] Figure 10 This is a schematic diagram of the structure of a history fitting device for an oil and gas reservoir, provided as another embodiment of this application. Detailed Implementation
[0129] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0130] In this application, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0131] This application provides a method for historical data fitting of oil and gas reservoirs, such as... Figure 1 As shown, the specific steps include:
[0132] S101. Obtain pre-stack seismic data and well logging data of the oil and gas reservoir to be fitted.
[0133] Specifically, the pre-stack seismic data of the oil and gas reservoir to be fitted contains rich wavefield information about the reservoir, which is helpful for subsequent detailed attribute inversion.
[0134] Well logging data refers to the various physical parameters and characteristics of oil and gas reservoirs obtained through well logging tools during the drilling process. It can help improve the accuracy and reliability of subsequent calculations of the oil and gas reservoirs to be fitted.
[0135] S102. Based on pre-stack seismic data and well logging data, calculate the permeability field of the oil and gas reservoir to be fitted.
[0136] Understandably, pre-stack seismic data and well logging data are complementary and crucial data sources in calculating the permeability field of the reservoir to be fitted. Pre-stack seismic data provides stratigraphic structure and large-scale features, while well logging data provides more detailed stratigraphic properties. Together, they can provide a more accurate and comprehensive permeability field for the reservoir. Therefore, the permeability field of the reservoir to be fitted is calculated based on the synergistic relationship between pre-stack seismic data and well logging data.
[0137] Optionally, in another embodiment of this application, one specific implementation of step S102 is as follows: Figure 2 As shown, it includes the following steps:
[0138] S201. Perform migration amplitude analysis on the pre-stack seismic data to obtain the reflection characteristics of each incident angle corresponding to the pre-stack seismic data.
[0139] It should be noted that, in order to improve the accuracy and reliability of the calculated permeability field, this embodiment of the application uses the inversion results of seismic attribute inversion and matching and calculation with well logging data. Seismic attribute inversion involves using the amplitude variation information of pre-stack seismic data to invert the porosity of the underground rock layers of the oil and gas reservoir to be fitted, and then matching and calculating the porosity with well logging data. Therefore, it is necessary to first obtain the amplitude variation information of pre-stack seismic data before obtaining the porosity.
[0140] It should also be noted that seismic attribute inversion is based on the relationship between the amplitude variation of reflected waves and rock physical properties (such as porosity, density, and acoustic velocity). Therefore, migration amplitude analysis is required on pre-stack seismic data to extract the variation trend and reflection characteristics of reflected wave amplitude or amplitude variation with different incident angles (or incident directions) in the pre-stack seismic data.
[0141] Specifically, the expression for calculating the reflection characteristics is as follows:
[0142]
[0143] Where θ is the incident angle, Δρ and ΔV are the changes in density and sound wave velocity, respectively, and ρ and V are the average density and velocity.
[0144] S202. Use the inversion formula to calculate the porosity of each reflection feature to obtain the porosity distribution.
[0145] Specifically, the inversion formula is expressed as follows:
[0146] φ=a+b(R(θ1),R(θ2),...,R(θ n ))
[0147] Where φ is porosity, θ is the incident angle, and R(θ) i ) represents the reflection characteristics under different incident angles, and a and b are inversion coefficients, which are obtained in advance by minimizing the objective function.
[0148] S203. Based on the product relationship between well logging data and porosity distribution, calculate the permeability field of the oil and gas reservoir to be fitted.
[0149] Specifically, in this embodiment, the permeability field of the oil and gas reservoir to be fitted is calculated by fully utilizing the specific relationship between porosity and permeability field of the measured data provided by well logging data. The specific relationship is: k = aφ b .
[0150] Where a and b are constants obtained by fitting well logging data, and k is the permeability field.
[0151] S103. Preprocess the permeability field to obtain multiple permeability grids corresponding to the permeability field.
[0152] It should be noted that, in order to obtain an accurate permeability field of the oil and gas reservoir to be fitted, so as to effectively evaluate and optimize the development and production strategies of oil and gas resources, the permeability field will be preprocessed in this embodiment of the application to transform the permeability field into a grid form, so as to better perform fine inversion on each grid cell in the future, thereby obtaining a more accurate permeability field.
[0153] Optionally, in another embodiment of this application, one specific implementation of step S103 is as follows: Figure 3 As shown, it includes the following steps:
[0154] S301. Using the probability field formula, the permeability field is transformed to obtain the probability field corresponding to the permeability field.
[0155] Understandably, this is to transform the deterministic penetration rate field into a probabilistic expression, thereby better handling uncertainty and risk assessment, and improving the sampling basis for subsequent penetration rate fields.
[0156] Therefore, in this embodiment, the permeability field is transformed using the probability field formula to obtain a probabilistically expressed permeability field. The expression for the probability field formula is:
[0157]
[0158] Among them, k norm k(x) is the regularized permeability attribute at position x, and k(x) is the original permeability attribute at position x. min and k max These are the minimum and maximum values of the permeability attribute, respectively. λ is an adjustment parameter that controls the degree of probability enhancement of high permeability values, and Z is a normalization constant that ensures that the integral of the probability density function is 1.
[0159] S302. The probability field is sampled using the Monte Carlo method to obtain multiple sample permeability fields.
[0160] It is understandable that using the Monte Carlo method to sample the probability field can make each sample a complete permeability field, and areas with higher permeability values will be more likely to be sampled with higher permeability values, thereby better understanding the uncertainties of the oil and gas reservoir to be fitted.
[0161] S303. Smooth the permeability field of each sample to obtain the smoothed permeability field corresponding to each sample permeability field.
[0162] Understandably, since the permeability field has a certain degree of continuity, it is necessary to smooth the permeability field of each sample to a certain extent. This allows the multiple permeability field samples generated by Monte Carlo simulation to more realistically reflect the continuity characteristics of geology, thereby improving the accuracy and reliability of subsequent inversion.
[0163] S304. Perform gridding on each smooth permeability field to obtain multiple permeability grids corresponding to the permeability field.
[0164] It should be noted that gridding ensures the spatial consistency and continuity of the permeability field, which is beneficial for subsequent large-scale and small-scale inversions, resulting in efficient inversion results. Therefore, the smooth permeability field is gridded to obtain a permeability grid.
[0165] S104. Perform large-scale pooling on each permeability grid cell to obtain a large-scale grid cell.
[0166] It should be noted that, in order to simplify the inversion process, reduce the amount of computation, and thus improve the inversion efficiency, in this embodiment of the application, large-scale pooling calculation is performed on each permeability grid, that is, each permeability grid is combined to calculate a large-scale permeability grid.
[0167] Specifically, the expression for large-scale pooling is: O = (I - k + 2p) / s + 1.
[0168] Where O is the large-scale grid volume, I is the permeability grid volume, k is the convolution kernel, p is the empty grid supplemented by the permeability outer layer, and s is the jump step size.
[0169] S105. Using a preset objective function, perform large-scale inversion on the large-scale grid to obtain multiple optimal inversion values corresponding to the large-scale grid.
[0170] It should be noted that the purpose of large-scale inversion is to quickly invert the overall trend information of the oil and gas reservoir to be fitted. Therefore, it is necessary to predefine the objective function of large-scale inversion, which is based on minimizing the difference between the observed data (well logging data + production dynamic data, which has been pre-calculated) and the simulated data (pre-simulated using a simulation simulator using well logging data + production dynamic data of the oil and gas reservoir to be fitted). However, since large-scale reservoirs lack a large amount of detailed information, the fitting difficulty will inevitably increase. Therefore, in order to better reflect the trend fitting purpose of large-scale inversion, pooling processing can also be performed on the observed data. The focus of fitting shifts from specific production indicators to smoothed production indicators, thereby avoiding interference from detailed information.
[0171] Therefore, after defining the objective function for large-scale inversion, an evolutionary algorithm is needed to optimize the process by minimizing the variable (permeability field) of the objective function. Through methods such as crossover, mutation, and selection, multiple large-scale permeability fields of simulated and actual production indicators are matched to the greatest extent as multiple optimal inversion values corresponding to the large-scale grid.
[0172] The expression for the preset objective function is:
[0173]
[0174] Where, Φ large (m) is the preset objective function. This is the i-th observation data. is the simulated data at the i-th time step, and m is the model parameter to be inverted.
[0175] Optionally, in another embodiment of this application, one specific implementation of step S105 is as follows: Figure 4 As shown, it includes the following steps:
[0176] S401, Randomly generate a population of large-scale grid cells.
[0177] It should be noted that a population of large-scale grid cells can be randomly generated using random expressions.
[0178] The specific random expression is: x i,0 =x min +r i ·(x max -x min ).
[0179] Where x represents an individual in the population, and each individual is a permeability field generated randomly or under a certain probability distribution. i,0 x is the vector of the i-th individual in generation 0. min and x max These are the lower and upper bounds of the search space, r. i It is a random vector whose elements are in the range [0,1].
[0180] S402. Randomly select multiple individuals from the population, and mutate each individual to obtain the mutation vector corresponding to each individual.
[0181] Understandably, in order to increase the diversity of the population and thus enhance the exploration and global search capabilities of the evolutionary algorithm, randomness and mutation methods can be introduced. That is, 30% of the individuals are randomly selected from the population, and then the mutation algorithm is used to mutate the 30% of individuals to obtain the mutation vectors corresponding to the 30% of individuals.
[0182] Specifically, the expression for the mutation algorithm is: v i,g+1 =x r1,g +F·(x r2,g -x r3g ).
[0183] Among them, v i,g+1 x is the mutation vector of the i-th individual in the (g+1)-th generation. r1,g x r2,g x r3g These are different individuals randomly selected from the population, and r1≠r2≠r3≠1, where F is the mutation scaling factor, usually between [0,2].
[0184] S403. For each individual, perform a crossover operation between the individual's mutation vector and the individual to obtain the corresponding experimental vector.
[0185] It is understandable that, in order to introduce information exchange between individuals in the evolutionary algorithm to promote evolution and adaptive progress in the optimization process, the crossover algorithm is used in this embodiment to perform crossover operation on the mutation vector of an individual and the individual to obtain the test vector corresponding to the individual.
[0186] Specifically, the expression for the crossover algorithm is:
[0187]
[0188] Among them, (u i,g+1 ) is the trial vector of the (i)th individual in the (g+1)th generation, (rand j (0, 1) is a random number between [0, 1], CR is the crossover probability, usually between [0, 1], and j rand It is a random index between [1, D] used to ensure that each trial vector has at least one gene from the mutation vector.
[0189] S404. Calculate the fitness of the individual and its corresponding experimental vector using the preset objective function to obtain the fitness of the individual and the fitness of the experimental vector.
[0190] Understandably, in order to evaluate the quality of individuals and trial vectors in the current solution space and select better individuals for the next generation, the fitness of individuals and their corresponding trial vectors is calculated using a predefined objective function in this embodiment.
[0191] Specifically, the expression for the preset objective function is:
[0192]
[0193] Where, Φ large (m) is the preset objective function. This is the i-th observation data. is the simulated data at the i-th time step, and m is the model parameter to be inverted.
[0194] S405. Compare whether the fitness of the experimental vector is not less than the fitness of the individual.
[0195] Understandably, in order to select individuals with better fitness for the next generation of optimization, a selection function can be used in this embodiment to compare the fitness corresponding to the test vector with the fitness corresponding to the individual. Therefore, if the fitness corresponding to the test vector is not less than the fitness corresponding to the individual, it means that the fitness corresponding to the test vector is a better fitness, and step S406 is executed. If the fitness corresponding to the test vector is less than the fitness corresponding to the individual, it means that the fitness corresponding to the individual is a better fitness, and step S407 is executed.
[0196] Specifically, the expression for the selection function is:
[0197]
[0198] Where, f(u) i,g+1 f(x) is the fitness corresponding to the trial vector. i,gThe fitness of an individual, x i,g+1 It is the vector of the i-th individual in the (g+1)-th generation.
[0199] S406. Determine the fitness corresponding to the experimental vector as the optimal fitness, and update the experimental vector to the population for iteration.
[0200] It is understandable that when the fitness of the experimental vector is not less than the fitness of the individual, it means that the experimental vector is more suitable for entering the next generation of optimization than the individual. Therefore, the experimental vector needs to be updated to the population for the next generation of optimization, that is, the population is iterated, and then step S408 is executed.
[0201] S407. Determine the fitness of the individual as the optimal fitness, and update the individual to the population for iteration.
[0202] It is understandable that when the fitness of the experimental vector is less than the fitness of the individual, it means that the individual is more suitable to enter the next generation of optimization than the experimental vector. Therefore, the individual needs to be updated to the population for the next generation of optimization, that is, the population is iterated, and then step S408 is executed.
[0203] S408. Determine whether the current iteration number meets the preset iteration number.
[0204] It should be noted that, in order to effectively manage the operation of the evolutionary algorithm and ensure that the best optimization result is achieved within the given computing resources and time, it is possible to determine whether the evolutionary algorithm has given the best optimization result by judging whether the number of iterations of the population meets the preset number of iterations or whether the fitness has met the optimization objective. Therefore, if the current number of iterations does not meet the preset number of iterations, it means that the evolutionary algorithm has not yet given the best optimization result. Therefore, it is necessary to continue to select individuals to calculate the best fitness. Thus, the process returns to step S402 until the current number of iterations of the population meets the preset number of iterations.
[0205] If the current iteration count meets the preset iteration count, it means that the evolutionary algorithm has already given the best optimization result, so proceed to step S409.
[0206] S409. Sort all optimal fitness values in descending order of fitness, and select a preset number of optimal fitness values from all sorted optimal fitness values in descending order of fitness as multiple optimal inversion values corresponding to the large-scale grid.
[0207] It should be noted that when the current iteration number meets the preset iteration number, it means that all the best fitnesss in the large-scale grid have met the optimization objective. However, in order to obtain a more accurate and reliable fitting of the permeability field, all the best fitnesss can be further sorted in descending order of fitness. Then, N best fitnesss are selected from the sorted best fitnesss from beginning to end as multiple best inversion values corresponding to the large-scale grid, so that these N best fitnesss are closer to the global optimal solution.
[0208] S106. Based on the location information of each well group in the oil and gas reservoir to be fitted in the logging data, the large-scale grid is reversed to a small scale to obtain multiple small-scale well group grids.
[0209] It is important to emphasize that, based on the real physical spatial relationship of the permeability field, the feature interaction between regions can be restricted during the small-scale inversion process. Moreover, the fitting requirements for key areas of the oil and gas reservoir can be improved, while the fitting requirements for peripheral areas can be reduced, thereby improving the fitting efficiency of the oil and gas reservoir. Therefore, in the embodiments of this application, the location information of each well group in the oil and gas reservoir to be fitted in the logging data can be used to perform small-scale inverse pooling on the large-scale grid to obtain multiple small-scale well group grids. Thus, each small-scale well group grid can represent each well group contained in the oil and gas reservoir to be fitted.
[0210] It should be noted that after the small-scale inversion is completed, the size and scale of the permeability grid will be restored to the original scale, and the permeability field of the oil and gas reservoir to be fitted has also changed based on the large-scale inversion results.
[0211] Specifically, the expression for the small-scale unpooling algorithm is: I = (O-1)*s + k-2p.
[0212] Where O is the large-scale grid volume, I is the small-scale well group grid volume, k is the convolution kernel, p is the empty grid supplemented by the permeability outer layer, and s is the jump step size.
[0213] S107. Divide each small-scale well group into grid cells to obtain multiple well group partitions.
[0214] Understandably, in order to further invert the permeability field and obtain a more accurate permeability field, each small-scale well group grid can be divided into multiple well group partitions. This allows for further refinement of the local details of the oil and gas reservoir to be fitted, thereby improving inversion efficiency and accuracy.
[0215] Optionally, in another embodiment of this application, one specific implementation of step S107 is as follows: Figure 5 As shown, it includes the following steps:
[0216] S501. Obtain production data from multiple injection and production wells in the oil and gas reservoir to be fitted.
[0217] Specifically, an injection-production well is a special type of well used to inject liquids into underground oil and gas reservoirs, allowing flow between wells.
[0218] S502. For each injection-production well, based on the production data of the injection-production well, determine whether there are multiple target well group grids with corresponding injection-production relationships in each small-scale well group grid.
[0219] It should be noted that some small-scale well group grids correspond to a single well at their location, while others do not. The production data from injection and production wells contains the specific flow relationships between wells in the oil and gas reservoir to be fitted. Therefore, to reduce the feature fitting dimensionality, improve the convergence speed of the inversion process, and lower the cost, it is necessary to group wells with flow relationships together. This requires pre-extracting the injection-production correspondence from the production data of injection and production wells, i.e., the wells with flow relationships, and determining whether multiple target well group grids with injection-production correspondences exist within each small-scale well group grid. Here, each target well group grid refers to the grid corresponding to each well with a flow relationship.
[0220] Therefore, if there are multiple target well group grids with injection-production correspondence in each small-scale well group grid, it means that there are grids corresponding to each well with flow relationship in each small-scale well group grid. Therefore, step S503 is executed at this time.
[0221] Optionally, if there are no multiple target well group grids with injection-production correspondence in each small-scale well group grid, it means that there are no grids with injection-production correspondence for the current injection-production well in these small-scale well group grids. In this case, it can be determined whether there are multiple target well group grids with the next injection-production correspondence in each small-scale well group grid based on the production data of the next injection-production well.
[0222] S503. Treat each target well group grid as a single well group.
[0223] Specifically, when there are multiple target well group grids with injection-production correspondence in each small-scale well group grid, each target well group grid can be regarded as a well group. In this way, the interference of other small-scale well group grids on the inversion process can be reduced in the subsequent inversion process of the well group.
[0224] S504. Depict each target well group mesh as a polygon vertex to obtain a well group mesh, and mark the target mesh as a mesh within the well group mesh.
[0225] The target grid refers to any grid whose distance from the boundary of the well group grid is less than a preset threshold.
[0226] It should be noted that, in order to maximize the depth of permeability field inversion through scientific grid layout and group spacing optimization while ensuring economic efficiency and compliance, this application embodiment will also divide the small-scale group grid within the near group control range (half a distance outside the well group) into a well group. Therefore, it is necessary to first determine the boundary of the well group. Specifically, the boundary can be drawn by using each target well group grid body in the well group as the vertices of a polygon to obtain a polygonal well group grid. Then, the edge of the well group grid is used as the boundary of the well group. Grids with a distance less than a preset threshold from the boundary of the well group grid are found and marked as grids within the well group grid.
[0227] Among them, expanding the well group by half a well spacing refers to expanding a new well group outward based on the existing well group layout, so that the distance between the center of the new well group and the center of the existing well group is half of the original well spacing.
[0228] S505. Mark all well group grids with well group numbers, and divide all well group grids according to the well group numbers to obtain multiple well group zones.
[0229] Understandably, in order to flexibly and quickly divide the oil and gas reservoir to be fitted according to the well group grid, all well group grids can be marked with well group numbers. For example, if there are three well group grids, the three well group grids can be marked as well group grid 1, well group grid 2, and well group grid 3 respectively. Then, all well group grids can be divided according to the well group number in descending order or ascending order, thus obtaining multiple well group zones.
[0230] Optionally, in another embodiment of this application, after step S107, the following is further included:
[0231] Each well group partition is decomposed into its own features to obtain the features corresponding to each well group partition.
[0232] It should be noted that, in the embodiments of this application, the well group partitions need to be characterized first, so as to simplify the computational load of the inversion and improve the accuracy and efficiency of the inversion.
[0233] S108. For each well group partition, based on the multiple optimal inversion values corresponding to the large-scale grid, the well group partition is inverted using the preset fitting objective function corresponding to the well group partition to obtain the permeability field corresponding to the well group partition.
[0234] It should be noted that, in order to improve the inversion accuracy of each well group partition and make the overall inversion effect meet the expected value, the embodiments of this application pre-set a unique preset fitting objective function for each well group partition, and then each well group partition uses its own preset fitting objective function for inversion, which can also improve the convergence speed of the fitting process.
[0235] Specifically, the expression for the preset fitting objective function corresponding to each well group partition is as follows:
[0236]
[0237] Where obs represents logging data and production data, sim represents simulation data, t represents time step, w represents well, N represents the total number of wells, and M represents the total number of time steps.
[0238] Optionally, in another embodiment of this application, one specific implementation of step S108 is as follows: Figure 6 As shown, it includes the following steps:
[0239] S601. For each well group partition, based on multiple optimal inversion values corresponding to the large-scale grid, randomly generate the well group population of the well group partition.
[0240] Specifically, in order to simplify the inversion algorithm and improve the inversion efficiency, in this embodiment of the application, multiple optimal inversion values corresponding to the large-scale grid are directly used as individuals in the well group population of the well group partition, that is, the well group population of each well group partition is generated randomly using multiple optimal inversion values corresponding to the large-scale grid.
[0241] S602. Randomly select multiple target individuals from the well group population, and mutate each target individual to obtain the mutation vector corresponding to each target individual.
[0242] It should be noted that the specific implementation of step S602 can be referred to step S402 in the above method embodiment, and will not be repeated here.
[0243] S603. For each target individual, perform a crossover operation between the target individual's mutation vector and the target individual to obtain the target experimental vector corresponding to the target individual.
[0244] It should be noted that the specific implementation of step S603 can be referred to step S403 in the above method embodiment, and will not be repeated here.
[0245] S604. Using the preset fitting objective function corresponding to the well group partition, calculate the fitness of the target individual and its corresponding target experimental vector respectively, and obtain the fitness of the target individual and the fitness of the target experimental vector.
[0246] It should be noted that the specific implementation of step S604 can be referred to step S404 in the above method embodiment, and will not be repeated here.
[0247] Specifically, the expression for the pre-defined fitting objective function is:
[0248]
[0249] Where obs represents logging data and production data, sim represents simulation data, t represents time step, w represents well, N represents the total number of wells, and M represents the total number of time steps.
[0250] S605. Compare whether the fitness corresponding to the target experimental vector is not less than the fitness corresponding to the target individual.
[0251] It should be noted that the specific implementation of step S605 can be referred to step S405 in the above method embodiment, and will not be repeated here.
[0252] It should also be noted that if the fitness of the target experimental vector is not less than the fitness of the target individual, then step S606 is executed. If the fitness of the target experimental vector is less than the fitness of the target individual, then step S607 is executed.
[0253] S606. Determine the fitness corresponding to the target experimental vector as the target fitness, and update the target experimental vector to the well group population for iteration.
[0254] It should be noted that the specific implementation of step S606 can be referred to step S406 in the above method embodiment, and will not be repeated here.
[0255] S607. Determine the fitness of the target individual as the target fitness, and update the target individual to the well group population for iteration.
[0256] It should be noted that the specific implementation of step S607 can be referred to step S407 in the above method embodiment, and will not be repeated here.
[0257] S608. Determine whether the current iteration number meets the preset iteration number.
[0258] It should be noted that the specific implementation of step S608 can be referred to step S408 in the above method embodiment, and will not be repeated here.
[0259] It should also be noted that if the current iteration number does not meet the preset iteration number, it means that the evolutionary algorithm has not yet given the best optimization result. Therefore, it is necessary to continue to select target individuals to calculate the target fitness. Thus, the process returns to step S602 until the current iteration number of the well group population meets the preset iteration number.
[0260] If the current iteration count meets the preset iteration count, it means that the evolutionary algorithm can give the best optimization result, so proceed to step S609.
[0261] S609. Select the target fitness with the maximum value from each target fitness as the permeability field corresponding to the well group partition.
[0262] It is understandable that when the current iteration number meets the preset iteration number, it means that there is already an optimal fitness among the various target fitnesss for well group partitions. Therefore, in order to ensure that the optimal reservoir description and production prediction results are obtained in the process of oil and gas field development and optimization, the target fitness with the maximum value will be selected from each target fitness as the permeability field corresponding to the well group partition.
[0263] S109. Combine the permeability fields corresponding to all well groups to obtain the fitted permeability field corresponding to the oil and gas reservoir to be fitted.
[0264] It should be noted that after the inversion of each well group is completed, the inversion results of each well group need to be combined, that is, the permeability field well group corresponding to each well group needs to be combined, so as to recover the permeability field data of the whole area, that is, to obtain the fitting permeability field of the entire oil and gas reservoir to be fitted, and at the same time, the grid of the current oil and gas reservoir to be fitted remains unchanged, thus realizing the historical fitting work of the oil and gas reservoir.
[0265] It should also be noted that the execution structure diagram for steps S107 to S109 can be found in [reference needed]. Figure 8 ,in, Figure 7 Feature selection in the context refers to the division of small-scale well group grids, parallel optimization refers to the inversion process of each well group partition, and feature fusion refers to the combination of the permeability fields corresponding to all well group partitions.
[0266] Optionally, in each well within the oil and gas reservoir to be fitted, there may be an inaccurate permeability field for one well. To correct the inaccurate permeability field in a timely manner and thus ensure the accuracy of the fitted permeability field of the oil and gas reservoir, in another embodiment of this application, the permeability field corresponding to each well is also obtained for subsequent processing. Optionally, as... Figure 8 As shown, another embodiment of this application provides a method for correcting a permeability field, comprising the following steps:
[0267] S801. Obtain the permeability field corresponding to each single well in each well group of the oil and gas reservoir to be fitted.
[0268] Understandably, in order to further refine the inversion results, the permeability field corresponding to each single well in each well group of the oil and gas reservoir to be fitted can be refined, which can effectively ensure that the permeability field of the local area of the oil and gas reservoir to be fitted is also accurate.
[0269] S802. For each individual well, compare whether the simulated production data and the actual production data of the well are consistent.
[0270] The simulated production data of a single well is obtained in advance by simulating the logging data and production dynamic data of the oil and gas reservoir to be fitted using a simulation simulator.
[0271] Specifically, to ensure the reliability of the permeability field corresponding to each individual well, the simulated production data of each well is compared with the actual production data to determine its reliability. Therefore, if the simulated production data of a single well is inconsistent with the actual production data, it indicates that the permeability field corresponding to that well does not meet the reliability requirements, and step S803 needs to be executed.
[0272] Optionally, if the simulated production data of a single well is consistent with the actual production data, it means that the permeability field corresponding to the single well has met the reliability requirements and is also accurate, so there is no need to correct the single well.
[0273] S803. Determine that the permeability field corresponding to a single well does not meet the actual permeability field, and divide the single well into multiple single-well regions.
[0274] Specifically, when the simulated production data of a single well is inconsistent with the actual production data, it is necessary to divide the identified units into regions to more accurately describe local geological features and optimize production strategies, so as to effectively correct the single well.
[0275] Each single-well region can be represented as: Ω well ={x|xx well ||≤R}.
[0276] Among them, Ω well Let x be any point within a single-well region. well R is the well location, and R is the area radius.
[0277] S804. Define the local range of each single well area according to the preset single well spacing range.
[0278] Understandably, in order to more accurately invert the actual permeability field of a single well to support effective oil and gas field development and management decisions, a local area within the influence range of each single well can be determined based on a preset range of single well distances. This range is typically one well spacing range, meaning that a local area is identified whose permeability field is relatively consistent or approximately homogeneous within the given single well influence range. Therefore, subsequent inversion only needs to be performed on this local area, which also improves inversion efficiency.
[0279] S805. Using the preset fitting objective function corresponding to the well group zoning of a single well, the local range of each single well area is inverted to obtain the permeability field corresponding to the single well.
[0280] It should be noted that the specific implementation of the inversion process in step S805 can be referred to steps S601 to S609 in the above method embodiments, and will not be repeated here.
[0281] To facilitate understanding, the process of the reservoir history fitting method described in this application will be presented below using a specific application scenario. Please refer to [link / reference]. Figure 9 The figure shows the historical fitting results for four wells. In a specific application scenario, a square area of a geological model of an oilfield can be selected as the test model for numerical simulation. First, attributes are calculated and extracted using pre-stack seismic data from the geological model to obtain the permeability attributes of the oilfield. Then, sampling is performed based on the permeability attributes, resulting in a large number of sampled data. Large-scale historical data fitting is then performed on these sampled data. After completing the large-scale historical data fitting, small-scale well group production data fitting is performed based on the distribution of well points to obtain the permeability field data of the oilfield, thus completing the historical fitting work. However, there may be problems with fitting individual well groups, so individual well fitting is required for each well group. A perforation misalignment problem was found, and after correction, inversion work was performed only for the permeability field around the wells in this well group.
[0282] This application provides a method for historical data fitting of oil and gas reservoirs. First, it acquires pre-stack seismic and well logging data of the reservoir to be fitted. Then, based on the pre-stack seismic and well logging data, it calculates the permeability field of the reservoir. Next, it preprocesses the permeability field to obtain multiple permeability grids. Then, it performs large-scale pooling on each permeability grid to obtain a large-scale grid. Finally, it uses a preset objective function to perform large-scale inversion on the large-scale grid, obtaining multiple optimal inversion values corresponding to the large-scale grid. Subsequently, based on the number of well logging data... Based on the location information of each well group within the oil and gas reservoir to be fitted, the large-scale grid is inverted at a small scale to obtain multiple small-scale well group grids. Each small-scale well group grid is then divided into multiple well group partitions. For each well group partition, based on multiple optimal inversion values corresponding to the large-scale grid, a preset fitting objective function is used to invert the well group partition, obtaining the permeability field corresponding to the well group partition. Finally, the permeability fields of all well group partitions are combined to obtain the fitted permeability field corresponding to the oil and gas reservoir to be fitted. Therefore, by dividing the permeability field of the oil and gas reservoir into multiple scales and then inverting the permeability field using objective functions of different scales in descending order of scale, the fitted permeability field of the oil and gas reservoir is obtained, effectively solving the problem of insufficient accuracy of the permeability field.
[0283] Another embodiment of this application provides a historical fitting device for oil and gas reservoirs, such as... Figure 10 As shown, it includes the following units:
[0284] The data acquisition unit 1001 is used to acquire pre-stack seismic data and well logging data of the oil and gas reservoir to be fitted.
[0285] The calculation unit 1002 is used to calculate the permeability field of the oil and gas reservoir to be fitted based on pre-stack seismic data and well logging data.
[0286] The preprocessing unit 1003 is used to preprocess the permeability field to obtain multiple permeability grids corresponding to the permeability field.
[0287] Large-scale pooling unit 1004 is used to perform large-scale pooling on each permeability grid cell to obtain a large-scale grid cell.
[0288] The large-scale inversion unit 1005 is used to perform large-scale inversion on a large-scale grid using a preset objective function, and obtain multiple optimal inversion values corresponding to the large-scale grid.
[0289] The small-scale anti-pooling unit 1006 is used to perform small-scale anti-pooling on the large-scale grid body based on the location information of each well group in the oil and gas reservoir to be fitted in the logging data, so as to obtain multiple small-scale well group grid bodies.
[0290] The grid division unit 1007 is used to divide each small-scale well group grid into multiple well group partitions.
[0291] Inversion unit 1008 is used to invert the well group partition for each well group partition according to multiple optimal inversion values corresponding to the large-scale grid volume, and use the preset fitting objective function corresponding to the well group partition to obtain the permeability field corresponding to the well group partition.
[0292] Combination unit 1009 is used to combine the permeability fields corresponding to all well groups to obtain the fitted permeability field corresponding to the oil and gas reservoir to be fitted.
[0293] It should be noted that the specific working process of the above-mentioned units in the embodiments of this application can be referred to steps S101 to S109 in the above method embodiments, and will not be repeated here.
[0294] Optionally, in another embodiment of this application, a historical data fitting device for an oil and gas reservoir includes a calculation unit 1002 comprising:
[0295] The analysis unit is used to perform migration amplitude analysis on pre-stack seismic data to obtain the reflection characteristics of each incident angle corresponding to the pre-stack seismic data.
[0296] The porosity calculation unit is used to calculate the porosity of each reflection feature using the inversion formula to obtain the porosity distribution.
[0297] The permeability field calculation unit is used to calculate the permeability field of the oil and gas reservoir to be fitted based on the product relationship between well logging data and porosity distribution.
[0298] Optionally, in another embodiment of this application, a history fitting device for oil and gas reservoirs includes a preprocessing unit 1003 comprising:
[0299] The transformation unit is used to transform the permeability field using the probability field formula to obtain the probability field corresponding to the permeability field.
[0300] The sampling unit is used to sample the probability field using the Monte Carlo method to obtain multiple sample permeability fields.
[0301] The smoothing unit is used to smooth the permeability field of each sample to obtain the smoothed permeability field corresponding to each sample permeability field.
[0302] The gridding unit is used to perform gridding on each smooth permeability field to obtain multiple permeability grids corresponding to the permeability field.
[0303] Optionally, in another embodiment of this application, a history fitting device for an oil and gas reservoir includes a large-scale inversion unit 1005, comprising:
[0304] The first generation unit is used to randomly generate a population of large-scale grid cells.
[0305] The first mutation unit is used to randomly select multiple individuals from the population, mutate each individual, and obtain the mutation vector corresponding to each individual.
[0306] The first crossover operation unit is used to perform a crossover operation between the individual's mutation vector and the individual for each individual, so as to obtain the experimental vector corresponding to the individual.
[0307] The first fitness calculation unit is used to calculate the fitness of an individual and its corresponding trial vector using a preset objective function, so as to obtain the fitness of the individual and the fitness of the trial vector.
[0308] The first comparison unit is used to compare whether the fitness corresponding to the experimental vector is not less than the fitness corresponding to the individual.
[0309] The first determining unit is used to determine the fitness corresponding to the test vector as the optimal fitness if the fitness corresponding to the test vector is not less than the fitness corresponding to the individual, and to update the test vector to the population for iteration.
[0310] The second determining unit is used to determine the fitness of an individual as the optimal fitness if the fitness corresponding to the experimental vector is less than the fitness of the individual, and then update the individual to the population for iteration.
[0311] The first judgment unit is used to determine whether the current iteration number meets the preset iteration number.
[0312] The first execution unit is used to return to the execution if the current iteration number does not meet the preset iteration number. It randomly selects multiple individuals from the population, mutates each individual, and obtains the corresponding mutation vector for each individual.
[0313] The sorting unit is used to sort all optimal fitnesss in descending order of optimal fitness if the current iteration number meets the preset iteration number, and select a preset number of optimal fitnesss from all the sorted optimal fitnesss in descending order as multiple optimal inversion values corresponding to the large-scale grid.
[0314] Optionally, in another embodiment of this application, a reservoir history fitting device includes a grid division unit 1007 comprising:
[0315] The data acquisition unit is used to acquire production data from multiple injection and production wells in the oil and gas reservoir to be fitted.
[0316] The relationship judgment unit is used to determine, for each injection-production well, whether there are multiple target well group grids with corresponding injection-production relationships in each small-scale well group grid, based on the production data of the injection-production wells.
[0317] As a unit, if there are multiple target well group grids with injection-production correspondence in each small-scale well group grid, then each target well group grid is considered as a well group.
[0318] The drawing unit is used to draw each target well group mesh volume within the well group as a polygon vertex, resulting in a well group mesh, and to mark the target mesh as a mesh within the well group mesh. Here, a target mesh refers to any mesh whose distance from the boundary of the well group mesh is less than a preset threshold.
[0319] The division unit is used to mark the well group number of all well group grids and divide all well group grids according to the well group number to obtain multiple well group zones.
[0320] Optionally, in another embodiment of this application, an inversion unit 1008 for a historical fitting device for an oil and gas reservoir includes:
[0321] The second generation unit is used to randomly generate well group populations for each well group partition based on multiple optimal inversion values corresponding to the large-scale grid volume.
[0322] The second mutation unit is used to randomly select multiple target individuals from the well group population, mutate each target individual, and obtain the mutation vector corresponding to each target individual.
[0323] The second crossover operation unit is used to perform crossover operations between the mutation vector of the target individual and the target individual for each target individual, so as to obtain the target experimental vector corresponding to the target individual.
[0324] The second fitness calculation unit is used to calculate the fitness of the target individual and its corresponding target experimental vector by using the preset fitting objective function corresponding to the well group partition, so as to obtain the fitness of the target individual and the fitness of the target experimental vector.
[0325] The second comparison unit is used to compare whether the fitness corresponding to the target experimental vector is not less than the fitness corresponding to the target individual.
[0326] The third determining unit is used to determine the fitness corresponding to the target experimental vector as the target fitness if the fitness corresponding to the target experimental vector is not less than the fitness corresponding to the target individual, and to update the target experimental vector to the well group population for iteration.
[0327] The fourth determining unit is used to determine the fitness of the target individual as the target fitness if the fitness of the target experimental vector is less than the fitness of the target individual, and update the target individual to the well group population for iteration.
[0328] The second judgment unit is used to determine whether the current iteration number meets the preset iteration number.
[0329] The second execution unit is used to return to the execution if the current iteration number does not meet the preset iteration number. It randomly selects multiple target individuals from the well group population, mutates each target individual, and obtains the mutation vector corresponding to each target individual.
[0330] As a unit, it is used to select the target fitness with the maximum value from each target fitness if the current iteration number meets the preset iteration number, and use it as the permeability field corresponding to the well group partition.
[0331] Optionally, another embodiment of this application provides a reservoir history fitting device that further includes:
[0332] The acquisition unit is used to acquire the permeability field corresponding to each single well in each well group of the oil and gas reservoir to be fitted.
[0333] The comparison unit is used to compare the simulated production data with the actual production data for each individual well. The simulated production data for each well is obtained in advance by simulating the logging data and production dynamic data of the oil and gas reservoir to be fitted using a simulation simulator.
[0334] The single-well division unit is used to determine that the permeability field corresponding to a single well does not meet the actual permeability field if the simulated production data of a single well is inconsistent with the actual production data, and then the single well is divided into multiple single-well regions.
[0335] The definition unit is used to define the local range of each single-well area according to the preset single-well spacing range.
[0336] The inversion processing unit is used to invert the local range of each single well area using the preset fitting objective function corresponding to the well group zoning of the single well, so as to obtain the permeability field corresponding to the single well.
[0337] Optionally, another embodiment of this application provides a reservoir history fitting device that further includes:
[0338] The feature decomposition unit is used to perform feature decomposition on each well group partition to obtain the features corresponding to each well group partition.
[0339] It should be noted that the specific working process of each unit provided in the above embodiments of this application can be referred to the corresponding steps in the above method embodiments, and will not be repeated here.
[0340] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0341] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for historical data fitting of oil and gas reservoirs, characterized in that, include: Acquire pre-stack seismic data and well logging data of the oil and gas reservoir to be fitted; Based on the pre-stack seismic data and well logging data, the permeability field of the oil and gas reservoir to be fitted is calculated; The permeability field is preprocessed to obtain multiple permeability grids corresponding to the permeability field; Each of the permeability grid cells is subjected to large-scale pooling to obtain a large-scale grid cell; Using a preset objective function, a large-scale inversion is performed on the large-scale grid to obtain multiple optimal inversion values corresponding to the large-scale grid. Based on the location information of each well group in the oil and gas reservoir to be fitted in the logging data, the large-scale grid is reversed to a small scale to obtain multiple small-scale well group grids. Each of the small-scale well group grids is divided into multiple well group partitions; For each well group partition, based on the multiple optimal inversion values corresponding to the large-scale grid, the well group partition is inverted using the preset fitting objective function corresponding to the well group partition to obtain the permeability field corresponding to the well group partition; By combining the permeability fields corresponding to all the well groups, the fitted permeability field corresponding to the oil and gas reservoir to be fitted is obtained.
2. The method according to claim 1, characterized in that, The calculation of the permeability field of the oil and gas reservoir to be fitted, based on the pre-stack seismic data and well logging data, includes: Migration amplitude analysis was performed on the pre-stack seismic data to obtain the reflection characteristics of each incident angle corresponding to the pre-stack seismic data; The porosity of each reflection feature is calculated using the inversion formula to obtain the porosity distribution. Based on the product relationship between the well logging data and the porosity distribution, the permeability field of the oil and gas reservoir to be fitted is calculated.
3. The method according to claim 1, characterized in that, The preprocessing of the permeability field to obtain multiple permeability grids corresponding to the permeability field includes: The permeability field is transformed using the probability field formula to obtain the probability field corresponding to the permeability field; The probability field was sampled using the Monte Carlo method to obtain multiple sample permeability fields; Smooth the permeability field of each sample to obtain the smoothed permeability field corresponding to each sample permeability field; Each of the smooth permeability fields is meshed to obtain multiple permeability grids corresponding to the permeability field.
4. The method according to claim 1, characterized in that, The process involves using a preset objective function to perform a large-scale inversion on the large-scale grid, obtaining multiple optimal inversion values corresponding to the large-scale grid, including: The population of the large-scale grid is generated randomly; Randomly select multiple individuals from the population, and mutate each individual to obtain a mutation vector corresponding to each individual; For each individual, the mutation vector of the individual is cross-crossed with the individual to obtain the experimental vector corresponding to the individual; The fitness of the individual and its corresponding trial vector are calculated using a preset objective function to obtain the fitness of the individual and the fitness of the trial vector. Compare whether the fitness corresponding to the experimental vector is not less than the fitness corresponding to the individual; If the fitness corresponding to the experimental vector is not less than the fitness corresponding to the individual, then the fitness corresponding to the experimental vector is determined to be the optimal fitness, and the experimental vector is updated to the population for iteration; If the fitness of the experimental vector is less than the fitness of the individual, then the fitness of the individual is determined to be the optimal fitness, and the individual is updated to the population for iteration. Determine if the current iteration count meets the preset iteration count; If the current iteration number does not meet the preset iteration number, then return to the step of randomly selecting multiple individuals from the population, mutating each individual, and obtaining the mutation vector corresponding to each individual; If the current iteration number satisfies the preset iteration number, then all optimal fitnesss are sorted in descending order of optimal fitness, and a preset number of optimal fitnesss are selected from all the sorted optimal fitnesss in descending order as multiple optimal inversion values corresponding to the large-scale grid.
5. The method according to claim 1, characterized in that, The process of dividing each of the small-scale well group grids into multiple well group partitions includes: Obtain production data from multiple injection and production wells in the oil and gas reservoir to be fitted; For each injection-production well, based on the production data of the injection-production well, determine whether there are multiple target well group grids with corresponding injection-production relationships in each small-scale well group grid; If there are multiple target well group grids with injection-production correspondence in each of the small-scale well group grids, then each target well group grid is considered as a well group. Each target well group grid body within the well group is depicted as a polygon vertex to obtain a well group grid, and the target grid is marked as a grid within the well group grid; wherein, the target grid refers to any grid whose distance from the boundary of the well group grid is less than a preset threshold; All the well group grids are marked with well group numbers, and the well group grids are divided according to the well group numbers to obtain multiple well group zones.
6. The method according to claim 1, characterized in that, The step of inverting the well group partition for each well group partition, based on multiple optimal inversion values corresponding to the large-scale grid, using a preset fitting objective function corresponding to the well group partition, to obtain the permeability field corresponding to the well group partition includes: For each well group partition, a well group population is randomly generated based on multiple optimal inversion values corresponding to the large-scale grid. Multiple target individuals are randomly selected from the well group population, and each target individual is mutated to obtain a mutation vector corresponding to each target individual. For each target individual, the mutation vector of the target individual is cross-crossed with the target individual to obtain the target experimental vector corresponding to the target individual; Using the preset fitting objective function corresponding to the well group partition, the fitness of the target individual and its corresponding target test vector are calculated respectively to obtain the fitness of the target individual and the fitness of the target test vector; Compare whether the fitness corresponding to the target experimental vector is not less than the fitness corresponding to the target individual; If the fitness corresponding to the target experimental vector is not less than the fitness corresponding to the target individual, then the fitness corresponding to the target experimental vector is determined as the target fitness, and the target experimental vector is updated to the well group population for iteration; If the fitness corresponding to the target experimental vector is less than the fitness corresponding to the target individual, then the fitness corresponding to the target individual is determined as the target fitness, and the target individual is updated to the well group population for iteration; Determine if the current iteration count meets the preset iteration count; If the current iteration number does not meet the preset iteration number, then return to the step of randomly selecting multiple target individuals from the well group population, mutating each target individual, and obtaining the mutation vector corresponding to each target individual; If the current iteration number satisfies the preset iteration number, then the target fitness with the maximum value is selected from each target fitness as the permeability field corresponding to the well group partition.
7. The method according to claim 1, characterized in that, Also includes: Obtain the permeability field corresponding to each single well in each well group of the oil and gas reservoir to be fitted; For each of the individual wells, the simulated production data and actual production data of the individual well are compared to see if they are consistent. The simulated production data of the individual well is obtained in advance by simulating the logging data and production dynamic data of the oil and gas reservoir to be fitted using a simulation simulator. If the simulated production data of a single well is inconsistent with the actual production data, it is determined that the permeability field corresponding to the single well does not meet the actual permeability field, and the single well is divided into multiple single-well regions. Based on the preset single-well spacing range, the local range of each single-well region is defined; Using a preset fitting objective function corresponding to the well group zoning where the single well is located, the local range of each single well region is inverted to obtain the permeability field corresponding to the single well.
8. The method according to claim 1, characterized in that, After dividing each of the small-scale well group grids into multiple well group partitions, the process further includes: Each well group partition is subjected to feature decomposition to obtain the features corresponding to each well group partition.
9. A historical fitting device for oil and gas reservoirs, characterized in that, include: The data acquisition unit is used to acquire pre-stack seismic data and well logging data of the oil and gas reservoir to be fitted. The calculation unit is used to calculate the permeability field of the oil and gas reservoir to be fitted based on the pre-stack seismic data and well logging data. A preprocessing unit is used to preprocess the permeability field to obtain multiple permeability grids corresponding to the permeability field; Large-scale pooling units are used to perform large-scale pooling on each of the permeability grid cells to obtain large-scale grid cells; The large-scale inversion unit is used to perform large-scale inversion on the large-scale grid using a preset objective function to obtain multiple optimal inversion values corresponding to the large-scale grid. Small-scale anti-pooling unit is used to perform small-scale anti-pooling on the large-scale grid body according to the location information of each well group in the oil and gas reservoir to be fitted in the logging data, so as to obtain multiple small-scale well group grid bodies. A grid division unit is used to divide each of the small-scale well group grids to obtain multiple well group partitions; The inversion unit is used to invert each well group partition according to multiple optimal inversion values corresponding to the large-scale grid, and to use a preset fitting objective function corresponding to the well group partition to obtain the permeability field corresponding to the well group partition. The combination unit is used to combine the permeability fields corresponding to all the well groups to obtain the fitted permeability field corresponding to the oil and gas reservoir to be fitted.
10. The apparatus according to claim 9, characterized in that, The computing unit includes: The analysis unit is used to perform migration amplitude analysis on the pre-stack seismic data to obtain the reflection characteristics of each incident angle corresponding to the pre-stack seismic data. A porosity calculation unit is used to calculate the porosity of each of the reflection features using an inversion formula to obtain the porosity distribution. The permeability field calculation unit is used to calculate the permeability field of the oil and gas reservoir to be fitted based on the product relationship between the well logging data and the porosity distribution.