A method for generating a hydrate porous medium digital core
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHONGQING UNIV
- Filing Date
- 2023-06-26
- Publication Date
- 2026-08-04
AI Technical Summary
Existing technologies are difficult to efficiently generate natural gas hydrate samples with different saturation and occurrence forms in the laboratory, and the preparation costs are high, the time is long, and the distribution control is difficult.
By preparing hydrate porous core samples, performing CT scanning and 3D reconstruction, and using IMAGEJ image processing software for preprocessing and watershed method segmentation of pore space, digital cores of hydrate porous media are generated, achieving precise control of pores and framework, generating hydrates in the pores, and outputting as a one-dimensional txt text.
It enables the controllable generation of natural gas hydrate saturation and occurrence morphology in porous media, solves the practical difficulties in preparing samples in the laboratory, and provides digital cores of hydrates for scientific research.
Smart Images

Figure CN116858632B_ABST
Abstract
Description
Technical Field
[0001] This invention pertains to digital core processing technology, specifically relating to a method for generating digital cores of porous media containing hydrates. This method utilizes porous media digital cores to generate hydrate samples with different saturations and occurrence morphologies, thereby achieving controllable generation of hydrates based on real porous media. Background Technology
[0002] Natural gas hydrates are considered a strategic alternative energy source due to their large reserves, high energy density, high efficiency, and cleanliness. The exploration and development of natural gas hydrates are crucial for ensuring national energy security and reducing dependence on imported natural gas. Therefore, relevant research has been conducted on the occurrence, geophysical and mechanical properties, and extraction methods of natural gas hydrates. Sample preparation is a necessary prerequisite for studying the fundamental properties of natural gas hydrates. However, the existence of natural gas hydrates depends on specific temperature and pressure conditions, exhibiting strong temperature and pressure sensitivity. Once removed from the original temperature and pressure conditions, natural gas hydrates are easily decomposed, leading to difficulties in obtaining and preserving in-situ samples, as well as high costs. Furthermore, laboratory-prepared natural gas hydrate samples are often cemented samples with limited saturation. Full-saturation hydrate formation is costly, time-consuming, and difficult to control in terms of distribution. Summary of the Invention
[0003] To address the shortcomings of existing methods for preparing physical samples of natural gas hydrates, the present invention aims to provide a method for generating digital cores of porous hydrate media. This method overcomes the problems of cost, saturation, and distribution control in laboratory preparation of natural gas hydrates, enabling the controllable generation of hydrate samples with different saturations and occurrence morphologies.
[0004] The technical problem to be solved by the present invention is achieved through the following technical solution, which includes the following steps:
[0005] Step 1: Prepare porous core samples of hydrates and calculate the porosity of the core samples;
[0006] Step 2: Seal the sample prepared in Step 1, perform CT scanning, perform three-dimensional reconstruction to obtain CT scan numerical core tomographic images, obtain image parameters such as pixel and resolution, and export the image sequence data.
[0007] Step 3: Preprocess the image in IMAGEJ image processing software, including cropping the image to remove the non-core parts outside the image, adjusting the contrast and brightness, filtering and noise reduction, performing grayscale analysis, and performing three-dimensional reconstruction to obtain a three-dimensional digital core. Calculate the sample porosity on the reconstructed digital core and save the CT image as a raw file.
[0008] Step 4: Divide the pore space using the watershed method, dividing the pores into pore blocks of a certain size according to the throat and pores, and calculate and store the geometric center coordinates and average pore radius of the pore blocks; in addition, divide the skeleton space using the watershed method to obtain the skeleton center coordinates and skeleton particle radius.
[0009] Step 5: Generate hydrates in the pores. After the hydrates are generated, classify and label the porous media containing hydrates in the digital core, and output them as a one-dimensional txt text file after sorting.
[0010] The technical effects of this invention are:
[0011] This invention, through the above-described steps of generating digital cores of hydrates, enables precise control over the saturation, occurrence morphology, and generation location of natural gas hydrates in porous media, achieving controllable generation of digital cores of natural gas hydrates based on real porous media. It allows for the study of the fundamental properties of natural gas hydrates and solves the practical difficulties in preparing natural gas hydrate samples in the laboratory. Attached Figure Description
[0012] The accompanying drawings of this invention are described below:
[0013] Figure 1 Flowchart of the main program for generating numerical values for hydrates;
[0014] Figure 2 A flowchart of the subroutine for generating pore-filled hydrates;
[0015] Figure 3 Flowchart of the subroutine for generating cemented hydrates;
[0016] Figure 4 Images of hydrate examples generated for application of the present invention;
[0017] (a) sh = 37.58% pore-filled hydrate;
[0018] (b) sh = 32.00% cemented hydrate;
[0019] (c) 3D visualization of sh=32.00% cemented hydrates. Detailed Implementation
[0020] The present invention will be further described below with reference to the accompanying drawings and embodiments:
[0021] An example includes the following steps:
[0022] Step 1: Prepare porous core samples of hydrates and calculate the porosity of the core samples;
[0023] 1) Based on the natural gas hydrate stratigraphic rock data of the Shenhu sea area in the South China Sea and the permafrost layer of the Qilian Mountains, natural sand samples of different particle sizes were screened, and the natural sand was washed and impurities were removed with deionized water. The washed natural sand was then dried for later use.
[0024] 2) A sample preparation device with an inner tube diameter × inner height of 25mm × 50mm is made using an acrylic tube. The weight of the sample preparation device is X0. The sample preparation device is used to prepare the sample skeleton of natural gas hydrate.
[0025] 3) Calculate the required amount of natural sand according to a certain gradation and porosity. Weigh out a given amount of dry natural sand of different particle sizes and mix them evenly. In the sample preparation device, fill and compact the mixed natural sand in layers. Due to the irregular shape of the natural sand, there are contact gaps between the compacted natural sand. Therefore, these gaps serve as the pore space for the generation and filling of hydrate porous core samples.
[0026] Weigh the total mass of the sample preparation device and the core sample, and calculate the mass of the core sample: Sample mass = Total mass - X0;
[0027] Dimensions of core samples: Sample diameter = inner tube diameter of sample preparation device, Sample height = inner height of sample preparation device - sample cover thickness;
[0028] Calculate the porosity of the core sample = (sample volume - natural sand volume) / (sample volume) = 1 - (sample mass ÷ natural sand density) / sample volume.
[0029] Step 2: Seal the core sample prepared in Step 1, perform CT scanning, perform three-dimensional reconstruction to obtain CT scan numerical core tomographic slice images, obtain image parameters such as pixel and resolution, and export the image sequence data.
[0030] This 3D reconstruction involves reconstructing the X-ray image (structural image) of a physical rock core into a 3D image, and then cutting the reconstructed 3D image to obtain CT tomographic slice images. See the literature "3D Reconstruction and Numerical Experimental Study of Asphalt Mixture Based on X-ray CT and Finite Element Method," Wan Cheng, South China University of Technology, pp. 20-44, April 2010, which describes a method for reconstructing images from CT scans.
[0031] Step 3: Preprocess the tomographic slice image in IMAGEJ image processing software, including cutting the image to remove the non-core parts outside the image, adjusting contrast and brightness, filtering and noise reduction, and performing grayscale analysis (double threshold segmentation).
[0032] See the literature "Pore Fractal Characteristics of Hydrate‐Bearing Sands and Implications to the Saturated Water Permeability", Zhun Zhang et al, JGR (Journal of Geophysical Research): Solid Earth, 125, pp. 5-6, Mar, 2020, which describes a dual-threshold segmentation method. This image segmentation method uses dual-threshold segmentation to separate the skeletal particles and pore space. The segmented image is then binarized for subsequent operations, with skeletal particles recorded as "0" and pore space as "1".
[0033] A third 3D reconstruction is performed. Unlike the reconstruction of the image from the X-ray projection data of the CT scan core in step 2, this reconstruction involves stacking the CT slice image sequence in the slice arrangement order to form a 3D digital core. The porosity of the sample (number of pore pixels / total number of pixels) is calculated on the reconstructed digital core to ensure that the porosity of the digital core is kept within a certain error range (error not exceeding 0.5%) compared with the porosity in step 1. The CT image is then saved as a raw file.
[0034] Step 4: Divide the pore space using the watershed method, dividing the pores into pore blocks of a certain size according to the throat and pores, and calculate and store the geometric center coordinates and average pore radius of the pore blocks; in addition, divide the skeleton space using the watershed method to obtain the skeleton center coordinates and skeleton particle radius.
[0035] See the literature "Versatile and efficient pore network extraction method using marker-based watershed segmentation", Jeff T. Gostick, Physical Review E 2017 ("A general and efficient pore network extraction method based on marker-based watershed segmentation", Jeff T. Gostick, Physical Review E, No. 96, pp. 1-13, August 2017), which describes a watershed method for segmenting pore space. Through basic operations such as calculating Euclidean distance, peak picking, peak removal, and merging of neighboring peaks, the pores are finally segmented into pore blocks of a certain size according to throats and pores. The geometric center coordinates and average pore radius of the pore blocks are calculated and stored. In addition, the skeleton space is segmented by watershed to obtain the skeleton center coordinates and skeleton particle radii.
[0036] Step 5: Hydrates are generated in the pores. The porous media containing hydrates in the digital core after hydrate generation are classified and labeled, and then sorted and output as a one-dimensional text file (txt). The generation of hydrates in the pores includes the following steps:
[0037] 1) Import the raw file, pore information file, and skeleton information file, read the image data into a three-dimensional matrix, and form a calculation matrix a(lenx, leny, lenz) to provide basic skeleton and pore data for hydrate generation;
[0038] 2) Calculate the search range for pores or skeletons. This search range is a spherical range with a radius of ratio*plr extending outward from the center of the pore or skeleton. Then, iteratively search for pore pixels using the center of the pore or skeleton as the starting point.
[0039] 3) Hydrates are formed in pores within the pore or framework search range:
[0040] Pore-filling hydrates extend from the pore center toward the framework particles until the minimum gap between the hydrate and the framework particles is not less than one voxel.
[0041] Cemented hydrates are formed from the edges of the framework toward the center of the pores, until the hydrates fill the pore space;
[0042] 4) After the hydrate is generated in one pore, the search for the next pore begins. After all pores have been searched, the hydrate saturation is calculated. If the hydrate saturation does not reach the preset saturation, the pore search range and the preset pore radius threshold plr0 are adjusted until the preset hydrate saturation is met. When the hydrate saturation reaches the preset saturation, the hydrate generation is complete.
[0043] like Figure 1 As shown, a hydrate generation program written in MATLAB is presented. The hydrate generation program follows these steps:
[0044] In S101, import the image data from the raw file;
[0045] In S102, import the pore information file and the skeleton information file;
[0046] The pore information includes the geometric center coordinates of the pore block and the average pore radius; the skeleton information includes the skeleton center coordinates and the skeleton particle radius.
[0047] In S103, set the dimensions of the 3D image: lenx, leny, lenz;
[0048] In S104, the image data from S101 is read into a three-dimensional matrix to form a computation matrix a(lenx, leny, lenz);
[0049] In S105, the expected hydrate saturation Sh0 and the pore radius threshold plr0 are set to control the hydrate formation saturation and determine whether pore-filling hydrates can be formed in pores of different sizes.
[0050] In S106, pore information or skeleton information is used to cyclically search for pore pixels within a "sphere" with a radius of ratio*plr extending outward from the pore center or skeleton center.
[0051] In S107, hydrates are generated in the pores, and the pore pixel value is replaced with "7";
[0052] In S108, the hydrate saturation Sh is calculated as: hydrate phase volume / (hydrate phase volume + remaining pore volume).
[0053] In S109, determine whether the hydrate saturation Sh has reached the preset saturation Sh0. If yes, proceed to S111; otherwise, proceed to S110.
[0054] In S110, adjust the pore search range ratio*plr and the preset pore radius threshold plr0, and return to S105;
[0055] The hydrate limit saturation is adjusted to below 40% to meet the actual saturation limit requirements of pore-filled natural gas hydrates (20%~40%), and to cover the full saturation range of cemented hydrates (0~100%).
[0056] In S111, the digital cores containing hydrates were classified and labeled, with the skeleton particles labeled with the value "3", the hydrates labeled with the value "7", and the pore space labeled with the value "1".
[0057] In S112, the information of the hydrate-containing porous media labeled by matrix index from (1, 1, 1) to (maxX, maxY, maxZ) is sorted in ascending order of x, y, z, and the output is a one-dimensional txt text for subsequent analysis.
[0058] There are two types of hydrates: pore-filling hydrates and cemented hydrates. The flowchart for generating pore-filling hydrates during the cyclic search and hydrate generation process in S106 and S107 is shown below. Figure 2 See the flowchart for the formation of cemented hydrates. Figure 3 .
[0059] Pore-filling hydrates are more likely to form in macropores and at pore centers than in micropores and pore corners. By setting a preset pore radius threshold plr0, pores larger than the preset pore radius are considered suitable for hydrate formation. Pore-filling hydrates extend from the pore center toward the framework particles until the hydrate reaches the minimum gap between itself and the framework particles (not less than one voxel).
[0060] like Figure 2 As shown, the subroutine for generating pore-filled hydrates follows these steps:
[0061] In S201, each pore pixel is searched according to its different pore center coordinates;
[0062] In S202, determine whether the pore radius is greater than the threshold plr0. If so, proceed to S203; otherwise, return to S201.
[0063] In S203, calculate the search radius of the pores, ratio*plr;
[0064] In S204, using the pore center coordinates as the "center of the sphere," the search searches for pore pixels within a sphere with a radius of ratio*plr. This step avoids searching and judging all pixels by cyclically exploring the pore space near the pore center, thus greatly reducing the computational load of hydrate generation cycles and judgments.
[0065] In S205, determine whether the pore pixels within the search range are in contact with the skeleton material. If so, proceed to S207; otherwise, proceed to S206.
[0066] At least one pixel's spacing must be maintained between hydrates and skeleton particles.
[0067] In S206, a filling hydrate is generated by replacing the pore pixel value with "7", and then proceed to S208.
[0068] In S207, the cycle continues to the next aperture pixel;
[0069] In S208, determine whether all the aperture pixels within the "sphere" range of radius ratio*plr have been searched. If so, proceed to S209; otherwise, return to S204.
[0070] In S209, the search loop for aperture pixels within the radius ratio*plr "sphere" ends, and the next aperture loop S106 continues.
[0071] Cemented hydrates are generated and extend from the edges of the framework towards the center of the pores until the hydrates fill the pore space; a cyclic search of framework information is used.
[0072] like Figure 3 As shown, the subroutine for generating cemented hydrates follows these steps:
[0073] In S301, the pixels near the skeleton are searched according to the different coordinates of the skeleton center.
[0074] In S302, calculate the search radius ratio*plr;
[0075] In S303, with the center coordinates of the skeleton as the "center of the sphere", search for the aperture pixels within the "sphere" with a radius of ratio*plr;
[0076] In S304, determine whether the pore pixels within the search range are in contact with the skeleton material or hydrate particles. If so, proceed to S306; otherwise, proceed to S305.
[0077] In S305, a cemented hydrate is generated, the pore pixel value is replaced with "7", and then proceed to S307;
[0078] In S306, the cycle continues to the next aperture pixel;
[0079] In S307, determine whether all the aperture pixels within the "sphere" range of radius ratio*plr have been searched. If so, proceed to S308; otherwise, return to S303.
[0080] In S308, the search cycle for aperture pixels within the radius ratio*plr "sphere" ends, and the next aperture cycle S106 begins.
[0081] Two examples of hydrates generated using this method: Figure 4 (a) and (b) are cross-sections of pore-filling hydrates and cemented hydrates. In the figures, white represents hydrates, gray represents skeletal particles, and black represents pores. Figure 4 (c) is a three-dimensional visualization image of cemented hydrates, where orange-yellow represents hydrates, light green represents pores, and blue represents framework particles. Therefore, this invention provides a digital core of porous hydrate media that can be used for scientific research.
Claims
1. A method for generating digital cores of hydrate porous media, characterized in that, Includes the following steps: Step 1: Prepare porous core samples and calculate the porosity of the core samples; Step 2: Seal the sample prepared in Step 1, perform CT scanning, perform three-dimensional reconstruction to obtain CT scan numerical core tomographic images, obtain image parameters such as pixel and resolution, and export the image sequence data. Step 3: Preprocess the image in IMAGEJ image processing software, including cropping the image to remove the non-core parts outside the image, adjusting the contrast and brightness, filtering and noise reduction, performing grayscale analysis, and performing three-dimensional reconstruction to obtain a three-dimensional digital core. Calculate the sample porosity on the reconstructed digital core and save the CT image as a raw file. Step 4: Divide the pore space using the watershed method, dividing the pores into pore blocks of a certain size according to the throat and pores, and calculate and store the geometric center coordinates and average pore radius of the pore blocks; in addition, divide the skeleton space using the watershed method to obtain the skeleton center coordinates and skeleton particle radius. Step 5: Generate hydrates in the pores, classify and label the porous media containing hydrates in the digital core after the hydrates are generated, and output them as a one-dimensional txt text after sorting. The formation of hydrates in the pores includes the following steps: 1) Import the raw file, pore information file, and skeleton information file, read the image data into a three-dimensional matrix, and form a calculation matrix a(lenx, leny, lenz), where lenx, leny, and lenz are the dimensions of the three-dimensional image, providing basic skeleton and pore data for generating hydrates; 2) Calculate the search range for pores or skeletons. This search range is a spherical range with a radius of ratio*plr extending outward from the center of the pore or skeleton, where ratio*plr is the search radius; and cyclically search for pore pixels with the center of the pore or skeleton as the search point. 3) Hydrates are formed in pores within the pore or framework search range: Pore-filling hydrates extend from the pore center toward the framework particles until the hydrate reaches the boundary, at which point the minimum gap between the hydrate and the framework particles is not less than one voxel. Cemented hydrates are formed from the edges of the framework toward the center of the pores, until the hydrates fill the pore space; 4) After the hydrate is generated in one pore, the search for the next pore begins. After all pores have been searched, the hydrate saturation is calculated. If the hydrate saturation does not reach the preset saturation, the pore search range and the preset pore radius threshold are adjusted until the preset hydrate saturation is met. When the hydrate saturation reaches the preset saturation, the hydrate generation is complete.
2. The method for generating digital cores of hydrate porous media according to claim 1, characterized in that, In step 1, core sample preparation includes: Step 11) Based on the natural gas hydrate strata rock data of the Shenhu area of the South China Sea and the permafrost layer of the Qilian Mountains, natural sand samples of different particle sizes were screened, and the natural sand was washed and cleaned with deionized water. The washed natural sand was then dried for later use. Step 12) Use an acrylic tube to make a sample preparation device with an inner tube diameter × inner height of 25mm × 50mm, weigh the sample preparation device X0, the sample preparation device is used to prepare the natural gas hydrate sample skeleton; Step 13) Calculate the required amount of natural sand according to a certain gradation and porosity. Weigh out a given amount of dry natural sand of different particle sizes and mix them evenly. In the sample preparation device, fill and compact the mixed natural sand in layers. There are contact gaps between the compacted natural sand. These gaps serve as the pore space for the generation and filling of hydrate porous core samples.
3. The method for generating digital cores of hydrate porous media according to claim 2, characterized in that, In step 1, the porosity of the core sample is calculated as follows: Core sample mass = total mass - X0; Core sample dimensions: Sample diameter = inner tube diameter of sample preparation device; Sample height = inner height of sample preparation device - sample cover thickness. Core sample porosity = (sample volume - natural sand volume) / (sample volume) = 1 - (sample mass ÷ natural sand density) / sample volume.
4. The method for generating digital cores of hydrate porous media according to claim 1, 2 or 3, characterized in that, The hydrate generation process based on MATLAB follows these steps: In S101, import the image data from the raw file; In S102, import the pore information file and the skeleton information file; In S103, set the dimensions of the 3D image: lenx, leny, lenz; In S104, the image data from S101 is read into a three-dimensional matrix to form a computation matrix a(lenx, leny, lenz); In S105, the expected hydrate saturation Sh0 and the pore radius threshold plr0 are set to control the hydrate formation saturation and determine whether pore-filling hydrates can be formed in pores of different sizes. In S106, using pore information or skeleton information, pore pixels are searched cyclically within a "sphere" with a radius of ratio*plr extending outward from the pore center or skeleton center. In S107, hydrates are generated in the pores, and the pore pixel value is replaced with "7"; In S108, the hydrate saturation Sh is calculated as: hydrate phase volume / (hydrate phase volume + remaining pore volume). In S109, determine whether the hydrate saturation Sh has reached the preset saturation Sh0. If so, proceed to S111. Otherwise, execute S110; In S110, adjust the pore search range ratio*plr and the preset pore radius threshold plr0, and return to S105; In S111, the digital cores containing hydrates were classified and labeled, with the skeleton particles labeled with the value "3", the hydrates labeled with the value "7", and the pore space labeled with the value "1". In S112, the information of the hydrate-containing porous media labeled by the calculation matrix a(lenx, leny, lenz) from (1, 1, 1) to (maxX, maxY, maxZ) is sorted in ascending order of x, y, z, and the output is a one-dimensional txt text.
5. The method for generating digital cores of hydrate porous media according to claim 4, characterized in that, in The process for generating pore-filling hydrates in the cyclic search and hydrate generation in S106 and S107 follows these steps: In S201, each pore pixel is searched according to its different pore center coordinates; In S202, determine whether the pore radius is greater than the threshold plr0. If so, proceed to S203; otherwise, return to S201. In S203, calculate the search radius of the pores, ratio*plr; In S204, with the center coordinates of the pores as the "center of the sphere", search for pore pixels within a "sphere" with a radius of ratio*plr; In S205, determine whether the pore pixels within the search range are in contact with the skeleton material. If so, proceed to S207; otherwise, proceed to S206. At least one pixel's spacing must be maintained between hydrates and framework particles; In S206, a filling hydrate is generated, which means replacing the pore pixel value with "7", and then proceeding to S208; In S207, the next aperture pixel is cycled in; In S208, determine whether all the aperture pixels within the "sphere" range of radius ratio*plr have been searched. If so, proceed to S209; otherwise, return to S204. In S209, the search cycle for aperture pixels within the radius ratio*plr "sphere" range ends, and the next aperture cycle S106 begins.
6. The method for generating digital cores of hydrate porous media according to claim 4, characterized in that, in The process for generating cemented hydrates in the cyclic search and hydrate generation in S106 and S107 follows these steps: In S301, the pixels near the skeleton are searched according to the different coordinates of the skeleton center. In S302, calculate the search radius ratio*plr; In S303, with the center coordinates of the skeleton as the "center of the sphere", search for the aperture pixels within the "sphere" with a radius of ratio*plr; In S304, determine whether the pore pixels within the search range are in contact with the skeleton material or hydrate particles. If so, proceed to S306; otherwise, proceed to S305. In S305, a cemented hydrate is generated, the pore pixel value is replaced with "7", and then proceed to S307; In S306, continue the loop search range; In S307, determine whether all the aperture pixels within the "sphere" range of radius ratio*plr have been searched. If so, proceed to S308; otherwise, return to S303. In S308, the search cycle for aperture pixels within the radius ratio*plr "sphere" range ends, and the next aperture cycle S106 begins.