Geological modeling method based on self-adaptive geometric multiple grids and related device

Through the adaptive geometric multi-grid method, the grid resolution is dynamically adjusted, the modeling accuracy of fault regions is improved, the calculation time and storage resources are reduced, and the problem of low calculation accuracy of fault regions in traditional geological modeling is solved, achieving more efficient and accurate geological modeling.

CN120495444AActive Publication Date: 2025-08-15CHINA UNIV OF MINING & TECH (BEIJING)

Patent Information

Application Number
CN202510553966.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-29
Publication Date
2025-08-15
Estimated Expiration
2045-04-29

AI Technical Summary

Technical Problem

In traditional geological modeling, the calculation accuracy of the fault region is low and the calculation time and storage resources are seriously wasted, especially in the insufficient modeling accuracy of the strata near the fault, resulting in insufficient geological modeling efficiency and accuracy.

Method used

Adaptive geometric multi-grid method is adopted to dynamically adjust the grid resolution based on geological modeling parameters, fault marking and control point position information. The high-resolution area is concentrated near faults and control points, and the low-resolution area is in a gentle area. The cross-level transmission of residuals and correction values ​​is achieved through limiting and extension operators, and the calculation process is optimized.

Benefits of technology

The modeling accuracy of the formations near the fault is improved, the overhead of computing time and storage resources is reduced, and more efficient and accurate geological modeling is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120495444A_ABST
    Figure CN120495444A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a geological modeling method based on self-adaptive geometric multiple grids and a related device. A specific embodiment of the method comprises the following steps: according to a division mode indicated by geological modeling parameters, performing grid division on a calculation area indicated by geological source data according to a first resolution to obtain a first resolution grid set, dividing a target grid in the first resolution grid set based on first position information of a fault mark and second position information of a control point in the calculation area to obtain multiple grids with different resolutions; therefore, the resolution ratio of the grids in the fault area and the area where the control points are located can be high, the first resolution ratio can be adopted in other areas, dynamic division of the multi-level grids is achieved, and modeling can be conducted more efficiently and accurately.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of two-dimensional modeling, and in particular to a geological modeling method based on adaptive geometric multi-grid and related devices. Background Art

[0002] With the continuous advancement of computer technology and the widespread availability of high-performance computing resources, computer-based geological modeling is playing an increasingly important role in resource exploration, environmental protection, disaster prediction, and other fields. Geological modeling, the process of describing, interpreting, and predicting geological entities, is a crucial component of geology, resource exploration, and environmental science. The primary task of geological modeling is to construct subsurface structure and property models based on geological data (such as borehole data, geophysical data, and geological images). This helps understand geological processes, guide resource exploration and management, and assess geological hazard risks.

[0003] Faults are common stratigraphic structures in geological exploration. In two dimensions, a single fault exists in the form of a polygon. In data storage, it appears as two line segments connected end to end to form a closed area.

[0004] In three dimensions, it appears as a fault plane. Since the fault divides a continuous stratum into two discontinuous and relatively independent areas, the relevant calculations become complicated.

[0005] In traditional modeling of fault regions, the solution domain is discretized and uniformly gridded. Finite difference methods are then used to construct a large-scale sparse difference matrix for all non-fault grid points. Grids containing fault points are treated as external regions and no longer subjected to computational analysis. This approach simplifies the computational logic at fault locations, but it also reduces the accuracy of the stratigraphic data near the faults and reduces the utilization of control points near the faults.

[0006] At the same time, generally speaking, the computational time and memory overhead of uniform grids are usually relatively large. Therefore, developing an algorithm that can improve the modeling accuracy of strata near faults and reduce computational time and space overhead is of great significance for improving the efficiency and accuracy of stratum modeling. Summary of the Invention

[0007] This disclosure section is provided to briefly introduce concepts that will be described in detail in the detailed description section below. This disclosure section is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.

[0008] In a first aspect, an embodiment of the present disclosure provides a geological modeling method based on adaptive geometric multigrid, the method comprising:

[0009] Dividing the calculation area indicated by the geological source data into grids at a first resolution according to a division method indicated by the geological modeling parameters to obtain a first resolution grid set;

[0010] Based on at least first position information of a fault mark in the calculation area and second position information of a control point, the target grid in the first resolution grid set is divided to obtain a plurality of grids of different resolutions; wherein the target grid includes the fault mark or the control point; the control point and the fault mark are determined by the geological source data;

[0011] Modeling is performed based on the numerical calculation results of the grid modeling.

[0012] In a second aspect, an embodiment of the present application provides a geological modeling device based on adaptive geometric multigrid, comprising:

[0013] A first division unit is configured to divide the calculation area indicated by the geological source data into grids at a first resolution according to a division method indicated by the geological modeling parameters, thereby obtaining a first resolution grid set;

[0014] a second partitioning unit configured to partition a target grid in the first resolution grid set based at least on first position information of a fault mark in the calculation area and second position information of a control point to obtain grids of multiple different resolutions; wherein the target grid includes the fault mark or the control point; and the control point and the fault mark are determined by the geological source data;

[0015] Building blocks for modeling based on grid-based numerical calculation results.

[0016] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method for exploring hot dry rock target areas based on aeromagnetic data as described in any aspect of the first invention when executing the computer program.

[0017] In a second aspect, an embodiment of the present disclosure provides an electronic device comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement any of the above methods in the first aspect.

[0018] The geological modeling method and related devices based on adaptive geometric multi-grids provided in this embodiment can grid the calculation area indicated by the geological source data according to the first resolution according to the division method indicated by the geological modeling parameters to obtain a first resolution grid set. Thereafter, the target grid in the first resolution grid set can be divided based on the first position information of the fault mark in the calculation area and the second position information of the control point to obtain grids of multiple different resolutions; thereby, it can be ensured that the resolution of the grid in the fault area and the area where the control point is located is higher, while other areas can use the first resolution, thereby realizing dynamic division of multi-level grids, which helps to perform modeling more efficiently and accurately.

[0019] In contrast, the traditional uniform grid uses a fixed grid spacing in the entire calculation area, which obviously wastes a lot of computing resources and storage resources. The present disclosure saves the computing resources and storage resources required in the geological modeling process by dynamically allocating grids of different resolutions, and helps to perform geological modeling more efficiently. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The above and other features, advantages, and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale.

[0021] Figure 1 is a flow chart of an embodiment of a geological modeling method based on adaptive geometric multigrid according to the present disclosure;

[0022] Figure 2 It is a structural diagram of the data organization of hierarchical grids, grid lists, and node lists;

[0023] Figure 3 It is a schematic diagram of the distribution of extended nodes in the hierarchical boundary area;

[0024] Figure 4 is a schematic diagram of adaptive grid implementation;

[0025] Figure 5 It is a schematic diagram of the situation where the control points are located in the fault marker grid;

[0026] Figure 6 It is a flow chart of the restriction process from fine grid to coarse grid in the V cycle process;

[0027] Figure 7 Schematic diagram of the restriction process from fine grid to coarse grid during the V cycle

