DFN parametric modeling and information visualization method
Through the comprehensive methods of fusion of actual measurement and random fracture network modeling, JRC calculation and data visualization processing, the shortcomings of existing DFN modeling technology in simulating fracture rock mass are solved, and the accurate modeling and efficient visualization of fracture networks are realized, which improves the accuracy and practicality of modeling.
Patent Information
- Application Number
- CN202510179149.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-18
- Publication Date
- 2025-05-30
AI Technical Summary
When simulating cracked rock mass, the existing DFN modeling technology is difficult to effectively combine the measured crack network with the random crack network that meets the distribution model. It has a single shape, so it is impossible to truly reproduce the geometric characteristics of the actual crack, and it is difficult to characterize the geometric roughness characteristics of the crack surface. Moreover, the data processing and visualization methods are single, making it difficult to meet engineering needs.
A comprehensive method is proposed to integrate measured fracture network modeling, random fracture network modeling, JRC calculation and modeling based on statistical parameters, and data visualization processing. The DFN parametric modeling module reconstructs the measured and random crack networks, the DFN roughness parameterized modeling module simulates the roughness characteristics of the crack surface, and the DFN model output and information visualization processing module performs data visualization and model export.
The precise modeling of the fracture network is achieved, the complexity of fracture roughness characterization is reduced, the efficient visualization ability of information is improved, the accuracy and practicality of DFN modeling is improved, and more solid and reliable technical support is provided for the research of rock fracture networks.
Smart Images

