Geological modeling method based on adaptive geometry multi-grid and related device
By using an adaptive geometric multigrid method, which dynamically divides the grid and utilizes constraint and extension operators, the problems of low accuracy and resource waste near fault layers in traditional geological modeling are solved, achieving more efficient and accurate geological modeling.
Patent Information
- Application Number
- CN202510553966.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-29
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2045-04-29
AI Technical Summary
In traditional geological modeling, the calculation accuracy of strata near faults is low and the computation time and space costs are high. The uniform grid processing method leads to resource waste and makes it difficult to perform geological modeling efficiently and accurately.
An adaptive geometric multigrid method is adopted, which dynamically divides the grid according to geological modeling parameters. High-resolution grids are used in fault and control point areas, while low-resolution grids are used in other areas. The calculation process is optimized by restricting and extending operators to achieve cross-level transfer of residuals and correction values.
It improves the modeling accuracy of strata near faults, reduces computation time and space overhead, and achieves more efficient and accurate geological modeling.
Smart Images

Figure CN120495444B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of two-dimensional modeling, and particularly relates to a geological modeling method based on adaptive geometric multi-grid and related device. BACKGROUND
[0002] With the continuous progress of computer technology and the popularity of high-performance computing resources, computer-based geological modeling plays an increasingly important role in resource exploration, environmental protection, disaster prediction and other fields. Geological modeling is a process of describing, interpreting and predicting geological entities, and is an important part of geology, resource exploration and environmental science. The main task of geological modeling is to construct subsurface structure and attribute models based on geological data (such as drilling data, geophysical data, geological images, etc.) to help understand geological processes, guide resource exploration and management, and assess geological disaster risks.
[0003] Faults are common stratum structures in geological exploration. In two-dimensional cases, a single fault exists in the form of a polygon. In data storage, it is represented as two line segments that are connected at their ends and form a closed region.
[0004] In three-dimensional cases, it is represented as a fault surface. Since a fault divides a continuous stratum into two discontinuous and relatively independent regions, it makes related calculations complex.
[0005] For fault regions, in the traditional modeling process, the solution region is discretized, and after uniform gridding, for non-fault grid points, a large-scale sparse difference matrix of all grid points is constructed using the finite difference method. For grid points with faults, they are treated as external regions and are no longer calculated and solved. This processing method simplifies the calculation logic at the fault, but at the same time, it reduces the accuracy of the stratum calculation data near the fault, and the utilization rate of the control points near the fault region is low.
[0006] At the same time, in general, the calculation time and memory overhead of uniform grids are usually large, therefore, developing an algorithm that can improve the modeling accuracy of strata near the fault and reduce the calculation time and space overhead is of great significance to improve the efficiency and accuracy of stratum modeling. SUMMARY
[0007] This part of the disclosure is provided to briefly introduce the concepts, which will be described in detail in the specific embodiments section. This part of the disclosure is not intended to identify key or essential features of the claimed technical solutions, nor is it intended to limit the scope of the claimed technical solutions.
[0008] In a first aspect, the embodiments of the present disclosure provide a geological modeling method based on adaptive geometric multi-grid, which comprises the following steps:
[0009] According to the division mode indicated by the geological modeling parameter, the calculation region indicated by the geological source data is divided into a first resolution grid set.
[0010] At least based on the first position information of the fault marker in the calculation region and the second position information of the control point, the target grid in the first resolution grid set is divided to obtain a plurality of grids with different resolutions; wherein the target grid includes the fault marker or the control point; the control point and the fault marker are determined by the geological source data.
[0011] Modeling based on the numerical calculation result of the grid modeling.
[0012] In a second aspect, the embodiments of the present disclosure provide a geological modeling device based on adaptive geometric multi-grid, which comprises:
[0013] A first division unit is configured to divide the calculation region indicated by the geological source data into a first resolution grid set according to the division mode indicated by the geological modeling parameter.
[0014] A second division unit 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 in the calculation region and the second position information of the control point to obtain a plurality of grids with different resolutions; wherein the target grid includes the fault marker or the control point; the control point and the fault marker are determined by the geological source data.
[0015] A construction unit is configured to model based on the numerical calculation result of the grid modeling.
[0016] In a third aspect, the embodiments of the present disclosure provide an electronic device, which comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, and characterized in that the processor executes the computer program to implement the method for exploring the hot dry rock target area based on the aeromagnetic data according to any one of the above first invention.
[0017] In a second aspect, the embodiments of the present disclosure provide an electronic device, which comprises one or more processors, and a storage device configured to store 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 the above first aspect.
[0018] The adaptive geometric multi-grid based geological modeling method and related device provided by the embodiment can perform grid division on a calculation region indicated by geological source data according to a division mode indicated by a geological modeling parameter, to obtain a first resolution grid set, and then can divide a target grid in the first resolution grid set based on first position information of a fault marker in the calculation region and second position information of a control point, to obtain grids of multiple different resolutions; so that the resolutions of grids in a fault region and a region where the control point is located can be ensured to be high, while the first resolution can be used for other regions, so that dynamic division of multiple levels of grids is achieved, which is helpful for more efficient and accurate modeling.
[0019] In comparison, a traditional uniform grid uses a fixed grid spacing in the entire calculation region, which obviously wastes a large amount of computing resources and storage resources, while the disclosure saves the computing resources and storage resources required in the geological modeling process by dynamically allocating different resolution grids, and is helpful for more efficient geological modeling. BRIEF DESCRIPTION OF DRAWINGS
[0020] The above and other features, advantages, and aspects of the embodiments of the disclosure will become more apparent by referring to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals refer to the same or similar elements. It should be understood that the drawings are schematic, and the original and elements are not necessarily drawn according to the scale.
[0021] Figure 1 is a flowchart of one embodiment of the adaptive geometric multi-grid based geological modeling method according to the disclosure;
[0022] Figure 2 is a structural diagram of data organization of a hierarchical grid, a grid list, and a node list;
[0023] Figure 3 is a diagram of distribution of extended nodes in a hierarchical boundary region;
[0024] Figure 4 is an adaptive grid implementation diagram;
[0025] Figure 5 is a diagram of a case where a control point is located in a fault marker grid;
[0026] Figure 6 is a flowchart of restriction processing of fine grids to coarse grids in a V cycle process;
[0027] Figure 7 is a diagram of restriction processing of fine grids to coarse grids in a V cycle process
[0028] Figure 8is a prolongation processing flowchart of a coarse grid to a fine grid in a V-cycle process;
[0029] Figure 9 is a prolongation processing schematic diagram of a coarse grid to a fine grid in a V-cycle process;
[0030] Figure 10 is a geological surface modeling result under fault constraint
[0031] Figure 11 is a contour result under fault constraint;
[0032] Figure 12 is a schematic diagram of a basic structure of an electronic device provided according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0033] Embodiments of the present disclosure will be described in more detail with reference to the drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms, and should not be interpreted as being limited to the embodiments set forth herein, but rather, these embodiments are provided so that the present disclosure can be more thoroughly and completely understood. It should be understood that the drawings and embodiments of the present disclosure are for exemplary purposes only, and are not intended to limit the scope of protection of the present disclosure.
[0034] It should be understood that each step described in the method embodiments of the present disclosure can be performed in different orders and / or in parallel. In addition, the method embodiments can include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0035] The term "comprising" and variations thereof as used in the present disclosure are open-ended, that is, "including but not limited to". The term "based on" is "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"; the term "some embodiments" means "at least some embodiments". Related definitions of other terms will be given in the description below.
[0036] It should be noted that the concepts of "first", "second", etc. mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not intended to limit the order or interdependence of the functions performed by these devices, modules or units.
[0037] It should be noted that the modification of "one", "multiple" mentioned in the present disclosure is illustrative and not limiting, and those skilled in the art should understand that, unless otherwise explicitly indicated in the context, it should be understood as "one or more".
[0038] Names of messages or information exchanged between multiple devices in the embodiments of the present disclosure are only for illustrative purposes, and are not intended to limit the scope of the messages or information.
[0039] As can be known from the description of the background, the described manner of the related art either has a low utilization rate of control points or needs more calculation time and occupies too much memory space. The geological modeling method based on adaptive geometric multi-grid provided by the present disclosure can improve the modeling accuracy of strata near faults and reduce the calculation time and space overhead.
[0040] In the present disclosure, by using the adaptive grid strategy, the grid density can be dynamically adjusted, high-resolution grids are used only in complex areas such as faults and control points, and low-resolution grids are used in flat areas. For example, 1024x1024 grids can be used in the fault area, and only 256x256 grids are needed in the flat area, which can reduce the memory overhead and improve the calculation speed.
[0041] In the present disclosure, by using multi-level collaborative calculation (V-cycle), coarse grids quickly correct global errors, and fine grids focus on local detail optimization. The restriction operator (Restriction) and the prolongation operator (Prolongation) realize the cross-level transmission of residuals and correction values. In this way, the calculation accuracy and efficiency of the modeling values can be ensured.
[0042] Please refer to Figure 1 , which shows a flow of one embodiment of the geological modeling method based on adaptive geometric multi-grid according to the present disclosure. As Figure 1 shown, the geological modeling method based on adaptive geometric multi-grid includes the following steps:
[0043] Step 101, according to the division mode indicated by the geological modeling parameter, the first resolution is used to divide the calculation area indicated by the geological source data to obtain a first resolution grid set.
[0044] Step 102, at least based on the first position information of the fault marker and the second position information of the control point in the calculation area, the target grid in the first resolution grid set is divided to obtain grids of multiple different resolutions.
[0045] Here, the target grid includes the fault marker or the control point; the control point and the fault marker are determined by the geological source data.
[0046] Step 103, modeling based on the modeling value calculation result of the grid.
[0047] As an example, the geological modeling parameters can be used to indicate the grid resolution (first resolution) at the initial division when modeling, and of course, the geological modeling parameters can also include a series of initial setting information for indicating how to perform modeling numerical calculation, how to perform interpolation, etc. Of course, the information included in the geological modeling parameters can be limited according to actual conditions.
[0048] The geological source data can be understood as all original information and observation data of geological modeling.
[0049] As an example, the control points can come from actual geological observation data such as drilling data, seismic data, etc. The fault marker can be understood as the position of the fault point, and the fault point can be determined based on geological mapping, seismic interpretation or drilling data, etc.
[0050] As an example, the control points can ensure the constraints of the model, and the area where the fault marker is located can be a fault area, and as known from the background art, the situation of the fault area is more complex. Therefore, the disclosure further subdivides the grid where the control point is located and the grid where the fault marker is located, which is beneficial to using high-resolution grids in complex situation areas, thereby improving the accuracy of modeling.
[0051] As an example, the modeling numerical calculation result can include but is not limited to: attribute information (such as the distribution of pressure, temperature, fluid saturation, concentration, etc. in the model domain), heat conduction simulation information (heat transfer and distribution in the formation), etc.
[0052] The way of modeling according to the modeling numerical calculation result can be set according to actual conditions, and here the way of modeling using the modeling numerical calculation result is not limited.
[0053] It should be noted that the geological modeling method based on adaptive geometric multi-grid provided by the embodiment can divide the calculation region indicated by the geological source data into a first resolution grid set according to the division mode indicated by the geological modeling parameters, and then divide the target grid in the first resolution grid set based on the first position information of the fault marker and the second position information of the control point in the calculation region, to obtain a plurality of grids with different resolutions; thereby the resolution of the grid in the fault area and the area where the control point is located can be higher, and the first resolution can be used in other areas, so as to realize dynamic division of multi-level grids, which is helpful for more efficient and accurate modeling.
[0054] In comparison, the traditional uniform grid uses a fixed grid spacing throughout the entire calculation region, which obviously wastes a large amount of computing resources and storage resources, while the present disclosure saves the computing resources and storage resources required in the geological modeling process by dynamically allocating different resolution grids, and helps to more efficiently perform geological modeling.
[0055] In some embodiments, a respective rate corresponds to a modeling numerical calculation unit; and,
[0056] If the different resolutions include a second resolution and a third resolution, the third resolution is a previous level resolution of the second resolution;
[0057] The modeling numerical calculation unit corresponding to the second resolution is used to calculate actual modeling numerical values and residual values; and the actual modeling numerical values and the residual values are both transmitted to the modeling numerical calculation unit corresponding to the third resolution;
[0058] The modeling numerical calculation unit corresponding to the third resolution is used to correct the residual values, and return the residual correction values to the modeling numerical calculation unit corresponding to the second resolution.
[0059] As an example, different levels (different resolutions) of the network correspond to different calculation units, so that each calculation unit establishes a difference matrix of grid points between levels, and performs calculation within the level unit.
[0060] It should be understood that in the present disclosure, different levels of grids (different resolutions of grids) can individually establish a storage node for storing data of the present level, which helps the modeling numerical calculation unit to more efficiently obtain data.
[0061] In each level, the residual after restriction operator processing and the fine grid point calculation value are transmitted from the fine grid level to the coarse grid level; the residual transmitted from the fine grid and the value of the present level are calculated on the coarse grid level, and the residual calculation result is transmitted back to the fine grid level through the prolongation operator processing, so that the fine grid level corrects the calculated value. For the boundary area between different calculation levels, a strategy of extending a virtual grid to cover the boundary area with a fine grid can be used to ensure the continuity and accuracy of the value transmission between levels.
[0062] That is, the residual after restriction operator processing is transmitted from the fine grid level to the coarse grid level. The residual (i.e. the error between the current solution and the exact solution) calculated on the fine grid is transmitted to the coarse grid through the restriction operator. The function of the restriction operator is to downsample the high-resolution information on the fine grid to the coarse grid, and a weighted average or other downsample method can be used. Of course, the fine grid level can also transmit the calculation value of the fine grid point to the coarse grid level.
[0063] At the coarse grid level, the residual passed from the fine grid is calculated and combined with the numerical value at this level to perform a correction calculation. The purpose is to use the global information on the coarse grid to correct the error on the fine grid. The numerical value at this level is also calculated independently on the coarse grid, which reflects the global geological characteristics and low-frequency error.
[0064] The correction value calculated on the coarse grid is passed back to the fine grid level through a prolongation operator. The role of the prolongation operator is to interpolate the low-resolution information on the coarse grid to the fine grid. Linear interpolation or other high-order interpolation methods are usually used to ensure smooth transition of information between different resolutions. The numerical value on the fine grid is updated by adding the correction value passed from the coarse grid, thereby improving the calculation accuracy on the fine grid.
[0065] That is, the present disclosure includes restriction operation and prolongation operation. The restriction operation can be understood as follows: passing the residual from the fine grid to the coarse grid, using a restriction operator (such as weighted average) to obtain the residual. And the calculation value of the fine grid can be passed to the coarse grid to ensure that the coarse grid can use this information.
[0066] The prolongation operation can be understood as follows: passing the correction value on the coarse grid back to the fine grid through a prolongation operator (such as interpolation). Correct the numerical value on the fine grid to improve the calculation accuracy. Among them, the residual passed from the fine grid is calculated on the coarse grid, and the numerical value at this level is corrected.
[0067] In some embodiments, the fault marking can be added to the grid by the following method:
[0068] Discretize the two mutually closed fault lines in the above calculation area to obtain fault line discrete points; and add fault marks to the grid where the fault line discrete points are located;
[0069] According to the minimum row, the maximum row, the minimum column, and the maximum column of the first resolution grid where the fault line discrete points are located;
[0070] Add fault marks to the grid in the area formed by the minimum row, the maximum row, the minimum column, and the maximum column.
[0071] As an example, by discretizing the fault line to obtain fault line discrete points, and performing two rounds of marking, it can be efficiently determined that which grids are in the fault zone or intersect with the fault zone.
[0072] For example, in the case of a two-dimensional assumption, a single fault domain is a closed polygonal region formed by connecting two lines (usually curves) end to end, which can be 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 coordinate value of the i-th fault point.
[0073] After the fault line segment in fault_polyline is discretized, there are a series of corresponding scattered points in the solution region. It is assumed that the head and tail tips of the fault fall on the grid lines in the region and do not fall into the grid interior; at the same time, a fault line in the fault polygon will only produce at most two intersection points with a grid located on different grid lines.
[0074] During the marking process of a fault line, the minimum and maximum row and column 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) information in the marked region are recorded; after the first round of marking is completed, the grid is checked row by row within the range of the minimum and maximum row and column to determine whether there is a fault mark; for the remaining unmarked grids in the first and last marked grids in a row, the fault region grid mark fault_flag is added. The fault marks fault_flag given by the two line segments of the same fault polygon are the same.
[0075] In some embodiments, the intersection of the second resolution and the third resolution grid described above includes an extended virtual point, wherein the extended virtual point is used to transfer actual modeling values and residual values.
[0076] As an example, by setting the extended virtual point, the residual and actual modeling values of the low-level grid can be transferred to the high-level network, which helps to ensure the continuity of the data.
[0077] 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;
[0078] adding index mark information to the calculation point according to the grid mark information; wherein the index mark information can be used to indicate the construction of the corresponding difference matrix coefficient in the modeling value calculation;
[0079] The calculation point includes any one of the following:
[0080] The grid vertex and the extended virtual point.
[0081] In some implementations, after adding the grid marking information to the initial grids, it can also be indicated that those initial grids can be further subdivided. The number of times of subdivision can be set according to actual conditions, for example, it can be subdivided 2 times, so that three levels of networks can be generated.
[0082] As an example, the index marking information can indicate that those grid points are used for actual calculation, and the assignment of the calculation points in the calculation can be determined according to the index, so that the construction of the difference matrix coefficients can be better and more accurate, and the calculation of the modeling values can be better.
[0083] In some embodiments, the grid marking information can include first grid marking information and second grid marking information,
[0084] The first grid marking information includes a first indication value and a control point grid marking, and the first indication value is used to indicate the position relationship between the grid and the control point grid; wherein the control point grid is used to indicate the grid including the control point;
[0085] The second grid marking information includes a second indication value and a fault grid marking, and the second indication value is used to indicate the position relationship between the grid and the fault grid; wherein the fault grid is used to indicate the grid including the fault marking.
[0086] As an example, the grid marking information can determine the position relationship between the grid and the control point grid and the fault grid, so that the index value determination of the grid vertex can be better.
[0087] In some embodiments, after adding the index marking information to the calculation points according to the grid marking information, the method can further include:
[0088] According to the grid marking information, the grid marking information is added to the grid vertex;
[0089] According to the index information of the calculation point and the grid marking information of the neighbor point of the calculation point, the index information of the neighbor point of the calculation point is determined.
[0090] In some implementations, the present disclosure can be applied to the difference matrix in the process of determining the modeling values.
[0091] That is, in geological modeling, the partial differential equation to be solved is usually very complex, and it is difficult to find an exact solution. The difference relationship provides a method to convert these continuous equations into discrete algebraic equations, so that they can be solved on a computer.
[0092] By establishing a difference relationship on the grid points, the continuous properties of the geological body (such as permeability, porosity, elastic modulus, etc.) can be converted into a discrete numerical model. This makes it possible to perform calculations on the grid points to obtain the numerical solution of the entire geological body. By establishing a difference relationship on the grid points, a large-scale continuous problem can be converted into a smaller-scale discrete problem, thereby improving the computational efficiency. The present disclosure uses adaptive grids and multi-grid methods, and the difference relationship can further optimize the calculation process and reduce the calculation time and memory overhead.
[0093] And through the adaptive grid strategy, only the grid points marked as actual calculation points will participate in the calculation. This means that in each level, only part of the grid points need to establish a difference matrix, thereby greatly reducing the size of the matrix.
[0094] And in the calculation process, after selecting the calculation points, the information of the neighboring points around the calculation points may need to be calculated, therefore, the index information of the neighboring points of the calculation points can be dynamically adjusted according to the grid information of the calculation points and the surrounding neighboring points, so as to better perform difference calculation.
[0095] That is, in the present disclosure, the index information of the grid vertices is set according to the fault marking of the grid and the position of the control points, so that in the process of actual modeling numerical calculation, the data needed for calculation can be obtained more efficiently and accurately, and the assignment of the data can be determined.
[0096] In order to better understand the idea of the present disclosure, the details of each part of the present disclosure are described in detail below. The present disclosure can be divided into three parts, the first part is data preprocessing and organization, the second part is adaptive geometric multi-grid calculation strategy, and the third part is multi-grid V cycle calculation strategy; the following will be described from these three parts.
[0097] The first part is to preprocess and organize the data.
[0098] As described above, in the two-dimensional case, a single fault domain is a closed polygonal region formed by connecting two lines (usually curves) end to end, which is 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 coordinate value of the i-th fault point.
[0099] After the fault polyline is discretized, there are a series of corresponding scattered points in the solution area. It is assumed that the first and last tips of the fault will only fall on the grid lines in the area, not into the grid interior; at the same time, a fault line in the fault polygon will only produce at most two intersection points with a grid located on different grid lines. To ensure the effectiveness of the extended point marking, the fault_flag of the fault marking is counted from 3, and 1 and 2 will be used for the fault_flag marking of the virtual extended points in the interface area between different levels.
[0100] Control point setting case: the control point will not appear in the fault area, that is, the control point in the fault area will not be interpolated.
[0101] Based on the above conditions, the fault and control point data are preprocessed, and in this process, the single level grid divided by the control point and fault point information will have a corresponding fault_flag marking. The fault grid marking will be carried out in two rounds, the first round is to mark the grid where the fault point is located, and the second round is to further improve the fault marking of the grid falling in the fault area without containing fault discrete points according to the marking result of the first round. The fault_flag given by the two line segments of the same fault polygon is the same.
[0102] In the marking process of a fault line, the minimum and maximum row and column 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) information in the marking area are recorded; after the first round of marking is completed, the grid in the range of the minimum and maximum row and column is checked whether it has fault marking, and the remaining unmarked grids in the first marked and last marked grids in a row are added with fault area grid marking fault_flag.
[0103] After the two rounds of fault marking are completed, the eight neighborhood grid overlapping grid marking screening is carried out for the first marked grid min_flag_col and the last marked grid max_flag_col in each row of the fault area. The screening process can include:
[0104] (1) If the current processing row index is min_flag_row, since the area above the fault boundary region is a continuous region, no expansion grid screening of the previous row is performed. Only the current row and the next row are screened, and if the grid has a fault mark, it is skipped; if the grid has no fault mark and the column index col_index of the grid is less than the min_flag_col of the corresponding row, the expand_flag of the grid is set to 0, representing the overlapping grid on the left side of the fault region; if the column index col_index of the grid is greater than the max_flag_col of the corresponding row, the expand_flag of the grid is set to 1, representing the overlapping grid on the right side of the fault region.
[0105] (2) If the current processing row index is max_flag_row, since the area below the fault boundary region is a continuous region, no expansion grid screening of the next row is performed. Only the current row and the previous row are screened, and the screening process is the same as (1).
[0106] (3) If the current processing row index is between (min_flag_row, max_flag_row), the current row and the upper and lower rows are screened, and the screening process is the same as (1).
[0107] It should be understood that, between the coarse layer and the fine layer of the multi-grid, the grid resolution is different, causing the appearance of the internal boundary of the region. If the data is directly transmitted, numerical jumps or errors may be caused due to the inconsistency of the boundary values in the two different resolution grids. In the present disclosure, the effective overlap region can be identified; only the grid region that needs to be calculated cooperatively in physics (such as the fault transition zone and the control point dense area) is retained, so that redundant calculation and memory waste can be avoided; for example, only in the necessary region (such as near the fault and around the control point), the high-resolution overlapping grid is retained.
[0108] After the grid preprocessing is completed, the grid points can be preprocessed, and 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, representing a real existing calculation grid point.
[0109] After all the 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 only completed when the grid point has no fault mark.
[0110] For each hierarchical grid point, in the range of the outermost layer, an expansion virtual point is added around the area range, and the flag of the expansion virtual point is marked as 1 and 2, 1 representing the expansion virtual point of the outermost layer, which is distinguished from the internal points 2 and 3.
[0111] For each grid point with flag or fault_flag label, an index index is assigned. For each grid point with expand_flag label, an index ghost_index is additionally assigned. For each grid point without fault_flag label or expand_flag label, no index ghost_index is assigned. The number of fault_flag labels of a grid point determines the number of ghost_index assignments, i.e. each fault_flag label has a corresponding unique ghost_index.
[0112] That is, flag is used to indicate the label of a normal grid point, which is used to identify the grid point that needs to be calculated.
[0113] fault_flag is used to indicate the label of a fault grid point, which is used to identify the grid point located in the fault area. The grid point in the fault area may have multiple fault labels (fault_flag), indicating that it is related to multiple faults.
[0114] expand_flag is used to indicate the label of an overlapping grid point, which is used to identify the grid point located near the boundary of the fault area. These points need to be calculated twice independently to obtain the accurate value under the influence of the fault.
[0115] index is used to adapt all grid points with flag or fault_flag labels.
[0116] ghost_index is used to adapt grid points with fault_flag or expand_flag labels.
[0117] After the above preprocessing, for each level, there will be a corresponding grid list, node list and related information, such as Figure 2 As shown in Figure 2 It can be understood as a schematic diagram of data storage. At the same time, the grid list and node list can save the related label and index information of each independent grid and grid node.
[0118] In Figure 2 , Mesh (grid) can be understood as the top layer of the entire data structure, representing a complete grid system, which can contain multiple sub-grids (Mesh_1, Mesh_2,...) of different resolutions.
[0119] Mesh_1 and Mesh_2 can be understood as specific grid levels, each level corresponding to different resolutions. For example, Mesh_1 may represent a finer grid level, while Mesh_2 may represent a coarser grid level.
[0120] Mesh_1 can contain the following information:
[0121] depth: Possible representation of the depth or level information of the mesh.
[0122] total_grid: Total number of grids or some statistical information.
[0123] grid_list: List of grid nodes, possibly containing indices to geometric coordinates of individual grid node cells.
[0124] cell_list: List of grid cells, listing all grid cells of this level.
[0125] diff_matrix: Difference matrix for numerical calculations, such as finite difference methods.
[0126] right_vector: Possibly right-hand side vector for equation solving.
[0127] coarse: Link to a coarser grid level for information transfer in multigrid methods.
[0128] finer: Link to a finer grid level, also for information transfer in multigrid methods.
[0129] Adaptive_grid (adaptive grid node)
[0130] The adaptive grid is a component of Mesh_1, which contains specific information and data structures for adaptive grids.
[0131] grid_1 contains the following information:
[0132] flag: Flag or status of the grid point, used to identify the type or properties of the grid point.
[0133] index: Index of the grid point, used to uniquely identify the grid point.
[0134] ghost_index: Index of the virtual grid point, used to handle boundary conditions or overlapping grids.
[0135] fault_flag: Fault flag, used to identify grid points located on faults.
[0136] expand_flag: Expansion flag, possibly used to identify overlapping grid nodes contained in overlapping grid cells that require two calculations.
[0137] restrict_neighbor: Restrict neighbor, possibly used for restriction operations in multigrid methods.
[0138] Adaptive_cell (adaptive grid cell)
[0139] An adaptive mesh cell is the basic unit of an adaptive mesh, and each cell contains specific computational information.
[0140] cell_1 and cell_2 contain the following information:
[0141] flag: The flag or status of a grid cell.
[0142] fault_mark: Fault marker, used to identify whether an element contains a fault.
[0143] expand_flag: An expansion flag that may be used to identify overlapping mesh nodes contained in overlapping mesh cells that require two calculations.
[0144] The second part, the adaptive geometric multigrid computation strategy, can include: handling relationships between hierarchical regions, fault boundary processing, and establishing a difference matrix; specifically:
[0145] The process of handling relationships between hierarchical regions may include the following:
[0146] At the boundary of different grid levels, some nodes have the same geometric position. If only the residual of the fine grid level is transmitted, during the residual extension and interpolation stage, only the node values covered by the fine grid region can be corrected, and the values of the other coarse grid nodes cannot be updated and corrected.
[0147] Therefore, unlike traditional multigrid algorithms, the algorithm disclosed herein needs to propagate the residuals and values of the fine grid to the coarse grid region, so that the coarse grid can use the value information received by the geometrically identical grid points to calculate the values of the remaining coarse grid nodes at that level. By propagating the residuals level by level using this method, the final residual update insertion achieves full coverage of the computational domain nodes, ensuring the accuracy of the calculation results. The following example illustrates the establishment of extended nodes from the finest grid layer to the next coarse grid layer; see the detailed diagram below. Figure 3 As shown, Figure 3 This can be understood as a schematic diagram of the distribution of extended nodes in the hierarchical boundary region, such as... Figure 3 As shown, an extended grid node ring can be set around the outer edge of the fine grid.
[0148] Therefore, the process of handling relationships between hierarchical regions can be subdivided into: adaptive mesh implementation process, process of establishing extended nodes between hierarchical regions, and process of establishing constraint relationships between fine meshes between hierarchical regions.
[0149] Regarding the implementation process of adaptive mesh:
[0150] On the whole solution domain, a series of uniform grid lists with different resolutions are formed by different resolutions. Starting from the coarsest layer, the grid cells with control points and fault points are marked. In order to ensure the continuity of the adaptive grid level difference, another mark is obtained within the 3*3 grid area centered on the control point cell or the fault point cell. A third mark is obtained within the area of the first circle outside the 3*3 area.
[0151] The specific grid marking logic is as follows:
[0152]
[0153] For the bottom layer grid, the marking of flag or fault_flag=1 can not be required.
[0154] The further grid subdivision standard of the grid completed in each layer is that the grid with 2, 3 marks in the current layer grid is split to form 6*6 fine grids. The split level grid is the fine grid of the next layer. According to this step, each layer grid is marked in turn, and the processing result of each layer is saved to the cell_list of each layer corresponding Mesh.
[0155] The process of establishing an extended node between the hierarchical regions can be:
[0156] Taking the 6*6 fine grid area obtained by splitting a 3*3 marked grid area of the coarse layer grid as an example, on the fine grid level, one grid point is extended in each of the four directions outside the 6*6 grid. The extended grid point must be located at the boundary of the level region, i.e. the flag mark is 1, to distinguish from the internal points of the region, and the extended point is given an index index.
[0157] The operation of adding an extended point can ensure that the nodes of the grid cell containing the control point in the next level can receive the transferred residual and the transferred value from the fine grid level when performing related calculations, thereby improving the transmission reliability of the calculation between levels.
[0158] For ease of understanding, the implementation schematic diagram of the adaptive grid can be combined with Figure 4 The implementation schematic diagram of the adaptive grid is also illustrated, i.e. the schematic diagram of splitting the grid with marks 2 and 3, so that the resolution of the local grid is higher.
[0159] The specific grid point marking logic is as follows:
[0160] (1) If the grid has a flag mark, the four grid points contained in the grid are given the same flag mark, and the larger flag mark covers the smaller flag mark.
[0161] (2) If the grid has a fault_flag (less than 3) mark, the four grid points contained in the grid are given the same fault_flag mark, and the large fault_flag mark covers the small fault_flag mark.
[0162] The process of establishing a restriction relationship for the fine grid between the hierarchical regions can be:
[0163] Since the restriction operation is calculated using a nine-point weighted method, the information of the eight neighboring points around the grid point performing the restriction operation needs to be recorded to ensure the accuracy of the restriction operation calculation and to improve the corresponding calculation speed.
[0164] In the fine grid hierarchy, the points marked with flag 3 are the points for which the fine grid performs restriction calculation. These points have an additional restrict_neighbor array (neighbor array). The storage order of the array is top-left, top, top-right, left, right, bottom-left, bottom, and bottom-right. During the traversal process, the index indexes of the corresponding neighboring points are sequentially placed in the restrict_neighbor array.
[0165] If there is a fault boundary in the region, the index type of the neighboring points needs to be further selected according to whether the current calculation index of the coarsening point is an index index or a ghost_index index.
[0166] The specific comparison logic is as follows:
[0167] (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 represents a fault left extension calculation. If the neighboring point does not have an expand_flag mark, the index index of the neighboring point is used; if the expand_flag mark of the neighboring point is 1, the ghost_index corresponding to the expand_flag mark of the neighboring point is used.
[0168] (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 represents a fault right extension calculation. If the neighboring point does not have an expand_flag mark, the ghost_index index of the neighboring point is used; if the expand_flag mark of the neighboring point is 0, the ghost_index corresponding to the expand_flag mark of the neighboring point is used; if the expand_flag mark of the neighboring point is 1, the index of the neighboring point is used.
[0169] (3) If the rough point has no fault_flag, if the adjacent point has no fault_flag, the index of the adjacent point is adopted; if the adjacent point has fault_flag and expand_flag, the index of the adjacent point is adopted; if the adjacent point has fault_flag and has no expand_flag, the value of a point in the periphery of the adjacent point is adopted to replace the value of the adjacent point.
[0170] Further, the fault boundary processing process can be divided into two parts: the division principle of the grid relative to the inside and outside of the fault region and the grid point index assignment processing.
[0171] The core of the fault boundary modeling processing is to accurately determine the fault region and the direction of the node outside the fault relative to the fault. This process relies on the judgment of the overlapping grid processing after the preprocessing process, and completes the information supplement of the corresponding grid node according to the overlapping grid information. Then, using the orientation information of these nodes relative to the fault, different strategies are adopted to establish the coefficients of the difference matrix, so as to ensure that the utilization rate of the control point at the fault boundary is improved, and the accuracy of the modeling at the fault boundary is improved.
[0172] The grid can be divided relative to the inside and outside of the fault region, and the specific process of the algorithm for determining whether the grid is inside or outside the fault region can be as follows:
[0173] (1) The grid position of all fault points is determined in turn, and the corresponding fault mark is made on the grid, and the maximum and minimum values of the row and column number of the marked grid index of each fault region are saved.
[0174] (2) In the grid marking range of each fault region, the minimum and maximum column index of the marked grid in the region is searched 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 row grid. Otherwise, the column index grid between the minimum and maximum column index will be marked as the fault region grid.
[0175] (3) According to the complete fault grid information above, the marking of the extended overlapping grid of each row is completed. And according to the column index of the grid to be marked, it is compared with the minimum and maximum column index of the corresponding row index, so as to determine the direction position of the extended overlapping grid relative to the fault region.
[0176] The grid point index assignment processing can be:
[0177] For different types of grid points, the index assignment is different, and the specific conditions are as follows:
[0178] (1) For fault flag nodes, i.e. nodes with fault_flag greater than or equal to 3, the index index is checked for the number of fault_flag markers, and the corresponding unique ghost_index index is assigned.
[0179] (2) For extended overlapping grid nodes, i.e. nodes with expand_flag not being None, in addition to the index index assignment, there is a ghost_index index.
[0180] The process of establishing a difference matrix can be divided into: the assignment process of difference coefficients and the processing process of control point interpolation.
[0181] Since there may be multiple point indexes at the same geometric position in the current grid, when establishing the difference matrix, the corresponding neighbor point index needs to be found for different information states of the difference center point.
[0182] The assignment process of difference coefficients can be:
[0183] For different difference center point information, there are the following classification cases:
[0184] (1) The difference center point belongs to the fault region point, fault_flag is greater than or equal to 3. For this type of difference center point, different difference center ghost_index indexes are used according to the number of fault_flag markers, and different neighbor point information is selected. The specific neighbor point selection conditions are:
[0185] ① If the neighbor point is also a fault marker point, the index corresponding to the marker of the neighbor point is selected according to the index marker of the difference center.
[0186] ② If the neighbor point is a non-fault marker point, fault_flag is None, and the index index of the neighbor point is used.
[0187] ③ If the neighbor point is an extended overlapping grid marker point, if the difference center fault_flag uses the index index, the neighbor point expand_flag marker is 0, and the neighbor point also uses the index; if the neighbor point marker is 1, the neighbor point uses the ghost_index. If the difference center fault_flag uses the ghost_index index, the neighbor point expand_flag marker is 1, and the neighbor point also uses the index; if the neighbor point marker is 0, the neighbor point uses the ghost_index.
[0188] (2) The difference center does not belong to the fault marker node and has no fault marker. This type of difference center point uses the index index, and its neighbor points all use the index index.
[0189] (3) The difference center does not belong to the fault marker node, but there is an extended overlapping grid marker. The neighbor node selects different indexes according to its own information, and the specific conditions are as follows:
[0190] ① If the neighbor node is an overlapping grid marker, the neighbor node uses ghost_index.
[0191] ② If the neighbor node has no fault marker and overlapping grid marker, the neighbor node does not establish a difference.
[0192] ③ If the neighbor node is a fault marker, if the expand_flag of the difference center node is 0, the neighbor node uses ghost_index; if the expand_flag of the difference center node is 1, the neighbor node uses index.
[0193] The processing process for the control point interpolation can be:
[0194] Due to the existence of fault boundaries, a part of the control points may fall into the grid with fault markers. After preprocessing, it is assumed that there is no control point in the fault area, so only the control points outside the fault area need to be considered. As shown in Figure 5 , the control point may fall into the grid cell with fault markers. When performing control point interpolation, the grid cell where the control point is located is judged for fault markers. If the grid cell has a grid marker, the control point and the direction of the fault are calculated. Based on the direction of the control point in the fault area, the four nodes of the grid cell are sequentially checked for the fault marker. If the control point is on the left side of the fault, the index of the interpolation node exists with respect to the marker of the fault, and if the control point is on the right side of the fault, the ghost_index of the interpolation node exists with respect to the marker of the fault. At the same time, because the control point interpolation needs to insert different coefficients according to the position of the node, a count_number marker is used, and the initial value is set to 0. After each node interpolation is completed, count_number is incremented by 1, and after the current grid cell is interpolated, count_number is cleared. During the interpolation process, different coefficient values are inserted in the interpolation matrix according to the count value of different count_number.
[0195] The third part, the multi-grid V cycle calculation strategy can include: V cycle residual transmission and value transmission strategy and V cycle residual correction value insertion strategy.
[0196] The residual transmission and value transmission strategy in the V cycle can be:
[0197] Due to the multi-level setting of the adaptive grid, each level has the node difference matrix of the current layer and the right side source term. The same as the traditional V-cycle strategy, the multi-grid of this method still starts from the finest layer grid and gradually limits the processing and calculation to the coarsest layer grid. Then, it extends the processing and correction from the coarsest layer grid to the finer layer grid. Different from the traditional method, this method only involves part of the calculation area in each layer, which belongs to local calculation and cannot completely follow the global calculation idea for transmission. Therefore, the strategy of value transmission and residual transmission is adopted to calculate the values of the remaining nodes in the current layer in addition to the correction of the residual values of the fine layer calculation. Taking the three-layer adaptive grid as an example, the specific V-cycle limiting transmission process from the fine grid to the coarse grid is shown in FIG. 1, Figures 6-7 Figure 6 It can be understood as the limiting process flowchart from the fine grid to the coarse grid in the V-cycle process, and Figure 7 It can be understood as the schematic diagram of the limiting process from the fine grid to the coarse grid in the V-cycle process.
[0198] In the V-cycle process, Figure 7 shows the schematic diagram of the multi-grid method in three-dimensional space. Figure 7 contains grid levels of different resolutions, and each level represents a different depth.
[0199] Green points: represent grid points that do not perform limiting coarsening calculation.
[0200] White hollow points: represent virtual grid points (ghost points) for handling boundary conditions or discontinuities (such as faults).
[0201] Purple points: represent calculation points on the grid that need to perform limiting coarsening, which are used to transmit relevant calculation information from the fine grid to the coarse grid.
[0202] Orange points: represent coarse grid calculation points that receive limiting coarsening transmission values from the fine grid.
[0203] And combined with the flowchart of Figure 6 It can be seen that the information is gradually transmitted from the finest layer grid to the coarse grid, and then fed back from the coarse grid to the fine grid.
[0204] The finest layer grid (depth = 3): calculate the initial value x_4; calculate the residual residual_4.
[0205] Limit the residual residual_4 to obtain residual_[4][3], and the fourth layer grid calculation value can be limited to obtain the value x_3.
[0206] The third layer grid (depth = 2):
[0207] The third layer grid node value is updated by using x_3, and the calculated value is limited to obtain x_2.
[0208] The residual residual_3 is calculated, the residual residual_3 is limited, and conversion is performed to obtain residual_[3][2].
[0209] In this layer, residual_[4][3] is also used as a source term, and residual correction value res_[4][3] can be calculated by calculating the residual of the upper layer grid. Then, the residual of residual_[4][3] as a source term is calculated, and the residual of the third layer is limited and converted to obtain residual_[4][2].
[0210] Second layer grid (depth = 1):
[0211] The second layer grid node value is updated by using x_2, and the updated calculated value x_2 is limited to obtain x_1.
[0212] The residual residual_2 is calculated, the residual residual_ is limited, and conversion is performed to obtain residual_[2][1].
[0213] In this layer, residual_[3][2] is also used as a source term, and residual correction value res_[3][2] can be calculated by calculating the residual of the upper layer grid. Then, the residual of residual_[3][2] as a source term is calculated, and the residual of the second layer is limited and converted to obtain residual_[3][1].
[0214] In this layer, residual_[4][2] is also used as a source term, and residual correction value res_[4][2] can be calculated by calculating the residual of the upper layer grid. Then, the residual of residual_[4][2] as a source term is calculated, and the residual of the second layer is limited and converted to obtain residual_[4][1].
[0215] The bottom layer grid (depth = 0):
[0216] The bottom layer grid node value is updated by using x_1 to obtain x_1.
[0217] Residual_[2][1] is used as a source term, and residual correction value res_[2][1] can be calculated by calculating the residual of the upper layer grid.
[0218] In this layer, residual_[3][1] is also used as a source term to calculate the residual correction value res_[2][1] of the residual of the previous layer.
[0219] In this layer, residual_[4][1] is also used as a source term to calculate the residual correction value res_[4][1] of the residual of the previous layer.
[0220] It can be seen that, starting from the bottom layer grid, the correction value is gradually fed back to the upper layer grid; in each layer, the residual is used as a source term to calculate the correction value, which is passed to the previous layer.
[0221] The residual correction value insertion strategy in the V cycle can be:
[0222] In the limiting process, each layer grid (except the finest layer grid) has a separate residual correction calculation value for each high-level grid. For example, in the bottom layer grid, there are residual correction calculation values for the first layer and the second layer grid. Therefore, in the process of extending the insertion, the residual correction value of the corresponding processing layer needs to be added back to the result of the residual correction value of the corresponding layer, and then smoothed and relaxed. Then, according to this strategy, the residual values of the high-level grids are modified in turn. The specific V cycle extension insertion process from the coarse grid to the fine grid is shown in Figures 8-9 Figure 8 It can be understood as the extension process flowchart of the coarse grid to the fine grid in the V cycle, and Figure 9 It can be understood as the extension process flowchart of the coarse grid to the fine grid in the V cycle.
[0223] In the V cycle, Figure 9 shows the extension process flowchart of the coarse grid to the fine grid, which is the reverse of Figure 7 the limiting process flowchart. In Figure 9 , the points of different colors have been described in Figure 7 , and will not be described again for the sake of brevity.
[0224] And combined with the flowchart of Figure 8 , it can be seen that
[0225] The bottom layer grid (depth = 0):
[0226] Relaxation calculation is performed on the received residual terms of each layer.
[0227] Layer-by-layer transmission:
[0228] Using residual values residual[2][1], residual[3][1], residual[4][1] as source terms, the grid residuals of the previous layer are calculated to obtain residual correction values res[2][1], res[3][1], res[4][1].
[0229] After prolongation and superposition processing, the node values x_1, x_2, x_3, x_4 of each layer are updated until the finest layer grid (depth=3) is reached.
[0230] That is, Figures 6-9 A complete V-cycle process is shown, and information starts from the finest layer grid and is passed to the coarsest layer grid layer by layer through restriction operations. After calculation on the coarsest layer, the information is returned to the finest layer layer by layer through prolongation operations, and finally the iterative solution of the entire calculation domain is realized.
[0231] Further combined Figures 10-11 For auxiliary understanding, Figure 10 It can be understood as the result of geological surface modeling under the constraint of faults. By visualizing the two-dimensional geological model, the spatial distribution of strata, faults or other geological features can be more obviously determined. And Figure 11 It can be understood as the contour result under the constraint of faults (reverse fault). From Figure 11 It can be seen that a contour map on a two-dimensional plane is shown. These lines connect points with the same elevation or attribute value. The continuous lines in the figure can represent points with the same value, which can be elevation, pressure, temperature or other geological attributes; the central dashed oval may identify a specific area or fault, which is often used to emphasize specific features or anomalies in geological analysis.
[0232] Based on the same inventive concept, the embodiments of the present application provide a geological modeling device based on adaptive geometric multi-grid, comprising:
[0233] The first division unit is configured to perform grid division on a calculation region indicated by geological source data according to a division mode indicated by a geological modeling parameter, to obtain a first resolution grid set.
[0234] The second division unit is configured to divide a target grid in the first resolution grid set based on at least first position information of a fault marker in the calculation region and second position information of a control point, to obtain grids with 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.
[0235] The construction unit is configured to perform modeling based on a modeling numerical calculation result of the grid.
[0236] In some embodiments, the modeling numerical value calculation unit corresponding to each resolution is respectively added;
[0237] If the second resolution and the third resolution are included in the different resolutions, the third resolution is a resolution one level lower than the second resolution;
[0238] The modeling numerical value calculation unit corresponding to the second resolution is configured to calculate actual modeling numerical values and residual values, and transmit the actual modeling numerical values and the residual values to the modeling numerical value calculation unit corresponding to the third resolution;
[0239] The modeling numerical value calculation unit corresponding to the third resolution is configured to correct the residual values and return residual correction values to the modeling numerical value calculation unit corresponding to the second resolution.
[0240] In some embodiments, the geological modeling device is further configured to determine the fault mark added to the grid by the following method:
[0241] Discretize two mutually closed fault lines in the calculation region to obtain fault line discrete points, and add a fault mark to the grid where the fault line discrete points are located;
[0242] According to the minimum row, the maximum row, the minimum column, and the maximum column of the first resolution grid where the fault line discrete points are located;
[0243] Add a fault mark to the grid in the region formed by the minimum row, the maximum row, the minimum column, and the maximum column.
[0244] 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 actual modeling numerical values and residual values.
[0245] In some embodiments, the geological modeling device is further configured to add grid mark information to the grid according to first position information of the fault mark and second position information of the control point;
[0246] Add index mark information to the calculation point according to the grid mark information; wherein the index mark information is used to indicate the construction of the corresponding difference matrix coefficient during the modeling numerical value calculation;
[0247] The calculation point includes any one of the following:
[0248] The grid vertex and the extended virtual point.
[0249] In some embodiments, the grid mark information includes first-type grid mark information and second-type grid mark information,
[0250] The first type of grid marking information includes a first indication value and a control point grid marking, the first indication value being used to indicate the position relationship between the grid and the control point grid; and the control point grid is used to indicate the grid including the control point.
[0251] The second type of grid marking information includes a second indication value and a fault grid marking, the second indication value being used to indicate the position relationship between the grid and the fault grid; and the fault grid is used to indicate the grid including the fault marking.
[0252] In some embodiments, the geological modeling device is further used for:
[0253] According to the grid marking information, the grid marking information is added to the grid vertex;
[0254] According to the index information of the calculation point and the grid marking information of the neighbor point of the calculation point, the index information of the neighbor point of the calculation point is determined.
[0255] Referring to Figure 12 Based on the same concept, the embodiments of the present application further provide an electronic device 1300 applying the geological modeling method based on the adaptive geometry multi-grid. The electronic device includes a memory 1302, a processor 1301, and a computer program 1303 stored in the memory and executable on the processor.
[0256] The electronic device 1300 can be a personal computer, a notebook computer, etc.
[0257] Those skilled in the art can understand that Figure 12 The electronic device 1300 is only an example and does not constitute a limitation on the electronic device 1300, which can include more or fewer components than those shown, or combine some components, or different components.
[0258] The processor 1301 can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0259] The memory 1302 may, in some embodiments, be an internal storage unit of the electronic device 1300, such as a hard disk or memory of the electronic device 1300. The memory 1302 may, in other embodiments, also 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, or the like, equipped on the electronic device 1300. Further, the memory 1302 may, in some embodiments, include both an internal storage unit and an external storage device of the electronic device 1300.
[0260] It should be noted that the information interaction and execution process between the above apparatuses / units are based on the same concept as the method embodiments of the present application, and the specific functions and technical effects brought by the above apparatuses / units can be found in the method embodiments, which will not be repeated here.
[0261] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above-mentioned division of functional units and modules is taken as an example for illustration, and in actual application, the above-mentioned functions can be completed by different functional units and modules according to needs, that is, the internal structure of the above-mentioned apparatus is divided into different functional units or modules to complete all or part of the above-mentioned functions. Each functional unit and module in the embodiments can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for easy distinction, and do not limit the protection scope of the present application. The specific working process of the units and modules in the above system can refer to the corresponding process in the above method embodiments, which will not be repeated here.
[0262] The embodiments of the present application also provide a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the steps in the above method embodiments.
[0263] The embodiments of the present application provide a computer program product, which, when running on a mobile terminal, enables the mobile terminal to implement the steps in the above method embodiments.
[0264] The integrated units described above, if implemented in the form of software function units and sold or used as independent products, can be stored in a computer readable storage medium. Based on such understanding, the present application implements all or part of the processes in the above-mentioned embodiment methods, which can be completed by instructing relevant hardware through a computer program. The above-mentioned computer program can be stored in a computer readable storage medium, and the computer program can implement the steps of each method embodiment described above when executed by a processor. The computer program includes computer program code, which can be in the form of source code, object code, executable files or some intermediate forms. The computer readable medium can at least include any entity or device capable of carrying the computer program code to the photographing device / electronic device, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal and software distribution medium. For example, U disk, mobile hard disk, magnetic disk or optical disk, etc. In some jurisdictions, according to legislation and patent practice, the computer readable medium can not be an electrical carrier signal and a telecommunication signal.
[0265] In the above embodiments, the description of each embodiment has its own focus, and the parts not described or recorded in detail in a certain embodiment can be referred to the relevant description of other embodiments.
[0266] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. A person skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0267] In the embodiments provided in the present application, it should be understood that the disclosed apparatus / network device and method can be implemented in other ways. For example, the apparatus / network device embodiments described above are only schematic. For example, the division of the above modules or units is only a logical function division, and there can be another division manner in actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection between each shown or discussed unit can be indirect coupling or communication connection through some interface, device or unit, and can be electrical, mechanical or in other forms.
[0268] The units described as separate parts above can or can not be physically separate, and the parts shown as units can or can not be physical units, that is, can be located in one place, or can be distributed to multiple network units. Part or all of the units can be selected to achieve the purpose of the embodiment scheme according to actual needs.
[0269] The above embodiments are only used to illustrate the technical solutions of the present application, but not limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that the technical solutions recorded in the foregoing embodiments can still be modified, or some technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A method of geological modeling based on adaptive geometry multigrid, characterized in that, The method comprises the following steps: According to the division mode indicated by the geological modeling parameter, the calculation region indicated by the geological source data is divided into a first resolution grid set according to the first resolution; At least based on the first position information of the fault marker in the calculation region and the second position information of the control point, the target grid in the first resolution grid set is divided to obtain a plurality of grids with different resolutions; wherein the target grid includes the fault marker or the control point; the control point and the fault marker are used to be determined by the geological source data; Modeling based on the modeling numerical calculation result of the grid; Wherein, 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 the upper level resolution of the second resolution; The modeling numerical calculation unit corresponding to the second resolution is used to calculate the actual modeling value and the residual value; and the actual modeling value and the residual value are transmitted to the modeling numerical 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; The junction of the second resolution 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.
2. The method of claim 1, wherein, The fault marker is added to the grid in the following way: Discretization processing is performed on two mutually closed fault lines in the calculation region to obtain fault line discrete points; and the grid where the fault line discrete points are located is added with a fault marker; According to the minimum row, the maximum row, the minimum column and the maximum column of the first resolution grid where the fault line discrete points are located; The grid in the area formed by the minimum row, the maximum row, the minimum column and the maximum column is added with a fault marker.
3. The method of claim 1, wherein, The method further comprises: According to the first position information of the fault marker and the second position information of the control point, grid marker information is added to the grid; According to the grid marker information, index marker information is added to the calculation point; wherein the index marker information is used to indicate the construction of the corresponding difference matrix coefficient in the modeling numerical calculation; The calculation point includes any one of the following: Grid vertex, extended virtual point.
4. The method of claim 3, wherein, The grid marker information includes first type grid marker information and second type grid marker information, The first type grid marker information includes a first indication value and a control point grid marker, and the first indication value is used to indicate the position 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 grid marker information includes a second indication value and a fault grid marker, and the second indication value is used to indicate the position relationship between the grid and the fault grid, wherein the fault grid is used to indicate the grid including the fault marker.
5. The method of claim 3, wherein, After adding the index marker information to the calculation point according to the grid marker information, the method further comprises: According to the grid marker information, grid marker information is added to the grid vertex; According to the index information of the calculation point and the grid mark information of the neighbor point of the calculation point, index information of the neighbor point of the calculation point is determined.
6. A geological modeling apparatus based on the adaptive geometry multi-grid based geological modeling method according to any one of claims 1 to 5, characterized by, Comprise: The first division unit is used for dividing the calculation region indicated by the geological source data into a first resolution grid set according to a division mode indicated by a geological modeling parameter; The second division unit is used for dividing a target grid in the first resolution grid set based on at least first position information of a fault mark in the calculation region 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; the control point and the fault mark are determined by the geological source data; The construction unit is used for modeling based on a modeling numerical calculation result of the grid.
7. An electronic device, comprising: Comprise: One or more processors; 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 of any one of claims 1 to 5.
8. A computer readable medium having stored thereon a computer program, characterized in that, The program is executed by the processor to implement the method of any one of claims 1 to 5.
Citation Information
Patent Citations
Three-dimensional geologic model subdivision method based on earth space grid structure
CN119832172A