[0028] Figure 8It is a flow chart of the extended processing from coarse grid to fine grid during the V cycle;

[0029] Figure 9 It is a schematic diagram of the extended processing from coarse grid to fine grid during the V cycle;

[0030] Figure 10 is the result of geological surface modeling under fault constraints

[0031] Figure 11 It is the contour result under fault constraint;

[0032] Figure 12 1 is a schematic structural diagram of a possible geological modeling device based on adaptive geometric multigrid provided by an embodiment of the present disclosure;

[0033] Figure 13 It is a schematic diagram of the basic structure of an electronic device provided according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0034] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0035] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0036] As used herein, the term "including" and its variations are open-ended, i.e., "including but not limited to." The term "based on" means "based, at least in part, on." The term "one embodiment" means "at least one embodiment," the term "another embodiment" means "at least one additional embodiment," and the term "some embodiments" means "at least some embodiments." Other terms are defined in the following description.

[0037] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0038] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".

[0039] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0040] As can be seen from the background art, the methods described in the related art either have low control point utilization or require a long computation time and excessive memory usage. However, the present disclosure provides a geological modeling method based on adaptive geometric multigrids that can improve the modeling accuracy of strata near faults while reducing computation time and memory overhead.

[0041] In this disclosure, an adaptive grid strategy dynamically adjusts grid density, using high-resolution grids only in complex areas such as faults and control points, while using low-resolution grids in smooth areas. For example, a fault area might use a 1024×1024 grid, while smooth areas only require a 256×256 grid. This reduces memory usage and improves computational speed.

[0042] In this paper, through multi-level collaborative computation (V-loop), coarse grids rapidly correct global errors, while fine grids focus on optimizing local details. Restriction and prolongation operators enable cross-level propagation of residuals and corrections. This ensures both accuracy and efficiency in modeling calculations.

[0043] Please refer to Figure 1 , which shows the process of an embodiment of the geological modeling method based on adaptive geometric multigrid according to the present disclosure. Figure 1 The geological modeling method based on adaptive geometric multigrid includes the following steps:

[0044] Step 101 : According to the division method indicated by the geological modeling parameters, the calculation area indicated by the geological source data is grid-divided at a first resolution to obtain a first resolution grid set.

[0045] Step 102 : Based on at least the first position information of the fault mark in the calculation area and the second position information of the control point, the target grid in the first resolution grid set is divided to obtain grids of multiple different resolutions.

[0046] Here, the target grid includes fault markers or control points; the control points and fault markers are determined by geological source data.

[0047] Step 103: Modeling is performed based on the numerical calculation results of the grid modeling.

[0048] As an example, geological modeling parameters can be used to indicate the grid resolution (first resolution) used for initial modeling. Of course, geological modeling parameters can also include a series of initial setting information for indicating how to perform modeling numerical calculations and interpolation. Of course, the information included in geological modeling parameters can be limited according to actual conditions.

[0049] Geological source data can be understood as all the original information and observation data for geological modeling.

[0050] As an example, the control points may be derived from actual geological observation data, such as drilling data, seismic data, etc. The fault marker may be understood as the location of the fault point, which may be determined based on geological mapping, seismic interpretation, or drilling data.

[0051] For example, control points can ensure model constraints, while the area where fault markers are located may be a fault region. As can be seen from the background art above, fault regions are more complex. Therefore, this disclosure further subdivides the grid where control points and fault markers are located, which facilitates the use of high-resolution grids in complex areas, thereby improving modeling accuracy.

[0052] As an example, the numerical calculation results of the modeling may include but are not limited to: attribute information (such as the distribution of pressure, temperature, fluid saturation, concentration, etc. in the model domain), heat conduction simulation information (the transfer and distribution of heat in the formation), etc.

[0053] The method of performing modeling based on the numerical calculation results of the modeling can be set according to actual conditions, and there is no limitation on how to use the numerical calculation results of the modeling to perform modeling.

[0054] It should be noted that the geological modeling method based on adaptive geometric multi-grid provided in this embodiment divides the calculation area indicated by the geological source data into grids according to the first resolution according to the division method indicated by the geological modeling parameters to obtain a first resolution grid set. After that, the target grid in the first resolution grid set can be divided based on the first position information of the fault mark in the calculation area and the second position information of the control point to obtain grids of multiple different resolutions; thereby, it can be ensured that the resolution of the grid in the fault area and the area where the control point is located is higher, while other areas can use the first resolution, thus realizing dynamic division of multi-level grids, which helps to model more efficiently and accurately.

[0055] In contrast, the traditional uniform grid uses a fixed grid spacing in the entire calculation area, which obviously wastes a lot of computing resources and storage resources. The present disclosure saves the computing resources and storage resources required in the geological modeling process by dynamically allocating grids of different resolutions, and helps to perform geological modeling more efficiently.

[0056] In some embodiments, one resolution corresponds to one modeling numerical calculation unit; and

[0057] If the different resolutions include a second resolution and a third resolution, the third resolution is a resolution one level higher than the second resolution;

[0058] The modeling value calculation unit corresponding to the second resolution is used to calculate the actual modeling value and the residual value; and transmit the calculated actual modeling value and the residual value to the modeling value calculation unit corresponding to the third resolution;

[0059] The modeling numerical calculation unit corresponding to the third resolution is used to correct the residual value and return the residual correction value to the modeling numerical calculation unit corresponding to the second resolution.

[0060] As an example, networks of different levels (different resolutions) correspond to different computing units, so that each computing unit establishes a differential matrix of grid points between the levels and performs calculations within the level unit.

[0061] It should be understood that in the present disclosure, different levels of grids (grids of different resolutions) can establish a separate storage node for storing data at this level, which helps the modeling numerical calculation unit to obtain data more efficiently.

[0062] At each level, the residuals processed by the restriction operator and the calculated values of the fine grid points are transferred from the fine grid level to the coarse grid level simultaneously. The coarse grid level simultaneously calculates the residuals transferred from the fine grid and the values of the current level. Then, through the extension operator processing, the residual calculation results are transferred back to the fine grid level so that the fine grid level can correct its calculated values. For the interface between different calculation levels, the strategy of extending the virtual grid of the fine grid to cover the interface can be adopted, ensuring the continuity and accuracy of the value transfer between levels.

[0063] In other words, the residuals processed by the restriction operator are transferred from the fine grid level to the coarse grid level. The residuals calculated on the fine grid (i.e., the error between the current solution and the exact solution) are transferred to the coarse grid through the restriction operator. The restriction operator downsamples the high-resolution information on the fine grid to the coarse grid, usually using weighted averaging or other downsampling methods. Of course, the fine grid level can also transfer the calculated values of the fine grid points to the coarse grid level.

[0064] At the coarse grid level, residuals transferred from the fine grid are calculated and combined with the values at this level to perform corrections. The goal is to use global information from the coarse grid to correct errors on the fine grid. Values at this level are also calculated independently on the coarse grid, reflecting global geological characteristics and low-frequency errors.