Figure CN120070761A_ABST
Abstract
Description
Technical Field
[0001] The present invention provides a DFN parametric modeling and information visualization method, belonging to the technical field of experimental simulation. Background Art
[0002] The rock fracture network is a key research object in multiple fields such as rock mechanical properties, seepage characteristics, engineering stability analysis, and numerical simulation calculations. Its complexity and randomness are crucial for analyzing and predicting rock mass performance. Traditional fracture network modeling methods usually rely on two-dimensional projections of measured data for simple descriptions and cannot comprehensively reflect the distribution characteristics of fractures in three-dimensional space. In recent years, the discrete fracture network (DFN) technology has gradually become an important means for studying rock fractures. With its ability to finely describe the geometric characteristics, spatial distribution, and connectivity of fractures, it has shown important application value in the field of rock mechanics. However, when the existing DFN modeling technology simulates fractured rock masses, there are still the following technical problems: Firstly, the current DFN modeling methods have limitations and are difficult to effectively combine the measured fracture network with the random fracture network that conforms to the distribution model, and the shape is relatively single, unable to truly reproduce the geometric characteristics of actual fractures. In addition, the parameterization of these methods in terms of fracture geometric morphology, distribution law, etc. is not sufficient.
[0003] Secondly, the roughness of fractures has an important impact on the mechanical properties of rock masses, but the current modeling methods are difficult to collect fracture surface data and cannot effectively characterize the geometric roughness characteristics of the fracture surface.
[0004] Thirdly, the data processing and visualization means of the existing DFN models are relatively single and difficult to meet the intuitive expression requirements for the spatial distribution, interaction relationship, and statistical parameters of fractures in engineering needs.
[0005] Therefore, it is urgent to explore a comprehensive method that integrates parametric modeling technology. Parametric modeling realizes the rapid construction, characteristic extraction, and roughness simulation of the fracture network through flexible adjustment, automated processing, and high-precision characterization, and simplifies the complexity of characterizing fracture roughness, realizing data visualization, thereby comprehensively improving the accuracy and practicability of the discrete fracture network (DFN) modeling technology and providing a more solid and reliable technical support for the research of rock fracture networks. Summary of the Invention
[0006] The present invention aims to make up for the deficiencies in the existing rock discrete fracture network (DFN) modeling technology and proposes a comprehensive method that integrates measured fracture network modeling, random fracture network modeling, and based on statistical parameters (Z 2 , Z 3Calculation and modeling of the JRC (Joint Roughness Coefficient) of (), as well as data visualization processing. Given that there are significant limitations in the accuracy of fracture network modeling, the characterization of the geometric roughness characteristics of fracture surfaces, and the model output and data visualization capabilities in the existing technology, which are difficult to meet the complex needs of engineering practice and scientific research, the present invention has achieved accurate modeling of the fracture network by optimizing the DFN modeling process, reduced the complexity of fracture roughness characterization, and improved the efficient visualization ability of information. This method aims to provide reliable technical support for the research of key issues such as rock mechanics analysis and fluid flow. To solve the above problems, the present invention proposes a complete implementation process, including three core modules: the DFN parametric modeling module, the DFN roughness parametric modeling module, and the DFN model output and information visualization processing module. The specific technical solutions are as follows: 1) In the DFN parametric modeling module, it is divided into the measured fracture network and the random fracture network; for the measured fracture network, by inputting fracture parameters such as morphology, position, dip direction, dip angle, and trace length, the reconstruction of the measured fracture network is completed; for the random fracture network, based on statistical information such as morphology, trace length, and spatial distribution, the reconstruction of the random fracture network is completed; for the reconstruction of the measured fracture network and the random fracture network, the following steps are taken for processing: First, generate a three-dimensional domain of the fracture network, then generate a parametric fracture network that conforms to a certain mathematical distribution model, traverse all fractures, determine whether the fractures are within the three-dimensional domain, and clip the fractures that exceed the model boundary to generate a complete three-dimensional DFN model; Second, extract the three-dimensional information of the fracture network, including the fracture surface density P 32 , fracture area, and total intersection length of fractures; Finally, generate a two-dimensional random section from the three-dimensional DFN model, and extract two-dimensional information such as two-dimensional fracture density P 21 , number of fractures, dip angle of the intersection line, center point of the intersection line, and total number of intersecting fractures; 2) In the DFN roughness parametric modeling module, for the measured fracture network and the random fracture network, the fracture surface is discretized into point cloud data, and various distribution functions are used to perturb the position of the point cloud, so as to simulate the roughness characteristics of the fracture surface; this module calculates the fracture surface roughness coefficient JRC based on statistical parameters and generates a new three-dimensional fracture model; the specific implementation steps include: First, divide the fracture surface in the three-dimensional DFN model of the measured fracture network and the random fracture network into point clouds, and randomly perturb the position of the point cloud based on the distribution function to simulate the fracture roughness in the normal direction; Second, generate a new three-dimensional fracture model through the Surface From Points battery based on the point cloud data; Finally, iteratively calculate the roughness coefficient JRC of the point set in the Python script, and judge whether the convergence condition is met or the maximum number of iterations is reached to ensure the accurate characterization of the fracture surface roughness; 3) In the DFN model output and information visualization processing module, the information visualization processing module is used to visually display the statistical information of the DFN model and the fracture network, and supports the export of models in multiple formats; the specific content includes: First, with the help of the GH_python_remote tool, the three-dimensional DFN model generated in the 1) DFN parametric modeling module is exported in dxf, stl, and vrml formats, which is convenient for cooperation with other analysis tools; Second, create and save a histogram of the fracture dip distribution to visually display the angular distribution characteristics of the joint fractures, create and save a polar coordinate diagram of the fracture dip and strike to dynamically present the overall distribution of the fracture direction; Then, for the two-dimensional random cross-sections generated by the three-dimensional DFN model, extract line segment data (such as length, center point, dip angle, etc.) and generate corresponding Excel tables to meet engineering requirements; Finally, import the information of the fracture dip, strike, shape, area, center point, and radius into an Excel file for further analysis.
[0007] Further, the morphologies of the measured fracture network and the random fracture network generated in step 1) include circles, ellipses, and irregular convex polygons.
[0008] Further, the mathematical distribution models in step 1) include Poisson distribution, normal distribution, Fisher distribution, and exponential distribution.
[0009] Further, the two-dimensional fracture density P 21 is statistically calculated based on the combination of arbitrary points and vectors.
[0010] Further, the various distribution functions in step 2) include normal distribution, exponential distribution, logarithmic distribution, and lognormal distribution.
[0011] Further, in step 2), the joint roughness coefficient JRC is calculated by using the statistical parameter Z-based 2 , Z 3 characterization method. This method is a quantitative method based on the joint surface height data, where Z 2 represents the local slope variation of the joint surface, and Z 3 represents the overall dispersion degree of the height. The joint roughness coefficient JRC is estimated through the statistical characteristics of the two combined with an empirical formula.
[0012] Furthermore, the GH_python_remote software package in step 3) is an open-source tool used to call the functions of CPython in the GhPython script component of Grasshopper, which solves the limitation that the built-in IronPython in Grasshopper cannot support many standard Python libraries (such as NumPy, SciPy, Pandas, etc.); through the remote call mechanism, GH_python_remote starts a CPython environment in the background and runs synchronously with the Grasshopper script to achieve efficient data transfer and complex calculation processing.
[0013] Furthermore, during the entire modeling and visualization process, combined with the modular design concept, the modeling, roughness calculation, and visualization processes are divided into independent functional modules. Each module can run independently or be called in combination, facilitating function expansion and adaptation to different scenarios; meanwhile, in the visualization stage, users can modify parameters (such as fracture morphology, attitude, or distribution model) according to needs and instantly update the model and statistical results, thereby improving the flexibility and operability of modeling.
[0014] The advantages of the present invention are as follows: The model parameters are all parameterized, the method is simple, there are many available mathematical distribution models, the modeling information is visualized in a timely manner, and the extended application is convenient. The present invention improves the accuracy of DFN modeling, the accurate characterization and prediction ability of the influence of fracture roughness on mechanical and fluid behaviors, and the data visualization level; the present invention can be applied to the modeling of discrete fracture networks of rocks and rock masses. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The present invention will be further described below with reference to the accompanying drawings: Figure 1 is the flowchart of the DFN parametric modeling module of the present invention; Figure 2 is the flowchart of the DFN roughness parametric modeling module of the present invention; Figure 3 is the flowchart of the DFN model output and information visualization processing module of the present invention; Figure 4 is the three-dimensional DFN model diagram of the present invention after cutting; Figure 5 is the cross-sectional view of the two-dimensional random plane intercepted by the present invention; Figure 6 is the three-dimensional fracture model of the present invention with the point cloud position perturbed; Figure 7 is the effect diagram of the fracture network information export of the present invention; Figure 8 is the effect diagram of the two-dimensional cross-sectional intersection line information export of the present invention; Figure 9 It is a schematic diagram of the Grasshopper battery pack for parametric modeling and information visualization of the DFN of the present invention.
[0016] Legend: 1 - Uncut joint surface, 2 - Cut joint surface, 3 - Fracture characteristic parameterization processing module, 4 - Fracture three-dimensional domain modeling module, 5 - Fracture network generation module, 6 - Fracture boundary processing module, 7 - Fracture network reconstruction and cutting module, 8 - Two-dimensional random section generation module, 9 - Boundary Surfaces battery, 10 - Divide Surface battery, 11 - Point List battery, 12 - Fracture surface roughness parameterization module, 13 - Surface From Points battery, 14 - DFN model export and information visualization module. Specific implementation mode
[0017] As Figures 1 to 9 shown, the present invention provides a method for parametric modeling and information visualization of DFN, which realizes the accurate modeling of the discrete fracture network of rocks, and can use simple statistical descriptions to replace complex three-dimensional surface characterizations and visualize fracture information. Through step-by-step implementation, the present invention can generate a three-dimensional fracture model and perform statistical analysis and visual display on the characteristics of the spatial distribution, roughness, interaction relationship, etc. of the fractures.
[0018] The technical solution of the present invention will be further described in detail below in combination with the specific implementation mode: 1) In the DFN parametric modeling module, the parameters of the measured fracture network (such as shape, position, dip direction, dip angle, trace length) are input through text; the random fracture network is generated based on statistical information such as shape, trace length, and spatial distribution. After constructing the initial DFN model, all fractures are traversed to determine whether they are in the three-dimensional domain, and the fractures exceeding the model boundary are cut to generate a complete three-dimensional DFN model. The three-dimensional information of the fracture network is statistically analyzed, including P 32 (fracture surface density), fracture area, and total fracture intersection length. At the same time, two-dimensional random sections are generated from the three-dimensional model to extract two-dimensional information such as P 21 (two-dimensional fracture density), number of fractures, and total number of intersecting fractures.
[0019] The specific steps are as follows: ① First, open the Grasshopper plug-in in Rhino and write it using the Python battery.
[0020] ② Write three functions size_distribution, orientation_distribution, and shape_distribution in the fracture characteristic parameterization module (Python battery). Each function accepts a parameter, which should be obtained from the external interface. According to its value, it returns a specific distribution name, orientation distribution, and shape type respectively. Finally, call their respective functions according to the parameters provided by the user, and finally complete the parameter processing and fracture characteristic assignment.
[0021] ③ Define a Domain class in the three-dimensional domain modeling module of fractures (Python battery) to represent the three-dimensional domain of the fracture network and provide basic attribute calculation and operation methods. The initialization method of the class accepts a parameter length, which represents the side length of the cubic three-dimensional domain, and then calculates and stores the surface area (surface_area) and volume (volume) of the three-dimensional domain. The center point of the default three-dimensional domain is [0, 0, 0], the type of the three-dimensional domain is 'cube', and at the same time, initialize an empty list my_fractures to record the unique identifier (GUID) of the fractures in the three-dimensional domain. In addition, the Show method draws the three-dimensional domain according to the side length of the cube in the Rhino interface and returns the corresponding geometric object; the Number_Of_Fractures method returns the number of fractures in the three-dimensional domain. This class provides a basic framework for representing and managing the three-dimensional domain of fractures, and visualizes the shape of the three-dimensional domain through the rs.AddBox function of Rhino. Finally, the cube border can be displayed in Rhino.
[0022] ④ If random fracture network generation is to be achieved, first, a function named GeneratePoint needs to be written in the fracture network generation module (Python battery) to generate a random point within a cubic three-dimensional domain in three-dimensional space. This random point can serve as the starting point or reference point of the fracture. Secondly, a function named FractureSize needs to be written to determine the size of the fracture (i.e., the fracture radius). This function receives three parameters: the statistical distribution type (size_dist), the minimum radius (radius_min), and the maximum radius (radius_max), and generates a fracture radius value that meets the conditions according to the specified distribution type. Then, a function named InclinePlane needs to be written to generate an inclined plane based on the given fracture starting point (origin), and at the same time determine the direction of the normal vector of the plane through various distribution methods. The main function of the function is to calculate a direction vector generated based on a random distribution, and use this vector and the starting point to generate a plane for fracture modeling. After that, a function named RandomFractureGen needs to be written. Its main function is to randomly generate fractures in three-dimensional space according to the parameters specified by the user, record the geometric characteristics of each fracture (such as area, center point, radius, shape type, etc.) into the corresponding lists, and assign a unique identifier (GUID) to each fracture. This function supports three fracture shapes: circular (circle), elliptical (ellipse), and irregular polygon (polygon). By using these more realistic fracture geometries, the prediction accuracy of the connectivity and seepage path of the fracture network can be improved. Finally, this function can also generate different geometric parameters and direction distributions through randomization.
[0023] ⑤ If measured fracture network generation is to be achieved, a function named FixedFractureGen needs to be written in the fracture network generation module (Python battery). Its purpose is to generate a predetermined fracture geometry by reading the data in an external text file and visualize it in the Rhino environment. This function supports three fracture shapes: circular (circle), elliptical (ellipse), and polygon (polygon). First, the detailed parameters of the fracture network in the external text file are read through the specified file path, including the three-dimensional domain size, fracture type, and specific information of each fracture, including the center point, dip direction, dip angle, and size. The generation of each fracture type plane uses a function named FixInclinePlane, which is a function for generating an inclined plane. It generates a three-dimensional plane centered at the origin through the given origin, dip direction, and dip angle.
[0024] ⑥ After constructing the initial DFN model, it is necessary to trim the fractures that extend beyond the model boundary. Define a Trim class in the fracture boundary processing module (Python cell). The methods in the Trim class implement a complete tool chain for detecting and trimming fractures that extend beyond the boundary. By combining the geometric processing capabilities of Rhino, these methods can obtain surfaces from the fracture layer, decompose polysurfaces into single surfaces, extend the boundary for inspection, and finally remove the fractures that extend beyond the boundary. First, write a function named GetSurfaceFromFractureLayer to obtain all surface objects from the specified fracture layer. Secondly, write a function named ConverPolysurfaceToSurface to decompose the polysurface into single surfaces and return these surfaces. If the input object is not a polysurface, it is directly returned. Then write a function named CreateSetofExtendedBoundaries to create a set of extended boundaries for checking fractures that extend beyond the original boundary. After that, write a function named RemoveSurfacesIfAnyIntersectBoundary to check whether a surface intersects the given boundary. If it intersects, the surface and the generated intersection points are deleted. Finally, write a main function named RemoveSurfacesOutsideOfBox to call all auxiliary methods. The logical process of this method mainly includes the following steps: First, check the parameters. If length is less than or equal to 0, raise a ValueError. Subsequently, use dom.Show() to create the initial boundary and traverse all layers to extract the surface objects in the fracture layer. Split the surface by the boundary using rs.SplitBrep. If a polysurface is generated, call ConvertPolysurfaceToSurface to convert it into a single surface. For the Figure 4 untreated plane, such as the untrimmed joint surface 1, copy it and add it to the new boundary layer. Then call CreateSetOfExtendedBoundaries to generate the extended boundary and remove all planes that extend beyond the extended boundary, such as the trimmed joint surface 2, using RemoveSurfacesIfAnyIntersectBoundary. Finally, clean up all extended boundary and initial boundary objects, return the processed surface result, and generate the trimmed DFN model.
[0025] ⑦After defining the Trim class, the next step is to perform specific trimming. A function named RedrawNetwork needs to be written in the fracture network reconstruction and trimming module (Python battery). This function is the core method for reloading and generating the fracture network. By reading the text file storing fracture data, it extracts the geometric information of the fractures (such as type, location, orientation, size, etc.), generates three types of fractures (circular, elliptical, polygonal), and combines the methods of the Trim class to trim the fractures outside the three-dimensional domain. Finally, it returns a list of the areas of the trimmed fractures. The logic of the function includes four steps: First, read the basic data of the fracture network, including the side length of the three-dimensional domain, fracture shape, and geometric parameters; Second, generate the corresponding fracture surfaces according to different fracture types (circular, elliptical, polygonal); Then, call the Trim.RemoveSurfacesOutsideOfBox() function to trim the fractures that exceed the boundary of the three-dimensional domain to ensure that the fracture network conforms to the boundary constraints of the three-dimensional domain; Finally, use rs.SurfaceArea() to calculate the area of the trimmed fractures and return it.
[0026] ⑧To generate a two-dimensional random cross-section from a three-dimensional model, a function named generate_random_plane needs to be written in the two-dimensional random cross-section generation module (Python battery). By generating a random point and a random normal vector, a random plane in three-dimensional space is created. Then, a function named get_intersection_lines is written to calculate the intersection curves between the given plane and one or more Breps (polyhedra or geometries). Using the Intersection.BrepPlane method provided by Rhino.Geometry, the intersection curves and intersection points are returned. If there are intersection curves, they are stored in the intersections list. In this battery, the data input at the x end is breps: a set of polygonal planes, which may be a geometry composed of multiple faces. The data input at the y end is boundary: a closed border used to calculate the intersection with the random plane. Finally, the intersection curves of the random plane and breps and the intersection curves of the random plane and boundary are output. To extract two-dimensional information such as P 21 (two-dimensional fracture density), the number of fractures, and the total number of intersecting fractures, a function named calculate_line_properties needs to be written. Its main function is to analyze the input list of line segments, calculate the length, center point, inclination angle of each line segment, and count the total number of line segments.
[0027] 2) In the DFN roughness parameterization modeling module, the fracture surfaces in the generated DFN model are discretized into point cloud data, and various distribution functions are used to perturb the positions of the point cloud to simulate the roughness characteristics of the fracture surfaces. This module calculates the fracture surface roughness coefficient JRC based on statistical parameters (such as Z 2 and Z 3 ), and generates a new 3D fracture model. The specific steps are as follows: ① Select the DFN surface (i.e., joint fracture) in the DFN model. In the Grasshopper plugin of Rhino, select the Boundary Surfaces component to generate a closed planar surface according to the boundary curve of the DFN surface. Then, divide the DFN surface into point cloud through the DivideSurface component, and finally view the distribution of each point in the surface and their sequence numbers in the data list through the Point List component.
[0028] ② Perturb the positions of the point cloud in the DFN normal direction based on each distribution function. It is necessary to write code in the fracture surface roughness parameterization module (Python component). This code randomly perturbs the z coordinates of the point set, then generates new points points, and then generates a new 3D fracture model using the Surface From Points component.
[0029] ③ Iteratively calculate its roughness coefficient JRC in the Python script, and determine whether the convergence condition is met or the maximum number of iterations is reached. Continuously adjust the click z coordinates in each iteration until convergence or exit.
[0030] 3) In the DFN model output and information visualization processing module, with the help of tools such as GH_python_remote, the generated DFN model is exported in various formats such as dxf, stl, vrml, etc., which is convenient for cooperation with other analysis tools. Visualize the statistical information of the fracture network, including generating tables and graphs to intuitively express the fracture distribution characteristics and parameters. Support the Excel-form export of joint fracture data to meet the needs of users for subsequent analysis and engineering applications.
[0031] The specific steps are as follows: ① Transfer the generated parametric DFN model to the GH_python_remote software package. Execute the export_geometry function in the DFN model export and information visualization module (battery) to export the geometry in RhinoScript. Here, rs.AllObjects() is used to obtain all geometry objects in the current scene. If there are no objects in the scene, this function will return None or an empty list. Therefore, it is necessary to check whether the geometry exists through a conditional statement if not geometry. If it does not exist, print a prompt message "No geometry found" and exit the function. Then, export the geometry to the specified path by constructing an export command. Subsequently, execute the export command through rs.Command(export_command) to complete the export operation of the geometry, output the DFN model to the specified location, and the types include dxf, stl, vrml, igs, etc.
[0032] ② To visually display the dip angle information of the fracture network, such as creating and saving a histogram of joint dip angle distribution, it is necessary to first import the matplotlib library in the DFN model export and information visualization module (battery), and at the same time use the os module to write a function named create_histogram to convert the input string list into a floating-point list and count the frequency of each interval within the range of 0 to 90 degrees. The histogram is designed with a dynamic width and color gradient, and bar frequency labels, a title, axis labels, and grid line styles are added. By default, the generated histogram will be saved to the desktop with the file name dip_angle_histogram.png, and it also supports customizing the save path through parameters.
[0033] ③ To visually display the dip and strike of the fracture network, such as creating and saving a polar plot of strike and dip, it is necessary to first import the matplotlib library and the numpy library in the DFN model export and information visualization module (battery), and at the same time use the os module to write a function named create_polar_plot to create and save a polar plot containing the strike angle and dip angle. The function receives a list of strike angles and dip angles as input and processes them after ensuring that the data is in floating-point format. By converting the angle data to radians, two histograms are plotted in polar coordinates: one represents the strike angle (blue bar chart), and the other represents the dip angle (red bar chart). The generated polar plot will be automatically saved to the desktop with the file name polar_plot.png.
[0034] ④ Input the two-dimensional random section information generated in step 1) into an Excel table. In the DFN model export and information visualization module (battery), import the xlwt library, and then write a function named write_segment_data_to_excel that writes the line segment data to an Excel file, mainly including four parts of data: line segment number, length, center point coordinates (in the format of {x, y, z}), and dip angle. The function first creates an Excel workbook and worksheet, and writes the table headers (such as "Segment Index", "Length", etc.) in the first row. Then, it traverses each line segment data and fills in the length, center point, and dip angle information row by row according to the number. Finally, the generated Excel file is saved to the specified path, and the user is prompted that the file is saved successfully.
[0035] ⑤ Input the random joint fracture information generated in step 1) into an Excel table. In the DFN model export and information visualization module (battery), import the openpyxl library, and then write a function named process_joint_info to write the relevant information of the joints to an Excel file, specifically including the following: dip angle, trend, shape, area, center point, radius, and name of the joints. The function first creates a new workbook through openpyxl and sets the table headers, and then checks whether the lengths of the input data are consistent. If they are inconsistent, an error prompt is thrown. Then, the function writes each joint information row by row to the worksheet and finally saves the Excel file to the specified path.
[0036] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A DFN parametric modeling and information visualization method, characterized by: It includes DFN parametric modeling module, DFN roughness parametric modeling module, and DFN model output and information visualization processing module. The three modules are implemented according to the following steps: 1) In the DFN parametric modeling module, it is divided into measured fracture networks and random fracture networks. For the measured fracture network, the measured fracture network is reconstructed by inputting fracture parameters such as morphology, position, inclination, dip angle and trace length. For the random fracture network, the reconstruction of the random fracture network is completed based on the statistical information such as morphology, trace length and spatial distribution. For the reconstruction of the measured fracture network and the random fracture network, the following steps are adopted: first, a three-dimensional domain of a fracture network is generated, and then a parameterized fracture network of a certain mathematical distribution model is generated, all fractures are traversed, and it is determined whether the fracture is in the three-dimensional domain, and the fractures beyond the model boundary are clipped to generate a complete three-dimensional DFN model. Secondly, the three-dimensional information of the fracture network is extracted, including the fracture surface density P 32 , crack area and total length of crack intersection; finally, a two-dimensional random section is generated through the three-dimensional DFN model to extract the two-dimensional crack density P 21 , the number of cracks, the intersection line inclination, the intersection line center point and the total number of intersecting cracks; 2) In the DFN roughness parameterized modeling module, for the measured fracture network and the three-dimensional DFN model generated by the random fracture network, the fracture surface is discretized into point cloud data, and the point cloud position is perturbed by various distribution functions to simulate the roughness characteristics of the fracture surface; this module calculates the fracture surface roughness coefficient JRC based on statistical parameters and generates a new three-dimensional fracture model; the specific implementation steps include: first, the fracture surface in the measured fracture network and the three-dimensional DFN model of the random fracture network is divided into point clouds, and the point cloud position is randomly perturbed based on the distribution function to simulate the fracture roughness in the normal direction; secondly, a new three-dimensional fracture model is generated by the Surface From Points battery based on the point cloud data; finally, the roughness coefficient JRC of the point set is iteratively calculated in the Python script to determine whether the convergence condition is met or the maximum number of iterations is reached to ensure the accurate characterization of the fracture surface roughness; 3) In the DFN model output and information visualization processing module, the statistical information of the DFN model and the fracture network is visualized through the information visualization processing module, and the model export in multiple formats is supported; the specific contents include: first, with the help of the GH_python_remote tool, the three-dimensional DFN model generated in 1) the DFN parametric modeling module is exported to dxf, stl, and vrml formats to facilitate collaboration with other analysis tools; secondly, a histogram of the fracture dip distribution is created and saved to intuitively display the angular distribution characteristics of joints and fractures, and a polar coordinate diagram of the fracture dip and inclination is created and saved to dynamically present the overall distribution of the fracture direction; then, for the two-dimensional random sections generated by the three-dimensional DFN model, the line segment data is extracted and the corresponding Excel table is generated to meet the engineering needs; finally, the inclination, inclination, shape, area, center point and radius information of the fracture are imported into the Excel file for further analysis.
2. A DFN parametric modeling and information visualization method according to claim 1, characterized in that: The shapes of the measured fracture networks and random fracture networks generated in step 1) include circles, ellipses, and irregular convex polygons.
3. A DFN parametric modeling and information visualization method according to claim 1, characterized in that: The mathematical distribution models in step 1) include Poisson distribution, normal distribution, Fisher distribution and exponential distribution.
4. The DFN parametric modeling and information visualization method according to claim 1, characterized in that: Step 1) Two-dimensional crack density P 21 The statistics are based on the combination of arbitrary points and vectors.
5. The DFN parametric modeling and information visualization method according to claim 1, characterized in that: The various types of distribution functions in step 2) include normal distribution, exponential distribution, logarithmic distribution and lognormal distribution.
6. A DFN parametric modeling and information visualization method according to claim 1, characterized in that: In step 2), the joint roughness coefficient JRC is calculated based on the characterization method based on statistical parameters Z2 and Z3. This method is a quantitative method based on the joint surface height data, where Z2 represents the local slope variation of the joint surface, and Z3 represents the overall discreteness of the height. The joint roughness coefficient JRC is estimated by combining the statistical characteristics of the two with the empirical formula.
7. A DFN parametric modeling and information visualization method according to claim 1, characterized in that: The GH_python_remote package in step 3) is an open source tool for calling CPython functions in Grasshopper's GhPython script component, which solves the limitation that Grasshopper's built-in IronPython cannot support many standard Python libraries. Through the remote calling mechanism, GH_python_remote starts a CPython environment in the background and runs synchronously with the Grasshopper script to achieve efficient data transmission and complex calculation processing.
8. A DFN parametric modeling and information visualization method according to any one of claims 1 to 7, characterized in that: In the entire modeling and visualization process, combined with the modular design concept, modeling, roughness calculation and visualization processing are divided into independent functional modules. Each module can be run individually or called in combination, which is convenient for functional expansion and adaptation to different scenarios. At the same time, in the visualization stage, users can modify parameters according to their needs and update the model and statistical results in real time, thereby improving the flexibility and operability of modeling.