A discrete fracture network generation method based on iterated function system
By generating fractal curves through an iterative function system, the problem of failing to consider the fractal characteristics of individual cracks in existing technologies is solved, high-quality mesh generation is achieved, and the efficiency and accuracy of numerical simulation are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHAANXI TRANSPORTATION VOCATIONAL & TECH COLLEGE
- Filing Date
- 2022-09-20
- Publication Date
- 2026-04-14
AI Technical Summary
Existing technologies fail to effectively consider the fractal characteristics of individual cracks, resulting in excessively irregular crack shapes that make it difficult to generate high-quality meshes, thus affecting the stability and accuracy of numerical simulations.
Fractal curves are generated using an Iterative Function System (IFS), and polylines are generated through rotation and interpolation methods. Combined with curve smoothing algorithms and regularization methods, the shape of cracks and mesh quality are optimized.
The system generates more realistic fractal cracks, and the roughness of the cracks can be controlled by parameters to ensure the generation of high-quality meshes, thereby improving the efficiency and accuracy of numerical simulation.
Smart Images

Figure CN115630478B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of rock mass fracture simulation technology, specifically relating to a method for generating discrete fracture networks based on an iterative function system. Background Technology
[0002] With the construction of hydraulic infrastructure and the exploration and development of unconventional energy sources, rock mass fractures can pose serious safety hazards, a problem that cannot be ignored. Furthermore, natural rock masses inevitably fracture during their long geological development. Therefore, accurate modeling of fractures in jointed rock masses is of great significance in related engineering projects.
[0003] Among the methods for modeling fractures and cracks in rock masses, the Discrete Fracture Network (DFN) model has been a widely accepted tool for decades. A DFN refers to the geometric representation of complex fractures, and its generation methods can be broadly classified into two categories. The first category is called Geological Mapping DFN, which maps the distribution of fractures in natural rock based on rock outcrops or artificial excavations (such as boreholes, tunnels, and road cuts). With the development of remote sensing technologies such as lidar, infrared radar, and UAVs, high-resolution, large-scale trajectory features can be obtained. However, this type of method can only describe surface fractures; obtaining a three-dimensional DFN model requires additional judgment and reasoning.
[0004] Based on the assumption that the spatial characteristics of cracks follow a certain probability distribution, the second type of method is called a randomly generated DFN, also known as the Baecher model. Many commercial or open-source codes can be used to generate this type of model, such as FracSim3D, dfnWorks, and ADFNE. However, this type of DFN model generation method also has a significant problem: in these software programs or codes, cracks are treated as smooth shapes, such as 2D straight lines or 3D planar disks / polygons, which cannot represent the complex surfaces in natural rocks. To address this issue, some improvements use coarse cracks without considering the fractal characteristics of individual cracks, as shown in the paper: Wang, P., Liu, C., Qi, Z., Liu, Z. & Cai, M. 2022. A Rough Discrete Fracture Network Model for Geometrical Modeling of Jointed Rock Masses and the Anisotropic Behaviour. Applied Sciences, 12. Furthermore, because the generated coarse cracks are too irregular in shape, often jagged, distorted meshes are easily generated during the mesh generation stage, causing significant difficulties for subsequent numerical simulations. Summary of the Invention
[0005] The purpose of this invention is to provide a discrete crack network generation method based on an iterative function system, which solves the technical problems of not considering the fractal characteristics of individual cracks and the difficulty in generating high-quality meshes in the prior art.
[0006] To solve the above-mentioned technical problems, the present invention adopts the following technical solution:
[0007] A method for generating discrete crack networks based on iterative function systems includes the following steps:
[0008] S1: Generate a traditional discrete crack network model using commercial or open-source code such as FracSim3D, dfnWorks, or ADFNE based on the set parameters. This discrete crack network model includes multiple line segments representing the initial crack shape.
[0009] S2: In order to make the generated cracks more random and realistic, all line segments are randomly converted into polylines of different shapes and directions according to the set line segment rotation range and amplitude.
[0010] S3: In order to generate rough cracks, the iterative function system IFS is used to transform the polyline into a fractal curve representing the crack, and the roughness of the crack is controlled by relevant parameters.
[0011] S4: To generate a high-quality mesh, a curve smoothing algorithm is used to smooth the fractal curve, and the processed model is exported as a geometric file, such as a dxf format file;
[0012] S5: Fractal curves are composed of multiple line segments connected in sequence, but each line segment in the exported geometry file exists independently and is not connected in sequence. The software combines the line segments connected end to end into curves, and then divides the intersecting curves into four curves with the intersection point as the base point.
[0013] S6: To further improve mesh quality, a regularization method is used to detect line segment and gap lengths; short lines are deleted, and small gaps are merged into a single point; then, it is checked whether the distance between a point on the fractal curve and the boundary is less than the error value, and if it is less, the point is moved to the boundary.
[0014] S7: Set the mesh size and meshing method to mesh the model. Mesh quality directly affects key properties of numerical simulations such as stability, accuracy, and convergence speed; therefore, high-quality meshes are crucial in the simulation process.
[0015] Further optimization involves setting parameters in step S1, including the number of cracks, crack direction, and crack length range.
[0016] Further optimization is achieved by generating polylines in step S2 as follows:
[0017] S2.1: Rotate the line segment randomly by a certain angle within a specified range, with its midpoint as the center of rotation;
[0018] S2.2: Randomly select a specified number of points on the line segment, and use them as base points to randomly extend to one side of the line segment in the perpendicular direction to form new points, with the extension distance being the set amplitude.
[0019] S2.3: Connect the endpoints of the line segments to the new points in sequence to form polylines of different shapes and directions;
[0020] S2.4: Repeat steps 2.1 to 2.3 to transform all line segments.
[0021] Further optimization is achieved by generating the fractal curve in step S3 as follows:
[0022] Set the number of iterations L for fractal interpolation and the vertical scaling factor d for the mapping function. i Treat the points on the polyline as interpolation data M:
[0023] M={(x i ,y i )∈I×R,i=0,1,2,…,N};
[0024] x0 < x1 < x2 < ... < x N
[0025] I = [x0, x N ];
[0026] Generate the corresponding interpolation function f(x) for each x. i They all have f(x) i )=y i (i = 0, 1, 2, ..., N);
[0027] The attractor of the interpolated data continuous image is G = {(x, f(x)), x ∈ (x0, x...} N )};
[0028] The polyline is converted into a fractal curve using fractal interpolation based on the following formula:
[0029]
[0030]
[0031] Among them, W i Let d be a mapping function. i Let |d| be the vertical scaling factor of the mapping function. i | < 1, to avoid IFS non-convergence;
[0032] The roughness of the crack is represented by the fractal coefficient D, and the fractal coefficient D is only related to d. i Regarding, by changing d i The size controls the roughness of the crack. i The change in d has a significant impact on the shape of the fractal curve. i As the value increases, the roughness of the curve gradually increases. The above content is described in detail in the inventor's paper MENG Qing-xiang, Investigation on jointed rock strength based on fractal theory, Springer J.Cent.South Univ.(2017)24:1619-1626DOI:10.1007 / s11771-017-3567-9, and will not be repeated here.
[0033] Further optimization is needed, as mesh quality is crucial for numerical simulation, directly determining computational efficiency and result error. However, fractal curves with abundant lines and points exhibit significant jaggedness, posing considerable challenges to simulation, such as the presence of numerous distorted meshes. To smooth the curves representing cracks while maintaining relatively high accuracy, step S4 of this invention involves smoothing the fractal curves using a curve smoothing algorithm as follows:
[0034] S4.1: Set a threshold T, find and connect the endpoints of the fractal curve as the initial line segment;
[0035] S4.2: Calculate the maximum distance d between a point and a line segment on a fractal curve. max And determine whether it is less than the threshold T:
[0036] S4.2.1: When the maximum distance is greater than T, connect the point corresponding to the maximum distance on the fractal curve with the endpoints of the two segments to form a new broken line segment; re-determine whether the maximum distance between the two segments in the newly formed broken line segment and the corresponding points on the fractal curve is less than the threshold T.
[0037] S4.2.1.1 If the maximum distance is greater than T, repeat step 4.2.1 until the maximum distance between the two line segments in the newly formed broken line segment and the points on the corresponding part of the fractal curve is less than or equal to T;
[0038] S4.2.2: When the maximum distance is less than or equal to T, the smoothing process of the crack ends;
[0039] S4.3: Repeat steps S4.1 and S4.2 until all fractal curve smoothing processes are completed.
[0040] Further optimization is achieved by using the following method in step S6 to delete short line segments and merge small gaps:
[0041] S6.1: Read all points {p1, p2, ..., p} on a fractal curve in sequence. N} Store the coordinates of the first point p1 into an empty array P, where p1 is any endpoint of the curve;
[0042] S6.2: Calculate the distance between the second point p2 and point p1 in array P, and determine whether this distance is greater than the set error value err1.
[0043] S6.2.1: When the distance is greater than or equal to the set first error value err1, store the coordinates of point p2 into array P;
[0044] S6.2.2: When the distance is less than the set first error value err1, modify the coordinates of point p2 to the coordinates of point p1, and store the corrected coordinates of point p2 into array P;
[0045] S6.3: Process the remaining points {p3, p4, ..., p...} on the fractal curve in sequence. N} Calculate the distance between the point and all points in array P, and find the minimum distance d. min Determine the minimum distance d min Is it greater than the first error value err1?
[0046] S6.3.1: When d min When ≥err1, store the coordinates of the point in array P;
[0047] S6.3.2: When d min When <err1, change the coordinates of the point to the coordinates of the nearest point, and store the corrected coordinates of the point in array P;
[0048] S6.4: After all points on the curve have been detected, the points in array P are the points that make up the first corrected fractal curve;
[0049] S6.5: Process all points {q1,q2,…,q} on the second fractal curve sequentially according to the methods described in steps S6.1 to S6.4. N} Calculate the distance between the point and all points in array P, and find the minimum distance d. min And make judgments and adjustments according to S6.3.1 and S6.3.2;
[0050] S6.6: After all points on the second curve have been detected, the points in array P are the points that make up the two corrected fractal curves.
[0051] S6.7: Repeat steps S6.5 and S6.6 to complete the task of deleting short segments and merging small gaps on all remaining fractal curves.
[0052] Further optimization involves step S6, where the boundary is a rectangular frame, including a vertical boundary and a horizontal boundary. The method for merging boundary points is as follows: determine whether the distance between the x-coordinate, y-coordinate, and boundary of each point on the fractal curve is less than a set second error value err2.
[0053] When the distance dx between the x-coordinate of the point and the corresponding vertical boundary is less than err2, the x-coordinate of the point is changed to the x-coordinate of the corresponding vertical boundary.
[0054] When the distance dy between the ordinate of the point and the corresponding horizontal boundary is less than err2, the ordinate of the point is changed to the ordinate of the corresponding horizontal boundary.
[0055] When the x and y coordinates of a point and the distance between the coordinates and the corresponding boundary are both greater than err2, the position of the point will not change.
[0056] Then, export the processed geometric model.
[0057] Further optimization is possible, where the first error value err1 and the second error value err2 can be the same or different.
[0058] Compared with the prior art, the present invention has the following beneficial effects:
[0059] This invention can generate fractal curves representing fractal cracks and control the roughness of cracks through relevant parameters, thus describing cracks more accurately. In addition, this invention can ensure the generation of high-quality meshes, thereby improving the efficiency and accuracy of numerical simulation, providing valuable reference for future crack modeling, and having strong guiding significance for practical engineering construction. Attached Figure Description
[0060] Figure 1 This is a flowchart of a discrete crack network generation method based on an iterative function system as described in this invention;
[0061] Figure 2 This example demonstrates how to generate a traditional DFN model based on the set parameters in Example 1.
[0062] Figure 3 This is a schematic diagram of the DFN model after rotating all line segments within a certain range in Example 1.
[0063] Figure 4 This is a schematic diagram of the DFN model after changing the line segments to irregular polylines in Example 1;
[0064] Figure 5 This is a schematic diagram of the DFN model based on the iterative function system in Example 1;
[0065] Figure 6A schematic diagram of the process of smoothing a crack;
[0066] Figure 7 This is a schematic diagram of the DFN model after processing with the crack smoothing algorithm in Example 1;
[0067] Figure 8 A schematic diagram illustrating the process of merging short lines and small gaps;
[0068] Figure 9 This is a schematic diagram of the process of merging boundary points;
[0069] Figure 10 This is a schematic diagram of the DFN model processed by the regularization method in Example 1;
[0070] Figure 11 This is the mesh model after mesh generation in Example 1;
[0071] Figure 12 This is a schematic diagram of a typical volcanic rock fracture as shown in Comparative Example 1.
[0072] Figure 13 This is a schematic diagram of the traditional DFN model generated by ADFNE in Comparative Example 1. Detailed Implementation
[0073] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0074] Example 1:
[0075] like Figure 1 As shown, a method for generating discrete crack networks based on iterative function systems includes the following steps:
[0076] Step 1: Generate a traditional Discrete Fracturing Network (DFN) model based on the set parameters.
[0077] In this embodiment, as Figure 2 As shown, the boundary size of the discrete crack network model is set to a rectangle with dimensions of 10 meters × 10 meters. Two sets of crack parameters are set respectively: the first set has 80 cracks, a crack azimuth angle of 45°, a minimum crack length of 0.6 meters, and a maximum crack length of 0.8 meters; the second set has 60 cracks, a crack azimuth angle of 135°, a minimum crack length of 1.5 meters, and a maximum crack length of 3.5 meters.
[0078] Step 2: To make the generated cracks more random and realistic, two sets of rotation ranges and amplitude ranges are set for the two sets of cracks mentioned above: the rotation range of the first set of cracks is -5° to 5°, and the amplitude is 0.1 meters; the rotation range of the second set of cracks is -10° to 10°, and the amplitude is 0.15 meters.
[0079] Rotate all line segments around their midpoints by a certain angle within a specified range, such as... Figure 3 As shown. Then, randomly select two points on the line segment, using them as base points, and extend them randomly to one side of the line segment perpendicularly, forming two new points. The extension distance is the set amplitude. Connect the endpoints of the line segment and the newly generated points in sequence to form polylines of different shapes and directions, such as... Figure 4 As shown.
[0080] Step 3: To generate rough cracks, set the iteration count to 4 and the vertical scaling factor of the mapping function to 0.3; then, treat the points on the polyline as interpolation data M:
[0081] M={(x i ,y i )∈I×R,i=0,1,2,…,N}
[0082] x0 < x1 < x2 < ... < x N
[0083] I = [x0, x N ]
[0084] Generate the corresponding interpolation function f(x) for each x. i , all have f(x) i )=y i (i = 0, 1, 2, ..., N).
[0085] Interpolated data continuous image attractor G={(x,f(x)),x∈(x0,x... N )}.
[0086] The polyline is converted into a fractal curve using fractal interpolation based on the following formula, such as... Figure 5 As shown:
[0087]
[0088]
[0089] Among them, W n Let d be a mapping function. i is the vertical scaling factor of the mapping function. The roughness of the crack is represented by the fractal coefficient D, which is only related to d. i That's relevant, so only d needs to be changed.i The size can control the roughness of the crack.
[0090] Step 4: To generate a high-quality mesh, set the threshold T to 0.002 meters, find and connect the points at both ends of each fractal curve as initial line segments; then, calculate the maximum distance d between the points on the fractal curve and the line segments. max And determine whether it is less than the threshold T: when d max >T, connecting the maximum distance d on the fractal curve max For the corresponding points and the points of the two line segments, re-determine whether the maximum distance between the two line segments and the points on their corresponding fractal curves is less than the threshold. If the condition is not met, repeat this step until it is met. When d≤T, the smoothing process of the crack ends, and the next fractal curve is detected until all curves have been traversed. Then, export the processed model as a geometric file, such as a dxf format file. Figure 6 A schematic diagram of the process of smoothing a crack; Figure 7 This is a schematic diagram of the DFN model after processing with the crack smoothing algorithm.
[0091] Step 5: Since each line segment in the exported file exists independently and is not connected to each other, the software combines the first and last connected line segments into a curve, and then divides the intersecting curves with the intersection point as the base point.
[0092] Step 6: To further improve the mesh quality, set the error values err1 and err2 of the regularization method to 0.05 meters. S6.1: Read all points {p1, p2, ..., p} on a fractal curve in sequence. N First, store the coordinates of the first point p1 into an empty array P, where p1 is any endpoint of the curve. Calculate the distance between the second point p2 and point p1 in array P, and determine whether the distance is greater than the set error value err1. If the distance is greater than or equal to the set first error value err1, store the coordinates of point p2 into array P. If the distance is less than the set first error value err1, modify the coordinates of point p2 to the coordinates of point p1, and store the corrected coordinates of point p2 into array P.
[0093] Process the remaining points {p3, p4, ..., p} on the fractal curve in sequence. N} Calculate the distance between the point and all points in array P, and find the minimum distance d. min Determine the minimum distance d min Is it greater than the first error value err1: when d min When ≥err1, store the coordinates of the point in array P; when d minWhen the value is less than err1, the coordinates of the point are changed to the coordinates of the nearest point, and the corrected coordinates of the point are stored in array P. After all points on the curve have been checked, the points in array P are the points that make up the first corrected fractal curve.
[0094] Then, process all points {q1,q2,…,q} on the second fractal curve in sequence. N} Calculate the distance between the point and all points in array P, and find the minimum distance d. min Determine the minimum distance d min Is it greater than the first error value err1: when d min When ≥err1, store the coordinates of the point in array P; when d min When the value is less than err1, the coordinates of the point are changed to the coordinates of the nearest point, and the corrected coordinates of the point are stored in array P. After all points on the second curve have been checked, the points in array P are the points that make up the two corrected fractal curves.
[0095] Repeat the steps above to complete the task of deleting short segments and merging small gaps on all remaining fractal curves.
[0096] Figure 8 This diagram illustrates the process of merging short lines and small gaps. The first step is to detect the two fractal curves shown in the diagram; the second step is to divide the intersecting curves into four curves based on the intersection point; the third step is to detect all points corresponding to short lines and small gaps, as indicated by ▲ in the diagram; the fourth step is to delete the short lines and merge the small gaps.
[0097] Then, in order to merge points close to the boundary, it is determined whether the distance between the x-coordinate, y-coordinate, and boundary of all points is less than the error value err2. The boundary is a rectangular box, including a vertical boundary and a horizontal boundary.
[0098] To determine if the distance between the x-coordinate, y-coordinate, and boundary of each point on the fractal curve is less than a predefined second error value err2: If the distance dx between the point's x-coordinate and the corresponding vertical boundary is less than err2, change the point's x-coordinate to the x-coordinate of the corresponding vertical boundary; if the distance dy between the point's y-coordinate and the corresponding horizontal boundary is less than err2, change the point's y-coordinate to the y-coordinate of the corresponding horizontal boundary; if both the x-coordinate, y-coordinate, and the distance between the point and the corresponding boundary are greater than err2, then the point's position remains unchanged. The process of merging points close to the boundary is as follows: Figure 9 As shown, the second step is to detect points near the boundary, as indicated by ▲ in the figure; the third step is to move the points near the boundary to their corresponding boundaries. Then, the processed geometric model is exported. Figure 10 This is a schematic diagram of the DFN model after being processed by regularization.
[0099] Step 7: Mesh quality directly affects key attributes of numerical simulations such as stability, accuracy, and convergence speed. Therefore, the mesh size is set to 0.05 and the meshing method is the Advancing Front algorithm. The model is then meshed. Figure 11 The mesh model after meshing.
[0100] Comparative Example 1:
[0101] Figure 12 The images are photographs of cracks in typical volcanic rocks in the paper Z. Liu, Z. Pan, S. Li, L. Zhang, F. Wang, L. Han, J. Zhang, Y. Ma, H. Li, W. Li, Study on the effect of cemented natural fractures on hydraulic fracture propagation in volcanic reservoirs, Energy 241(2022)122845. Attached figures A, B, C, and D show four different types of real cracks.
[0102] Figure 13 This is a traditional DFN model generated based on the open-source code provided in the paper YFAlghalandis, ADFNE: Open source software for discrete fracture network engineering, two and three dimensional applications, Computers & Geosciences 102 (2017) 1-11.
[0103] Through the Figure 10 , Figure 13 and Figure 12 By comparison, it is obvious that Figure 10 and Figure 12 The higher similarity between the two methods and the ability to control crack roughness through relevant parameters demonstrate that the fractal cracks generated by the method described in this invention can more accurately describe cracks, fully considering the fractal characteristics of individual cracks. Furthermore, this invention enables the model to generate high-quality meshes through regularization, further improving key attributes such as stability, accuracy, and convergence speed of related numerical simulations. This provides a valuable reference for future crack modeling and has strong guiding significance for practical engineering construction.
[0104] It should be understood that the specific embodiments described herein are only for explaining the present invention and are not intended to limit the present invention; any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A method for generating discrete crack networks based on iterative function systems, characterized in that, Includes the following steps: S1: Generate a discrete crack network model based on the set parameters. This discrete crack network model includes multiple line segments representing the initial shape of cracks. S2: Based on the set line segment rotation range and amplitude, all line segments are randomly converted into polylines of different shapes and directions; S3: The iterative function system IFS is used to transform the polyline into a fractal curve representing the crack, and the roughness of the crack is controlled by relevant parameters. S4: Use a curve smoothing algorithm to smooth the fractal curve and export the processed model as a geometry file; The process of smoothing a fractal curve using a curve smoothing algorithm is as follows: S4.1: Set threshold T Find and connect the endpoints of the fractal curve as the initial line segment; S4.2: Calculate the maximum distance between a point and a line segment on a fractal curve. d max And determine whether it is less than the threshold. T : S4.2.1: When the maximum distance is greater than T Then, connect the point corresponding to the maximum distance on the fractal curve to the endpoints of the two segments of the line segment to form a new broken line segment; re-determine whether the maximum distance between the two line segments in the newly formed broken line segment and the corresponding points on the fractal curve is less than the threshold. T : S4.2.1.1 If the maximum distance is greater than T Then repeat step 4.2.1 until the maximum distance between two line segments in the newly formed broken line segment and the points on their corresponding fractal curves is less than or equal to... T ; S4.2.2: When the maximum distance is less than or equal to T The fractal curve smoothing process ends; S4.3: Repeat steps S4.1 and S4.2 until all fractal curve smoothing processes are completed; S5: Fractal curves are composed of multiple line segments connected in sequence, but each line segment in the exported geometry file exists independently and is not connected in sequence. The software combines the line segments connected end to end into curves, and then divides the intersecting curves into four curves with the intersection point as the base point. S6: Use regularization to detect the length of line segments and gaps, delete short lines, and merge small gaps into a single point; then, check whether the distance between the point on the fractal curve and the boundary is less than the error value. If it is less, move the point to the boundary. S7: Set the mesh size and meshing method to mesh the model.
2. The discrete crack network generation method based on iterative function system according to claim 1, characterized in that, In step S1, the parameters set include the number of cracks, the direction of cracks, and the range of crack lengths.
3. The discrete crack network generation method based on iterative function system according to claim 2, characterized in that, In step S2, the process of generating polylines is as follows: S2.1: Rotate the line segment randomly by a certain angle within a specified range, with its midpoint as the center of rotation; S2.2: Randomly select a specified number of points on the line segment, and use them as base points to randomly extend to one side of the line segment in the perpendicular direction to form new points, with the extension distance being the set amplitude. S2.3: Connect the endpoints of the line segments to the new points in sequence to form polylines of different shapes and directions; S2.4: Repeat steps 2.1 to 2.3 to transform all line segments.
4. The discrete crack network generation method based on iterative function system according to claim 3, characterized in that, In step S3, the process of generating the fractal curve is as follows: Set the number of iterations for fractal interpolation L Vertical scaling factor of the mapping function d i Treat the points on the polyline as interpolation data M: M = {( x i , y i ) ∈ I ×R, i = 0, 1, 2,, N }; x 0 < x 1< x 2< ...< x N I = [ x 0 ,x N ]; Generate the corresponding interpolation function f ( x For each x i They all f ( x i )= y i ; Attractors for interpolated data in continuous images G ={( x , f ( x ) ) , x∈ ( x 0 ,x N )}; The polyline is converted into a fractal curve using fractal interpolation based on the following formula: ; Among them, w i For mapping functions, d i Let |d| be the vertical scaling factor of the mapping function. i | < 1; The roughness of the crack is determined by the fractal coefficient. D The fractal coefficient is represented as... D Only with d i Related to, by changing d i The size controls the roughness of the crack.
5. The discrete crack network generation method based on iterative function systems according to claim 4, characterized in that, In step S6, the method for deleting short line segments and merging small gaps is as follows: S6.1: Read all points on the first fractal curve in sequence { p 1, p 2,, p N }, place the first point p The coordinates of 1 are stored in an empty array P. p 1 represents any endpoint of the curve; S6.2: Calculate the second point p 2 and array P p The distance between points is used to determine whether the distance exceeds a set error value. err 1: S6.2.1: When the distance is greater than or equal to the set first error value err At 1 o'clock, p The coordinates of point 2 are stored in array P; S6.2.2: When the distance is less than the set first error value err At 1 o'clock, p The coordinates of point 2 are changed to points p The coordinates of 1 will be corrected. p The coordinates of point 2 are stored in array P; S6.3: Process the remaining points on the fractal curve sequentially. p 3, p 4,..., p N } Calculate the distance between the point and all points in array P, and find the minimum distance. d min Determine the minimum distance d min Is it greater than the first error value? err 1: S6.3.1: When d min ≥ err When 1, store the coordinates of that point in array P; S6.3.2: When d min < err When the coordinates of the point are 1, change them to the coordinates of the point closest to it, and store the corrected coordinates of the point in array P; S6.4: After all points on the curve have been detected, the points in array P are the points that make up the first corrected fractal curve; S6.5: Process all points on the second fractal curve according to the methods described in steps S6.1 to 6.
4. q 1, q 2,..., q N } Calculate the distance between the point and all points in array P, and find the minimum distance. d min And make judgments and adjustments according to S6.3.1 and S6.3.2; S6.6: After all points on the second curve have been detected, the points in array P are the points that make up the two corrected fractal curves. S6.7: Repeat steps S6.5 and S6.6 until the task of deleting short segments and merging small gaps on all remaining fractal curves is completed.
6. The discrete crack network generation method based on iterative function system according to claim 5, characterized in that, In step S6, the boundary is a rectangular frame, including a vertical boundary and a horizontal boundary. The method for merging boundary points is as follows: Determine whether the distance between the x-coordinate, y-coordinate, and boundary of each point on the fractal curve is less than a set second error value. err 2: When the x-coordinate of this point is at a distance from the corresponding vertical boundary dx < err At time 2, the x-coordinate of that point is changed to the x-coordinate of the corresponding vertical boundary. When the distance between the ordinate of the point and the corresponding horizontal boundary dy < err At time 2, the ordinate of that point is changed to the ordinate of the corresponding horizontal boundary. When the x and y coordinates of this point and the distance between the corresponding boundary are both greater than err If the value is 2, then the position of that point remains unchanged.
7. The discrete crack network generation method based on iterative function system according to claim 6, characterized in that: First error value err 1 and second error value err 2. Same or different.
Citation Information
Cited By
Rock mass rough opening fracture grid generation method and device based on parting iteration method, medium and equipment
CN121921464A