[0065] The residual corrections calculated on the coarse grid are propagated back to the fine grid level via a prolongation operator. The prolongation operator interpolates the low-resolution information from the coarse grid onto the fine grid. Linear interpolation or other high-order interpolation methods are typically used to ensure a smooth transition between different resolutions. The values on the fine grid are updated by adding the corrections propagated from the coarse grid, thereby improving the accuracy of the calculations on the fine grid.

[0066] That is, the present disclosure includes both constraint and extension operations. Constraint can be understood as transferring residuals from a fine grid to a coarse grid, using a constraint operator (e.g., weighted average) to obtain the residuals. Furthermore, the calculated values from the fine grid can be transferred to the coarse grid to ensure that the coarse grid can utilize this information.

[0067] The extension operation can be understood as transferring the corrected values on the coarse grid back to the fine grid through an extension operator (e.g., interpolation). This corrects the values on the fine grid and improves computational accuracy. The residuals transferred from the coarse grid are then calculated and corrected based on the values at the current level.

[0068] In some embodiments, adding a fault mark to a grid may be determined by:

[0069] Discretize the two mutually closed fault lines in the calculation area to obtain discrete points of the fault lines; and add fault marks to the grids where the discrete points of the fault lines are located;

[0070] According to the minimum row, maximum row, minimum column and maximum column of the first resolution grid where the fault line discrete points are located;

[0071] Fault marks are added to all grids in the area formed by the minimum row, the maximum row, the minimum column, and the maximum column.

[0072] As an example, by discretizing the fault line to obtain discrete points of the fault line, and then performing two rounds of marking, it is possible to efficiently determine which grids are in the fault area or intersect with the fault area.

[0073] For example, assuming a two-dimensional case, a single fault domain is a closed polygonal area formed by two lines (generally curves) connected end to end, which can be formally expressed as fault_polyline = {P1, P2}, where P1 = {(x1, y1), (x2, y2)...(xi, yi)} represents the first line segment in the fault polygon, and (xi, yi) is the corresponding coordinate value of the i-th fault point.

[0074] After the fault line segments in fault_polyline are discretized, they have a series of corresponding scattered points in the solution area. It is assumed that the fault tips fall on the grid lines in the area and do not fall inside the grid. At the same time, a fault line in the fault polygon will only have a maximum of two intersection points with a grid, located on different grid edges.

[0075] During the marking process for a fault line, the minimum and maximum row and column information within the marking area (min_flag_row (minimum row number, upper boundary), max_flag_row (maximum row number, lower boundary), min_flag_col (minimum column number, left boundary), and max_flag_col (maximum column number, right boundary)) are recorded. After the first round of marking is completed, the grids within this minimum and maximum row and column range are checked row by row to see if they have fault marks. For the remaining unmarked grids in the first and last marked grids in a row, the fault region flag "fault_flag" is added. Two line segments of the same fault polygon are assigned the same fault flag.

[0076] In some embodiments, the intersection of the second resolution grid and the third resolution grid includes an extended virtual point, wherein the extended virtual point is used to transfer the actual modeling value and the residual value.

[0077] For example, by setting extended virtual points, the residuals of the low-level grid and the actual modeling values can be passed to the high-level network, helping to ensure data continuity.

[0078] In some embodiments, the above method further comprises: adding grid mark information to the grid according to the first position information of the fault mark and the second position information of the control point;

[0079] Adding index mark information to the calculation points according to the grid mark information; wherein the index mark information can be used to indicate the construction of the corresponding difference matrix coefficients during the modeling numerical calculation;

[0080] Calculation points include any of the following:

[0081] Mesh vertices, extended virtual points.

[0082] In some implementations, adding grid marking information to the initial grid can also indicate which initial grids can be further subdivided. The number of subdivisions can be set based on actual conditions. For example, subdivision can be performed twice to generate a three-level network.

[0083] As an example, the index tag information can indicate which grid points are used for actual calculations, and the assignment of the calculation nodes during calculations can be determined based on the index, so that the differential matrix coefficients can be constructed better and more accurately to better calculate the modeling values. It should be understood here that when the calculation points corresponding to different index tag information are constructing the differential matrix, the coefficients in the differential matrix can be different, and how to construct the differential matrix based on the calculation point information can be limited according to the actual situation. This part of the content is not limited here, and it only needs to be reasonably selected according to the actual situation.

[0084] In some embodiments, the grid marking information may include first-type grid marking information and second-type grid marking information.

[0085] The first type of grid marking information includes a first indicator value and a control point grid mark, wherein the first indicator value is used to indicate the positional relationship between the grid and the control point grid; wherein the control point grid is used to indicate the grid including the control point;

[0086] The second type of grid marking information includes a second indication value and a fault grid mark. The second indication value is used to indicate the positional relationship between the grid and the fault grid. The fault grid is used to indicate the grid including the fault mark.

[0087] As an example, the grid marking information can determine the positional relationship between the grid and the control point grid and the fault grid, so that the index value of the grid vertex can be better determined.

[0088] In some embodiments, after adding index mark information to the calculation points according to the grid mark information, the method may further include:

[0089] According to the mesh mark information, add mesh mark information to the mesh vertices;

[0090] The index information of the neighboring points of the calculation point is determined according to the index information of the calculation point and the grid marking information of the neighboring points of the calculation point.

[0091] In some implementations, the present disclosure may apply a difference matrix in the process of determining modeling values.

[0092] In other words, in geological modeling, the partial differential equations that need to be solved are often complex and difficult to find exact solutions. Difference relations provide a way to transform these continuous equations into discrete algebraic equations that can be solved on a computer.

[0093] By establishing differential relationships at grid points, continuous properties of a geological body (such as permeability, porosity, elastic modulus, etc.) can be converted into discrete numerical models. This allows calculations to be performed at the grid points, resulting in a numerical solution for the entire geological body. By establishing differential relationships at grid points, large-scale continuous problems can be converted into smaller-scale discrete problems, thereby improving computational efficiency. By using adaptive grids and multigrid methods, the differential relationships can further optimize the computational process, reducing computational time and memory overhead.

[0094] With the adaptive grid strategy, only grid points marked as actual calculation points participate in the calculation. This means that at each level, only a portion of the grid points need to establish the difference matrix, greatly reducing the size of the matrix.

[0095] During the calculation process, after the calculation point is selected, the information of the neighboring points around the calculation point may be needed. Therefore, the neighboring point index information of the calculation point can be dynamically adjusted according to the grid information of the calculation point and the surrounding neighboring points to better perform differential calculations.

[0096] That is, in the present disclosure, adaptive index information will be set for the grid vertices according to the fault marks of the grid and the position of the control points, so that in the process of actual modeling numerical calculation, the data to be calculated can be obtained more efficiently and accurately, and the assignment of the data can be determined.

[0097] To better understand the principles of this disclosure, the following details each section of the disclosure. This disclosure can be divided into three parts: the first part is data preprocessing and organization, the second part is the adaptive geometric multigrid computing strategy, and the third part is the multigrid V-loop computing strategy. These three parts will be explained below.

[0098] The first part is data preprocessing and organization.

[0099] As mentioned above, in the two-dimensional case, a single fault domain is a closed polygonal area formed by two lines (generally curves) connected end to end, formally expressed as fault_polyline = {P1, P2}, where P1 = {(x1, y1), (x2, y2)...(xi, yi)} represents the first line segment in the fault polygon, and (xi, yi) is the corresponding coordinate value of the i-th fault point.

[0100] After discretization, the fault segments in the fault_polyline have a series of corresponding scattered points within the solution region. It is assumed that the tips of the faults only fall on the grid lines within the region and never within the grid itself. Furthermore, a fault line in the fault polygon will only intersect a grid at a maximum of two points, located on different grid edges. To ensure that extension point marking is valid, the fault_flag of the fault marker starts counting at 3. 1 and 2 will be used to mark the fault_flag of virtual extension points at the intersection of different levels.

[0101] Control point setting: Control points will not appear in the fault area, that is, control points in the fault area will not be interpolated.

[0102] Based on the above, the fault and control point data are preprocessed. During this process, the single-level grids generated using the control point and fault point information are marked with the corresponding fault line fault_flag. Fault grid marking is performed in two rounds. The first round marks the grids where the fault points are located. The second round, based on the results of the first round, further refines the fault marking of grids that fall within the fault area and do not contain the fault discrete points. Two segments of the same fault polygon are assigned the same fault flag.

[0103] During the marking process of a fault line, the minimum and maximum row and column information of min_flag_row (minimum row number, upper boundary), max_flag_row (maximum row number, lower boundary), min_flag_col (minimum column number, left boundary), and max_flag_col (maximum column number, right boundary) in the marking area are recorded; after the first round of marking is completed, within the range of this minimum and maximum row and column, the grids are checked row by row to see if there are fault marks. For the remaining unmarked grids in the first marked grid and the last marked grid in a row, the fault area grid mark fault_flag is added.

[0104] After two rounds of fault marking are completed, for each row of fault-marked grids in the fault area, the overlapping grid marks of the eight neighboring grids around the first marked grid min_flag_col and the last marked grid max_flag_col are screened. The screening process may include:

[0105] (1) If the current processing row index is min_flag_row, the expanded grid of the previous row will not be filtered because the area above the fault boundary is a continuous area. Only the current row and the next row will be filtered. If the grid has a fault mark, it will be skipped; if the grid does not have a fault mark and the grid column index col_index is less than the min_flag_col of the corresponding row, its expand_flag will be set to 0, representing the overlapping grid on the left side of the fault area; if the grid column index col_index is greater than the max_flag_col of the corresponding row, its expand_flag will be set to 1, representing the overlapping grid on the right side of the fault area.

[0106] (2) If the current processing row index is max_flag_row, since the area below the fault boundary is a continuous area, the extended grid screening of the next row is not performed. Only the current row and the previous row are screened, and the screening process is the same as (1).

[0107] (3) If the index of the current processing row is between (min_flag_row, max_flag_row), filter the row and the two rows above and below it. The filtering process is the same as (1).

[0108] It should be understood that the grid resolution varies between the coarse and fine layers of a multi-grid, resulting in the appearance of internal boundaries within the region. Direct data transfer may result in numerical jumps or errors due to the inability to ensure consistency of boundary values between two grids of different resolutions. In the present disclosure, valid overlapping regions can be identified; only grid regions that physically require collaborative calculations (such as fault transition zones and areas with dense control points) are retained. This can avoid redundant calculations and memory waste; for example, high-resolution overlapping grids are retained only in necessary areas (such as near faults and around control points).

[0109] After the grid preprocessing is completed, the grid point preprocessing can be performed. The grid points can be marked with fault_flag according to the fault_flag information in each grid. The flag of such grid points is marked as 3, which means that they are real calculation grid points.

[0110] After all grid points complete the previous step, the corresponding marking of the grid nodes of the overlapping grid is further completed. The marking of the overlapping nodes is completed only when there is no fault mark on the grid point.

[0111] For each level grid point, extended virtual points are added around the outermost circle of the area. The flags of the extended virtual points are marked as 1 and 2. 1 represents the outermost extended virtual point, which is distinguished from the inner points 2 and 3.

[0112] Each grid point with a flag or fault_flag is assigned an index, while a grid point with an expand_flag can also be assigned a ghost_index. Nodes without a fault_flag or expand_flag are not assigned a ghost_index. The number of fault_flags on a node determines the number of ghost_index assignments, meaning each fault_flag has a unique corresponding ghost_index.

[0113] That is, flag is used to indicate the mark of common grid points, and is used to identify the grid points that need to be calculated.

[0114] The fault_flag is used to indicate the flag of the fault grid point, which is used to identify the grid point located in the fault area. The grid points in the fault area may have multiple fault flags (fault_flag), indicating that they are related to multiple faults.

[0115] expand_flag is a flag used to indicate overlapping grid points. It is used to identify grid points located near the boundary of the fault area. These points need to be calculated twice independently to obtain accurate values under the influence of the fault.

[0116] The index is used to adapt all grid points that have flag or fault_flag.

[0117] The ghost_index index is used to adapt to grid points with fault_flag or expand_flag flags.

[0118] After the above preprocessing is completed, for each level, there will be a corresponding grid list, node list and related information, such as Figure 2 As shown, Figure 2 It can be understood as a structural diagram of data storage. At the same time, the grid list and node list can save the relevant tags and index information of each independent grid and grid node.

[0119] exist Figure 2 In the data structure, Mesh can be understood as the top layer of the entire data structure, representing a complete mesh system that can contain multiple sub-meshes (Mesh_1, Mesh_2, ...) with different resolutions.

[0120] Mesh_1 and Mesh_2 can be understood as specific mesh levels, each corresponding to a different resolution. For example, Mesh_1 may represent a finer mesh level, while Mesh_2 may represent a coarser mesh level.

[0121] Mesh_1 can contain the following information:

[0122] depth: may indicate the depth or level information of the mesh.

[0123] total_grid: The total number of grids or some kind of statistics.

[0124] grid_list: grid node list, which may contain geometric coordinate indices pointing to each grid node unit.

[0125] cell_list: A list of grid cells, listing all grid cells at this level.

[0126] diff_matrix: difference matrix, used for numerical calculations such as finite difference method.

[0127] right_vector: This may be the right-hand side vector used to solve the equation.

[0128] coarse: A link to a coarser grid level, used for information transfer in multigrid methods.

[0129] finer: A link to a finer grid level, also used for information transfer in multigrid methods.

[0130] Adaptive_grid (Adaptive grid node)

[0131] Adaptive mesh is a component of Mesh_1, which contains the specific information and data structure of adaptive mesh.

[0132] grid_1 contains the following information:

[0133] flag: The flag or status of the grid point, used to identify the type or attribute of the grid point.

[0134] index: The index of the grid point, used to uniquely identify the grid point.

[0135] ghost_index: The index of a virtual grid point, used to handle boundary conditions or overlapping grids.

[0136] fault_flag: Fault flag, used to identify grid points located on the fault.

[0137] expand_flag: expansion flag, which may be used to identify overlapping grid nodes that need to be calculated twice.

[0138] restrict_neighbor: Restrict neighbors, possibly used for restriction operations in multigrid methods.

[0139] Adaptive_cell (adaptive grid cell)

[0140] The adaptive grid cell is the basic unit of the adaptive grid, and each cell contains specific calculation information.

[0141] cell_1 and cell_2 contain the following information:

[0142] flag: The flag or status of the grid cell.

[0143] fault_mark: Fault mark, used to identify whether the unit contains a fault.

[0144] expand_flag: expansion flag, which may be used to identify overlapping grid nodes that need to be calculated twice.

[0145] The second part, the adaptive geometric multigrid computing strategy, can include: processing the relationship between hierarchical regions, processing fault boundaries, and establishing a difference matrix. Specifically:

[0146] The process of handling the relationship between hierarchical regions may include the following:

[0147] At the junction of different levels of grid areas, some nodes with the same geometric position are involved. If only the residual of the fine grid level is transferred, during the stage of residual extension and back-interpolation, only the node values covered by the fine grid area can be corrected, and the values of the remaining coarse grid nodes cannot be updated and corrected.

[0148] Therefore, unlike the traditional multi-grid algorithm, the algorithm disclosed in this paper needs to transfer the residuals and values of the fine grid to the coarse grid area, so that the coarse grid can use the value information received from the geometrically identical grid points to calculate the values of the remaining coarse grid nodes at that level. Using this method to transfer the information layer by layer, the final residual update and insertion can achieve full coverage of the nodes in the calculation area, ensuring the accuracy of the calculation results of this method. The following takes the establishment of extended nodes from the finest layer grid to the next layer coarse grid as an example. The specific schematic diagram is shown in Figure 3 As shown, Figure 3 It can be understood as a schematic diagram of the distribution of extended nodes in the hierarchical boundary area, such as Figure 3 As shown, a circle of extended grid nodes can be set around the periphery of the fine grid.

[0149] Therefore, the process of processing the relationship between hierarchical regions can be divided into: the process of realizing adaptive grids, the process of establishing extended nodes between hierarchical regions, and the process of establishing restricted relationships between fine grids between hierarchical regions.

[0150] For the adaptive grid implementation process:

[0151] A series of uniform grids with different resolutions are formed across the entire solution domain. Starting from the coarsest layer, grid cells with control points and fault points are marked. To ensure the continuity of the adaptive grid level difference, a different type of marking is applied to the 3x3 grid area centered on the control point cell or fault point cell. A third type of marking is applied to the first circle outside the 3x3 grid area.

[0152] As shown in the table below: The specific grid marking logic is as follows:

[0153]

[0154] For the bottom grid, it is not necessary to set flag or fault_flag to 1.

[0155] For each layer of marked meshes, the following further subdivision criteria are used: meshes with 2 or 3 marks in the current layer are split to form 6*6 fine meshes. These split meshes are the fine meshes of the next layer. Following this step, each layer of meshes is marked in turn, and the results of each layer are saved in the cell_list of the corresponding Mesh.

[0156] The process of establishing an extension node between hierarchical regions can be as follows:

[0157] Taking a 6*6 fine grid area obtained by splitting a 3*3 marked grid area in the coarse grid as an example, at the fine grid level, one grid point is extended in each of the four directions outside the 6*6 grid. The grid point of the extended grid must be located at the boundary of the level area, that is, its flag is marked as 1 to distinguish it from the points inside the area, and an index is given to the extended point.

[0158] Adding extension points ensures that the nodes of the grid cells containing control points in the next layer can receive the transferred residuals and transferred values from the fine grid layer when performing related calculations, thereby improving the transfer reliability of calculations between layers.

[0159] For ease of understanding, you can combine Figure 4 A schematic diagram illustrating the implementation of an adaptive grid, that is, a schematic diagram illustrating splitting the grids marked 2 and 3, thereby making the resolution of the local grid higher.

[0160] The marking logic of specific grid points is as follows:

[0161] (1) If the grid has a flag, the four grid points contained in the grid are given the same flag, and the larger flag covers the smaller flag.

[0162] (2) If the grid has a fault_flag (less than 3) flag, the four grid points contained in the grid are all given the same fault_flag flag, and the larger fault_flag flag covers the smaller fault_flag flag.

[0163] The process of establishing restriction relationships for fine grids between hierarchical regions can be as follows:

[0164] Since the restriction operation is calculated using the nine-point weighted method, the information of the eight neighboring points around the grid point where the restriction operation is performed needs to be recorded to ensure the accuracy of the restriction operation calculation and improve the corresponding calculation rate.

[0165] In the fine grid level, points marked with flag 3 are points for which the fine grid will perform restricted calculations. Such points have an additional restrict_neighbor array (neighbor array). The storage order of the array is upper left, upper, upper right, left, right, lower left, lower, and lower right. During the traversal process, the index of the corresponding neighbor point is placed in the restrict_neighbor array in sequence.

[0166] If there is a fault boundary in the area, it is necessary to further select the index type of the neighboring points based on whether the index currently used in the coarsening point calculation is index index or ghost_index index.

[0167] The specific comparison logic is as follows:

[0168] (1) If the fault_flag of the coarsening point is greater than or equal to 3, and index is used as the calculation index, it means that the left side extension calculation of the fault is performed. If its neighboring point does not have expand_flag, the index index of the neighboring point is used; if the expand_flag of the neighboring point is 1, the ghost_index corresponding to the expand_flag of the neighboring point is used.

[0169] (2) If the fault_flag of the coarsening point is greater than or equal to 3, and ghost_index is used as the calculation index, it means that the fault is extended to the right side. If its neighboring point does not have expand_flag, the ghost_index of the neighboring point is used; if the expand_flag of the neighboring point is 0, the ghost_index corresponding to the expand_flag of the neighboring point is used; if the neighboring point is 1, the index of the neighboring point is used.

[0170] (3) If the coarsening point does not have fault_flag, and if the neighboring point does not have fault_flag, the index of the neighboring point is used; if the neighboring point has fault_flag and expand_flag, the index of the neighboring point is also used; if the neighboring point has fault_flag but not expand_flag, and the neighboring point is located inside the fault, the value of the neighboring point is replaced by the value of a point around it.

[0171] Furthermore, the fault boundary processing process can be divided into two parts: the grid division principle relative to the inside and outside of the fault area and the grid point index assignment processing.

[0172] The core of fault boundary modeling lies in accurately determining the fault region and the orientation of nodes outside the fault relative to the fault. This process relies on the overlay grid processing and determination after preprocessing, and then supplementing the corresponding grid node information based on the overlay grid information. Then, using this node's orientation information about the fault, different strategies are used to establish the coefficients of the difference matrix, thereby ensuring that the fault boundary utilizes the control points efficiently and improving the accuracy of modeling at the fault boundary.

[0173] The grid can be divided relative to the inside and outside of the fault area, and the specific process of the algorithm for determining whether the grid is located inside or outside the fault area can be as follows:

[0174] (1) The grid positions of all fault points are determined in turn, and the grids are marked with corresponding faults. The maximum and minimum values of the row and column numbers of the marked grid index of each fault area are saved.

[0175] (2) Within the grid marking range of each fault region, search for the minimum and maximum column indexes of the marked grids in the region row by row. If the difference between the two column indexes is not greater than 1, it means that there is no grid inside the fault region in the grid row. Otherwise, the grids with column indexes between the minimum and maximum column indexes will be additionally marked as grids in the fault region.

[0176] (3) Based on the complete fault grid information above, complete the marking of each row of the extended overlapping grid. And according to the column index of the grid to be marked, compare it with the minimum and maximum column indexes of the corresponding row index, so as to determine the direction and position of the extended overlapping grid relative to the fault area.

[0177] The grid point index assignment process can be:

[0178] For different types of grid points, the index assignment is different, as follows:

[0179] (1) For fault-marked nodes, i.e. nodes with fault_flag greater than or equal to 3, such nodes have an index index. The number of fault_flag marks is checked and the corresponding unique ghost_index index is assigned.

[0180] (2) For expanded overlapping grid nodes, that is, nodes whose expand_flag is not None, in addition to the index index assignment, there is a ghost_index index.

[0181] The process of establishing the differential matrix can be divided into: the process of assigning differential coefficients and the process of interpolating control points.

[0182] Since there may be multiple point indices at the same geometric position in the current grid, when establishing the difference matrix, it is necessary to find the corresponding neighboring point indexes for different information states of the difference center point.

[0183] The assignment process for the differential coefficient can be:

[0184] According to different differential center point information, there are the following classification situations:

[0185] (1) The differential center point belongs to the fault area point, and the fault_flag is greater than or equal to 3. This type of differential center point uses different ghost_index indexes of the differential center according to the number of its fault_flag tags, and selects different neighboring point information. The specific neighboring point selection is as follows:

[0186] ① If the neighboring point is also a fault marker point, the index of the corresponding marker of the neighboring point is selected according to the index marker used by the differential center.

[0187] ② If the neighboring point is not a fault marker point, fault_flag is None, and the index of the neighboring point is used.

[0188] ③ If the neighboring point is an extended overlapping grid marker point, if the differential center fault_flag uses index index, the neighboring point expand_flag is marked as 0, and the neighboring point also uses index; if the neighboring point is marked as 1, the neighboring point uses ghost_index. If the differential center fault_flag uses ghost_index index, the neighboring point expand_flag is marked as 1, and the neighboring point also uses index; if the neighboring point is marked as 0, the neighboring point uses ghost_index.

[0189] (2) The differential center does not belong to the fault mark node and has no fault mark. This type of differential center point uses index indexing, and its neighboring points all use index indexing.

[0190] (3) The difference center does not belong to the fault marker node, but there is an extended overlapping grid marker. The neighboring points select different indexes based on their own information. The specific situation is as follows:

[0191] ① If the neighboring point is an overlapping grid marker point, the neighboring point uses ghost_index.

[0192] ② If the neighboring point has no fault mark or overlapping grid mark, no differential is established for that neighboring point.

[0193] ③ If the neighboring point is a fault marker point, if the expand_flag of the differential center point is 0, the neighboring point uses ghost_index; if the expand_flag of the differential center point is 1, the neighboring point uses index.

[0194] The processing process for control point interpolation can be:

[0195] Due to the existence of fault boundaries, some control points may fall within the grid with fault markers. After preprocessing, it is assumed that there will be no control points within the fault area, so only the control points outside the fault area need to be considered. Figure 6 As shown, the control point may fall into a grid cell with a fault mark. When performing control point interpolation, the grid cell where the control point is located is judged to see if there is a fault mark. If there is a grid mark for the grid cell, the direction of the control point and the fault is determined and calculated. Based on the direction of the control point in the fault area, the four nodes of the grid cell are checked for the fault mark in turn. If the control point is on the left side of the fault and the interpolation node has a mark about the fault, the index of the interpolation node is used; if the control point is on the right side of the fault and the interpolation node has a mark about the fault, the ghost_index of the interpolation node is used. At the same time, because the control point interpolation needs to insert different coefficients according to the position of the node, a count_number mark is used, and the initial value is set to 0. Each time a node interpolation is completed, count_number is incremented by 1. After the interpolation of the current grid cell is completed, count_number is cleared. During the interpolation process, different coefficient values will be inserted into the interpolation matrix according to the different count values of count_number.

[0196] The third part, the multi-grid V-loop calculation strategy can include: residual transfer and value transfer strategy in the V-loop and residual correction value interpolation strategy in the V-loop.

[0197] The residual transfer and value transfer strategies in the V loop can be:

[0198] Due to the multi-level setting of the adaptive grid, each level has the node difference matrix of the current level and the right-side source terms. Similar to the traditional V-loop strategy, the multi-grid of this method still starts calculation from the finest grid, restricts the processing layer by layer, and calculates to the bottom grid; then extends the processing layer by layer from the bottom grid to insert and correct the upper level grid. The difference is that this method only involves part of the calculation area at each layer, which is a local calculation and cannot be transferred completely according to the global calculation idea. Therefore, a strategy of value transfer and residual transfer is adopted so that each level can not only correct the residual of the fine layer calculation value, but also calculate the values of the nodes in the remaining areas of the current layer. Taking the three-layer adaptive grid as an example, the specific V-loop restriction transfer processing flow from fine grid to coarse grid is as follows Figure 7-8 As shown, Figure 7 It can be understood as a flow chart of the restriction process from fine grid to coarse grid during the V cycle. Figure 8 It can be understood as a schematic diagram of the restriction process from fine grid to coarse grid during the V cycle.

[0199] During the V cycle, Figure 8 A schematic diagram showing the multigrid method in three-dimensional space. Figure 8 It contains grid levels with different resolutions, each level represents a different depth.

[0200] Green points: Indicates the mesh points where no restricted coarsening calculation is performed.

[0201] White hollow dots: represent virtual grid points (ghost points), which are used to handle boundary conditions or discontinuities (such as faults).

[0202] Purple points: Indicates the calculation points on the grid that need to be restricted and coarsened, which are used to transfer the relevant calculation information of the fine grid to the coarse grid.

[0203] Orange points: represent coarse grid calculation points that receive limit coarsening transfer values from the fine grid.

[0204] And combined Figure 7 The flowchart shows that starting from the finest grid, information is gradually transmitted to the coarse grid, and then fed back from the coarse grid to the fine grid.

[0205] Finest grid (depth=3): calculate the initial value x_4; calculate the residual residual_4.

[0206] The residual residual_4 is restricted to obtain residual_[4][3], and the calculated value of the fourth layer grid can be restricted to obtain the value x_3.

[0207] The third grid layer (depth=2):

[0208] Use x_3 to update the third-layer grid node value, and restrict the calculated value to obtain x_2;

[0209] Calculate residual_3, restrict residual_3, and convert it to residual_[3][2];

[0210] At this layer, residual_[4][3] is also used as the source term, and the residual of the previous layer of grid can be calculated to obtain the residual correction value res_[4][3]. After that, residual_[4][3] is calculated as the residual of the source term, and the residual term of the third layer is restricted and converted to obtain residual_[4][2].

[0211] Second layer grid (depth=1):

[0212] Use x_2 to update the second-layer grid node value, and restrict the updated calculated value x_2 to obtain x_1;

[0213] Calculate the residual residual_2, restrict the residual residual_, and convert it to residual_[2][1];

[0214] At this layer, residual_[3][2] is also used as the source term, and the residual of the previous layer of grid can be calculated to obtain the residual correction value res_[3][2]. After that, residual_[3][2] is calculated as the residual of the source term, and the residual term of the second layer is restricted and converted to obtain residual_[3][1].

[0215] In this layer, residual_[4][2] is also used as the source term to calculate the residual of the previous layer of grid to obtain the residual correction value res_[4][2]. Residual_[4][2] can be used as the residual of the source term to restrict the residual term of the second layer and convert it into residual_[4][1].

[0216] The bottom grid (depth=0):

[0217] Use x_1 to calculate and update the node values of the bottom grid to obtain x_1.

[0218] Using residual_[2][1] as the source term, the residual of the previous grid layer can be calculated to obtain the residual correction value res_[2][1].

[0219] At this layer, residual_[3][1] is also used as the source term to calculate the residual of the previous layer grid to obtain the residual correction value res_[2][1].

[0220] In this layer, residual_[4][1] is also used as the source term to calculate the residual of the previous layer grid to obtain the residual correction value res_[4][1].

[0221] It can be seen that starting from the bottom grid, the correction value is gradually fed back to the upper grid; at each level, the residual is used as the source term to calculate the correction value and pass it to the previous layer.

[0222] The strategy for inserting the residual correction value in the V cycle can be:

[0223] During the restriction process, each level of grid (except the finest level grid) has a separate residual correction calculation value for each high-level grid. For example, in the bottom grid, there are also correction calculation values for the residuals of the first and second levels of grids. Therefore, in the process of extension and interpolation, the residual correction values of the corresponding processing levels need to be added back to the results of the residual correction values of the corresponding levels, and then smooth relaxation is performed, and then the residual values of the high-level grids are corrected in turn according to this strategy. The specific V cycle extension and interpolation processing flow from coarse grid to fine grid is as follows: Figure 9-10 As shown, Figure 9 It can be understood as a flow chart of the extended processing from coarse grid to fine grid during the V cycle. Figure 10 It can be understood as a schematic diagram of the extended processing from coarse grid to fine grid during the V cycle.

[0224] During the V cycle, Figure 9 Shows the schematic diagram of the extension process from coarse grid to fine grid, and Figure 7 The restriction processing diagram is just the opposite. Figure 9 In the figure, the points of each color are Figure 7 For the sake of brevity, this has been described elsewhere and will not be repeated here.

[0225] And combined Figure 9 The flow chart shows that

[0226] The bottom grid (depth=0):

[0227] Perform relaxation calculation on the received residual items of each layer.

[0228] Layer-by-layer online delivery:

[0229] Using the residual values residual[2][1], residual[3][1], residual[4][1] as source items, calculate the residual of the previous grid layer to obtain the residual correction values res[2][1], res[3][1], res[4][1].

[0230] After prolongation, interpolation, and superposition, the node values x_1, x_2, x_3, and x_4 of each layer are updated until the finest grid layer (depth = 3) is reached.

[0231] That is, Figure 7-10 The demonstration shows the complete process of a V-loop. Information starts from the finest grid layer, is passed layer by layer to the coarsest grid layer through restriction operations, is calculated on the coarsest layer, and then returns to the finest layer layer by layer through extension operations, ultimately achieving iterative solution of the entire computational domain.

[0232] Further integration Figure 11-12 To assist understanding, Figure 11 It can be understood as the result of geological surface modeling under fault constraints. By visualizing the two-dimensional geological model, the spatial distribution of strata, faults or other geological features can be more clearly determined. Figure 12 It can be understood as the contour result under fault constraint (reverse fault). Figure 12 As you can see, a contour map on a two-dimensional plane is displayed. These lines connect points with the same elevation or attribute value. The continuous lines in the map can represent points with the same value, which can be altitude, pressure, temperature or other geological attributes; the dotted ellipse in the center may identify a specific area or fault, which is often used in geological analysis to emphasize specific features or anomalies.

[0233] See also Figure 12 Based on the same inventive concept, the present embodiment provides a geological modeling device 1200 based on adaptive geometric multi-grid, comprising:

[0234] A first division unit 1201 is configured to divide the calculation area indicated by the geological source data into grids at a first resolution according to a division method indicated by the geological modeling parameters, thereby obtaining a first resolution grid set.

[0235] A second division unit 1202 is configured to divide the target grid in the first resolution grid set based on at least the first position information of the fault marker and the second position information of the control point in the calculation area to obtain grids of multiple different resolutions; wherein the target grid includes the fault marker or the control point; and the control point and the fault marker are determined by the geological source data.

[0236] The construction unit 1203 is used to perform modeling based on the numerical calculation results of the modeling of the grid.

[0237] In some embodiments, one resolution corresponds to one modeling numerical calculation unit; and

[0238] If the different resolutions include a second resolution and a third resolution, the third resolution is a resolution one level higher than the second resolution;

[0239] The modeling value calculation unit corresponding to the second resolution is used to calculate the actual modeling value and the residual value; and transmit the calculated actual modeling value and the residual value to the modeling value calculation unit corresponding to the third resolution;

[0240] The modeling numerical calculation unit corresponding to the third resolution is used to correct the residual value and return the residual correction value to the modeling numerical calculation unit corresponding to the second resolution.

[0241] In some embodiments, the geological modeling apparatus 1200 is further configured to determine the addition of fault markers to the grid by:

[0242] Discretize the two mutually closed fault lines in the calculation area to obtain discrete points of the fault lines; and add fault marks to the grids where the discrete points of the fault lines are located;

[0243] According to the minimum row, maximum row, minimum column and maximum column of the first resolution grid where the fault line discrete points are located;

[0244] Fault marks are added to all grids in the area formed by the minimum row, the maximum row, the minimum column, and the maximum column.

[0245] In some embodiments, the intersection of the second resolution grid and the third resolution grid includes an extended virtual point, wherein the extended virtual point is used to transmit the actual modeling value and the residual value.

[0246] In some embodiments, the geological modeling apparatus 1200 is further configured to add grid marking information to the grid according to the first position information of the fault mark and the second position information of the control point.

[0247] Adding index mark information to the calculation points according to the grid mark information; wherein the index mark information is used to indicate the construction of the corresponding difference matrix coefficients during the modeling numerical calculation;

[0248] Calculation points include any of the following:

[0249] Mesh vertices, extended virtual points.

[0250] In some embodiments, the grid marking information includes first-type grid marking information and second-type grid marking information.

[0251] The first type of grid marking information includes a first indicator value and a control point grid mark, wherein the first indicator value is used to indicate the positional relationship between the grid and the control point grid; wherein the control point grid is used to indicate the grid including the control point;

[0252] The second type of grid marking information includes a second indication value and a fault grid mark. The second indication value is used to indicate the positional relationship between the grid and the fault grid. The fault grid is used to indicate the grid including the fault mark.

[0253] In some embodiments, the geological modeling apparatus 1200 is further configured to:

[0254] According to the mesh mark information, add mesh mark information to the mesh vertices;

[0255] The index information of the neighboring points of the calculation point is determined according to the index information of the calculation point and the grid marking information of the neighboring points of the calculation point.

[0256] See also Figure 13 Based on the same concept, an embodiment of the present application further provides an electronic device 1300 that applies the aforementioned adaptive geometric multigrid-based geological modeling method. The electronic device includes: a memory 1302, a processor 1301, and a computer program 1303 stored in the memory and executable on the processor.

[0257] The electronic device 1300 may be a personal computer, a notebook computer, or the like.

[0258] Those skilled in the art will understand that Figure 13 The electronic device 1300 is merely an example and does not limit the electronic device 1300 . The electronic device 1300 may include more or fewer components than shown in the figure, or may combine certain components, or may include different components.

[0259] The processor 1301 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor may be a microprocessor or any conventional processor.

[0260] In some embodiments, the memory 1302 may be an internal storage unit of the electronic device 1300, such as a hard disk or memory of the electronic device 1300. In other embodiments, the memory 1302 may be an external storage device of the electronic device 1300, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the electronic device 1300. Furthermore, the memory 1302 may include both an internal storage unit of the electronic device 1300 and an external storage device.

[0261] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of this application. Their specific functions and technical effects can be found in the method embodiment section and will not be repeated here.

[0262] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the above-mentioned device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0263] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0264] An embodiment of the present application provides a computer program product. When the computer program product is run on a mobile terminal, the mobile terminal can implement the steps in the above-mentioned various method embodiments when executing the computer program product.

[0265] If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method by instructing the relevant hardware through a computer program. The above-mentioned computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor, it can implement the steps of the above-mentioned various method embodiments. Among them, the above-mentioned computer program includes computer program code, and the above-mentioned computer program code can be in source code form, object code form, executable file or some intermediate form. The above-mentioned computer-readable medium may at least include: any entity or device that can carry the computer program code to the camera / electronic device, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. For example, USB flash drive, mobile hard disk, magnetic disk or optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0266] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0267] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel 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.

[0268] In the embodiments provided in this application, it should be understood that the disclosed devices / network equipment and methods can be implemented in other ways. For example, the device / network equipment embodiments described above are merely illustrative. For example, the division of the above modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0269] The units described above as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0270] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the scope of protection of the present application.

Claims

1. A geological modeling method based on adaptive geometric multigrid, characterized in that: include: Dividing the calculation area indicated by the geological source data into grids at a first resolution according to a division method indicated by the geological modeling parameters to obtain a first resolution grid set; Based at least on first position information of a fault mark in the calculation area and second position information of a control point, dividing a target grid in the first resolution grid set to obtain a plurality of grids of different resolutions; wherein the target grid includes the fault mark or the control point; and the control point and the fault mark are determined by the geological source data; Modeling is performed based on the numerical calculation results of the grid modeling.

2. The method according to claim 1, characterized in that One resolution corresponds to one modeling numerical calculation unit; and, If the different resolutions include a second resolution and a third resolution, the third resolution is a resolution one level higher than the second resolution; The modeling value calculation unit corresponding to the second resolution is used to calculate the actual modeling value and the residual value; and transmitting the calculated actual modeling value and the residual value to the modeling value calculation unit corresponding to the third resolution; The modeling numerical calculation unit corresponding to the third resolution is used to correct the residual value and return the residual correction value to the modeling numerical calculation unit corresponding to the second resolution.

3. The method according to claim 1, characterized in that Add fault markers to the grid as follows: Discretizing two mutually closed fault lines in the calculation region to obtain fault line discrete points; and adding fault marks to the grids where the fault line discrete points are located; According to the minimum row, maximum row, minimum column and maximum column of the first resolution grid where the fault line discrete points are located; Fault marks are added to all grids in the area formed by the minimum row, the maximum row, the minimum column, and the maximum column.

4. The method according to claim 2, characterized in that The intersection of the second resolution grid and the third resolution grid includes an extended virtual point, wherein the extended virtual point is used to transfer the actual modeling value and the residual value.

5. The method according to claim 4, characterized in that The method further comprises: Adding grid mark information to the grid according to first position information of the fault mark and second position information of the control point; Adding index mark information to the calculation points according to the grid mark information; wherein the index mark information is used to indicate the construction of the corresponding difference matrix coefficients during the modeling numerical calculation; The calculation point includes any of the following: Mesh vertices, extended virtual points.

6. The method according to claim 5, characterized in that The grid marking information includes the first type of grid marking information and the second type of grid marking information. The first type of grid marking information includes a first indication value and a control point grid mark, wherein the first indication value is used to indicate the positional relationship between the grid and the control point grid; wherein the control point grid is used to indicate the grid including the control point; The second type of grid marking information includes a second indication value and a fault grid mark, wherein the second indication value is used to indicate the positional relationship between the grid and the fault grid, wherein the fault grid is used to indicate the grid including the fault mark.

7. The method according to claim 5, characterized in that After adding index mark information to the calculation points according to the grid mark information, the method further includes: According to the mesh mark information, add mesh mark information to the mesh vertices; The index information of the neighboring points of the calculation point is determined according to the index information of the calculation point and the grid marking information of the neighboring points of the calculation point.

8. A geological modeling device based on adaptive geometric multigrid, characterized in that: include: A first division unit is configured to divide the calculation area indicated by the geological source data into grids at a first resolution according to a division method indicated by the geological modeling parameters, thereby obtaining a first resolution grid set; a second partitioning unit configured to partition a target grid in the first resolution grid set based at least on first position information of a fault mark in the calculation area and second position information of a control point, to obtain grids of multiple different resolutions; wherein the target grid includes the fault mark or the control point; and the control point and the fault mark are determined by the geological source data; Building blocks for modeling based on grid-based numerical calculation results.

9. An electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 7.

10. A computer-readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Giga-cell linear solver method and apparatus for massive parallel reservoir simulation

    CN104136942A

  • Three-dimensional magnetotelluric forward value simulation method

    CN113553748A

  • Geological fault network processing method based on regular grid and electronic equipment

    CN116543103A

  • Mine water-endowment property dynamic monitoring method based on four-dimensional high-density resistivity method

    CN117111161A

  • Three-dimensional geological modeling method and system under constraint of multi-fault network

    CN118570407A

Cited By

  • Method and device for supporting multi-radar high-resolution networking, and storage medium

    CN121397046A