Tunnel water inrush spreading process simulation method and system
By constructing a dynamic topological network based on graph theory and water flow recursive algorithm, the problem of multi-directional flow characteristics of water flow in tunnel water inrush simulation is solved, and the flexible simulation and dynamic visualization of water flow in complex tunnel systems is realized, and the emergency response capability of water inrush is improved.
Patent Information
- Application Number
- CN202510300951.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-14
- Publication Date
- 2025-08-08
AI Technical Summary
The existing tunnel water burst simulation model is difficult to effectively simulate the bidirectional or multi-directional flow characteristics of water flow in multi-branched and multi-layered tunnels, and the location of the water burst point is limited to the preset wire point, making it difficult to adapt to the water burst situation at any tunnel location.
Using a dynamic topology network update mechanism based on graph theory, combined with water flow descent recursive algorithm and rising termination algorithm, a simulation method for tunnel water sudden spread is constructed, and the tunnel topology network is expressed through an adjacency table, and the tunnel connection relationship is dynamically updated to realize the bidirectional spread simulation of water flow.
The adaptability and accuracy of the simulation model in complex well and tunnel systems is improved, and the spread of water flow in any position can be flexibly simulated, which enhances the adaptability of multi-branch and multi-level tunnel structures, and provides dynamic water flow spread support.
Smart Images

Figure CN120449729A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the fields of mine hydrogeology and computer graphics, and in particular relates to a method and system for simulating the process of water inrush spreading in a tunnel. Background Art
[0002] Tunnel water inrush spread simulation is primarily used to simulate the flooding of mine tunnels during a water inrush. This helps understand the scope of flooding, aids in developing scientific emergency response plans, and reduces or controls the spread of tunnel water damage. Based on mine hydrogeology and three-dimensional tunnel types, and according to the mechanism of mine water inundation, this method uses monitoring data such as water inrush points, water levels, water volumes, and flow rates to calculate the impact and severity of the inundation, laying the foundation for in-depth analysis of flooding information. Currently, two main approaches for constructing water inrush spread simulation models are based on numerical simulation and network models. The former uses mathematical models incorporating fluid dynamics equations, such as the Navier-Stokes equations and Darcy's law, combined with numerical computational techniques such as the finite element method and the finite difference method, to simulate the spread of water in different media. The latter uses graph theory or path-finding algorithms (such as the Dijkstra algorithm) to calculate the water flow path and inundation range within the mine.
[0003] However, in terms of path planning of water inrush spread simulation models, at present, there are more studies on mine flood escape routes in China, but fewer studies on mine water inrush spread path simulation. Secondly, most of the existing spread models are based on the assumption of unidirectional flow, that is, unidirectional rising flooding or downward spread. This separation method has certain limitations and is often only applicable to specific application scenarios. It is difficult to effectively simulate the bidirectional or multidirectional flow characteristics of water in multi-branched and multi-level tunnels. Moreover, the traditional water inrush point positioning is mostly limited to preset wire points, which makes it difficult to flexibly adapt to the situation where water inrush occurs at any tunnel location. In response to the problem of unconstrained flow of water in complex shaft and tunnel systems, the present invention, based on the idea of graph theory, proposes a bidirectional water inrush spread simulation model that takes into account the dynamic update of the tunnel network. Summary of the Invention
[0004] To solve the above technical problems, the present invention provides a method for simulating the spread of water inrush in a tunnel, comprising:
[0005] Convert the measured mine data into a tunnel topology network;
[0006] Initializing the first endpoint, the last endpoint, and the location of the water inrush point, establishing a connection relationship between the first endpoint, the last endpoint, and the location of the water inrush point, and updating the lane topology network to obtain a global flooding queue; wherein the global flooding queue is used to store lanes that are being flooded in all recursive stacks in the entire lane network;
[0007] Constructing a water flow descending recursive algorithm and a water flow ascending termination algorithm, and obtaining a new water inrush point position based on the obtained global flooding queue;
[0008] The new water inrush point position is input as a starting point into the water flow descent recursive algorithm to simulate the descent process of the water flow, and obtain the descent simulation result and the local minimum point;
[0009] Inputting the local lowest point as a starting point into the water flow rising termination algorithm to simulate the upward process of the water flow to obtain an upward simulation result;
[0010] The simulation results of the tunnel water inrush spreading process are constructed based on the downward simulation results and the upward simulation results.
[0011] Preferably, the process of converting the measured mine data into a tunnel topology network further comprises: the tunnel topology network is expressed in an adjacency list in a storage manner, wherein the adjacency list is composed of a plurality of table headers and a plurality of nodes;
[0012] The table header contains lane traverse point information and a pointer to the next adjacent point;
[0013] The node includes a neighbor point, tunnel length, cross-sectional area, flooding status, and points to the next neighbor point.
[0014] Preferably, the process of obtaining the global flood queue includes:
[0015] Searching the first and last endpoints of the specified lane ID in the adjacency table;
[0016] Remove the lanes from the adjacency table that have the first endpoint as the head node to the last endpoint, and remove the lanes from the last endpoint as the head node to the first endpoint;
[0017] The water inrush point position is inserted as the head node to respectively construct the connection relationship between the water inrush point position and the first endpoint and the last endpoint, and dynamically update the entire lane network, while initializing the set, initializing the global flooding queue and initializing the cumulative amount set.
[0018] Preferably, the process of obtaining the global flooding queue also includes: if the global flooding queue is empty and the cumulative flooding amount is less than the preset maximum cumulative amount, a lane that is being flooded is popped out from the global flooding queue, the lane record value that is being flooded is added to the set, and the end node of the lane that is being flooded is set as the new starting point.
[0019] Preferably, the operation process of the water flow descent recursive algorithm includes: initializing the access mark set, initializing the weight to 0, creating a set for storing the final result, recording the lowest point and the cumulative weight of its path, and creating a set for recording the downward spreading path;
[0020] Starting from the specified starting point, the recursive process is started by calling the FlowUtil function;
[0021] Obtain all adjacent nodes of the specified starting point, and for each adjacent node, check whether it has not been visited, and determine whether the elevation of the adjacent node is lower than or equal to the elevation of the current node;
[0022] For adjacent nodes that meet the conditions, the slope and elevation difference are calculated, and the cumulative slope elevation weight factor is calculated based on the elevation difference;
[0023] If the current node does not have any adjacent nodes with lower elevations and have not been visited, the end point of the path and the cumulative weight information along the way are recorded in the set to complete the simulation of the downward process of water flow in the roadway network.
[0024] Preferably, the calculation expression of the cumulative slope elevation weight factor is:
[0025]
[0026] W(v current ,v adj )=W slope (v current ,v adj )+W height (v current ,v adj );
[0027] Among them, v current is the current node, v adj is the adjacent node, h current is the elevation of the current node, h adj is the elevation of the adjacent node, W slope is the slope weight factor, W height To mark the weight of Nizi, W(v current ,v adj ) is the cumulative slope elevation weight factor.
[0028] Preferably, the operation process of the water flow rising termination algorithm includes:
[0029] Enter the starting point, end point, and cumulative amount, create boundary conditions based on the water flow spread deadline, and initialize the flooding queue;
[0030] Push the starting point as a self-loop edge into the flooding queue. When the flooding queue is not empty, take the head element from the queue to check the termination condition. If the current water flow has spread to the elevation above the end point or has flowed back to the end point, stop the algorithm and return to the current queue state.
[0031] Update the end node of the first lane to the new starting point, and search all adjacent points from the current starting point to determine the flooding status of each lane;
[0032] If the water flow encounters a lane associated with the current vertex and with a downward trend again during the rising process, a recursive operation is triggered, and the current vertex is updated to the starting vertex. The lanes that are queued each time and the lanes that already exist in the queue are sorted according to the elevation corresponding to their end nodes. After each queue operation, the cumulative amount and the queue status are checked. If the cumulative amount reaches the preset upper limit or all lanes have been processed, the algorithm is terminated.
[0033] In order to solve the above technical problems, the present invention also provides a tunnel water inrush spreading process simulation system, comprising:
[0034] Data conversion module, used to convert mine measured data into tunnel topology network;
[0035] An updating module is used to initialize the first endpoint, the last endpoint and the water inrush point position, establish a connection relationship between the first endpoint, the last endpoint and the water inrush point position, and update the lane topology network to obtain a global flooding queue;
[0036] An algorithm construction module is used to construct a water flow descending recursive algorithm and a water flow ascending termination algorithm, and simultaneously obtain a new water inrush point position based on the obtained global flooding queue;
[0037] A downward simulation module is used to input the new water inrush point position as a starting point into the water flow descending recursive algorithm to simulate the downward process of the water flow, and obtain the downward simulation result and the local minimum point;
[0038] an upward simulation module, configured to input the local lowest point as a starting point into the water flow rising termination algorithm to simulate the upward process of the water flow and obtain an upward simulation result;
[0039] The water inrush simulation module is used to construct a simulation result of the tunnel water inrush spreading process based on the downward simulation result and the upward simulation result.
[0040] Compared with the prior art, the present invention has the following advantages and technical effects:
[0041] In response to the complexity of mine tunnel networks, the present invention proposes a dynamic topology update mechanism based on an undirected graph, so that the positioning of water inrush points is no longer limited to traditional guide wire points, but can flexibly occur at any position in the tunnel. A sorting method that uses slope and elevation difference as weight factors provides a new approach to the uneven distribution of water during the downward process. It provides more dynamic and detailed support for the spread of water flow, significantly improving the adaptability and accuracy of the model in actual mine working conditions. At the same time, based on an in-depth analysis of the flow characteristics of water in tunnels, the present invention proposes for the first time a bidirectional water flow recursive spread algorithm model that can simulate the unconstrained free flow of water in complex shaft and tunnel systems, making up for the limitations of traditional unidirectional models and enhancing its adaptability in multi-branch and multi-level tunnel structures. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] The accompanying drawings, which constitute part of this application, are intended to provide a further understanding of this application. The exemplary embodiments and descriptions of this application are intended to explain this application and do not constitute an improper limitation on this application. In the accompanying drawings:
[0043] Figure 1 Schematic diagram of a bidirectional water inrush spread simulation model taking into account dynamic updates of a roadway network according to an embodiment of the present invention;
[0044] Figure 2 Schematic diagram of the adjacency list structure according to an embodiment of the present invention.
[0045] Figure 3 Flowchart of the water flow descent recursive algorithm according to an embodiment of the present invention;
[0046] Figure 4 This is a flow chart of a water flow rising termination algorithm based on BFS according to an embodiment of the present invention;
[0047] Figure 5 This is a flow chart of a method for simulating the process of water inrush spreading in a tunnel according to an embodiment of the present invention;
[0048] Figure 6 A schematic diagram of a three-dimensional model of a laneway according to an embodiment of the present invention;
[0049] Figure 7 This is a schematic diagram of the spreading process of water flow after water inrush starting from the middle position 25% of the distance from the starting point of the tunnel with ID 661 according to an embodiment of the present invention. DETAILED DESCRIPTION
[0050] It should be noted that, in the absence of conflict, the embodiments and features of the embodiments in this application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0051] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0052] Example 1
[0053] like Figure 1 and Figure 5 As shown, this embodiment provides a method for simulating the process of water inrush spreading in a tunnel, including:
[0054] The basic concept of this embodiment is to construct an adjacency table based on measured mine data to maintain dynamic topological network updates for shafts and tunnels; set arbitrary initial locations for water inrush and various propagation parameters; and decompose the complex water flow propagation process into two independent yet sequentially connected upstream and downstream components. As water flows downward, a recursive descent algorithm is used to find and record the local or global lowest point in all downward paths. When water flows upward, an ascending termination algorithm is executed based on the set termination conditions, starting from the searched lowest point and returning to the local queue. Furthermore, the invention uses a recursive mechanism to connect the two sub-processes of downward propagation and upward rise, proposing a bidirectional water inrush propagation simulation model that takes into account the dynamic updating of the tunnel network. This model solves the problem of free water flow in complex shaft and tunnel systems and enables dynamic visualization and range prediction of the propagation process. This provides technical support for emergency response and rescue plan formulation for flood disasters.
[0055] The architecture of the mine flood spread simulation system is as follows: Figure 1 As shown in the figure, the system primarily comprises four modules: data processing, spread calculation, interactive communication, and visualization rendering. The system uses Kafka message queues to enable real-time data transmission and command communication between the client and server. The client uses the OSG (OpenSceneGraph) graphics engine to dynamically visualize the tunnel model and the flooding process after a water inrush. It also dynamically displays the water spread and flooding process, simulating and predicting the water inrush spread path from a spatiotemporal dynamic visualization perspective.
[0056] This method differs from existing technologies in three key areas: dynamic well network updates, a recursive algorithm for descending water flow and an algorithm for terminating ascending water flow, and a bidirectional water inrush simulation model and unconstrained flow. The remaining components utilize existing technologies, such as graph data structures, recursive or stack implementations, depth-first and breadth-first search, and visualization techniques. The steps are described below:
[0057] Step 1: Construct the tunnel network topology. The measured mine data, including traverse points (Table 1) and tunnels (Table 2), are parsed into a tunnel topology network. The mathematical model of the topology network can be abstracted as an undirected graph G = (V, E), where V represents the node set, defined as V = {v1, v2, ..., vm}, with m = |V| representing the total number of nodes. The set E represents the edge set, denoted as E = {e1, e2, ..., en}, with n = |E| representing the total number of edges. To facilitate analysis and derivation in graph theory, this is often simplified to G = (V, E), and will be referred to simply as G in the following text. The adjacency list is used for storage, consisting of several headers and several nodes. The header contains the tunnel traverse point information and a pointer to the next adjacent node, denoted as Hi = (vi, first_adj_node(vi)). Each adjacency structure contains attribute information such as an adjacency point, tunnel length, cross-sectional area, flooding state, etc., and points to the next adjacency point. Therefore, the node can be recorded as Adj_Node(vj,vk) = {vk, length(vj,vk), area(vj,vk), flood_state(vj,vk),…, next_adj_node(vk)}. The detailed structure is as follows Figure 2 .
[0058] Table 1
[0059]
[0060] Table 2
[0061]
[0062] Step 2: Initialize the input and update the lane network; search the first and last endpoints Vsrc and Vdest of the specified lane ID in the adjacency table G = (V, E), remove the lane with Vsrc as the head node to Vdest Esd = E | {(Vsrc, Vdest)}, and also remove the lane with Vdest as the head node to Vsrc Eds = E | {(Vdest, Vsrc)}. Insert the water inrush point location Vstart as the head node, build the connection relationship from Vstart to Vsrc and Vdest respectively, and dynamically update the entire lane network. The updated lane network can be expressed as G' = (V', E'), where V' = V∪{Vstart} and E' = E∪{(Vstart, Vsrc), (Vstart, Vdest)}. Initialize the set visited = {vi∈V'|flood_state(vi) = 0} to mark the flooding state of the lane and initialize the global flooding queue. Used to store the flooded roadways in all recursive stacks in the entire roadway network. Initialize all cumulative elements in the cumulative quantity set cumulative = {volume = 0, time = 0,...}, which is used to track information such as the total volume and total time flooded during the entire recursive process, and maintain a set Used to record the status and results during the spreading process.
[0063] Step 3: If the global flooding queue And ∑cumulative < Lmax has not reached the specified cumulative quantity, process the flooded roadways Efloded = Q.pop() in the global queue one by one and pop them out, record the popped roadway into the stage set, denoted as stages = stages ∪ {Efloded}. And update the end node of Efloded as the new starting point Vstart.
[0064] Step 4: Determine whether there are roadways adjacent to the starting vertex Vstart and having a downward trend. If so, record the current starting point as the rising cut-off point and execute the water flow recursive descent algorithm from the current vertex to find all paths with a downward trend, obtaining several global or local lowest points. In the actual mine environment, the complexity of the roadway network far exceeds a single linear flow direction, especially when the water flow encounters multiple tree-like downward branch structures. Therefore, from the analysis of the hydrodynamic behavior under gravity drive, this method sorts the lowest points by comprehensively considering the slope and elevation difference as weight factors. If there is no downward path associated with the starting vertex in Step 4, trigger the rising spreading algorithm with the current point as the starting point. If the global queue Q is not empty, the cut-off point is the next unprocessed vertex in Q; otherwise, the cut-off point is -1, indicating unlimited upward water flow. The water flow recursive descent algorithm is as follows:
[0065] As Figure 3 shown, the water flow recursive descent algorithm can be simply understood as flowing from the water inrush point along the roadway system to several global or local lowest points in the mine. This spreading process only represents the flowing process rather than the flooding path. That is, when a large amount of water surges from the water inrush point and contacts multiple branches, it will first flow to the roadways with lower elevation, followed by the horizontal roadways at the same elevation connected to them, while the roadways with higher elevation will temporarily stop spreading. As the water flow continues to spread, the accumulated water in the roadways gradually accumulates until it reaches the local lowest points of several search paths, and the downward spreading of the water flow ends. The detailed algorithm design is as follows:
[0066] (1) Initialize the visited tag set visited to track the visit status of each node. Initialize the weight W to 0, create the set results(Vlow, Cweight) to store the final results, and create the set E to record the downward spreading path. The algorithm starts from the specified starting point Vcurrent and starts the recursive process by calling the FlowUtil function. The current node Vcurrent in the visited set is marked as "visited" to prevent the formation of a circular path backtracking during the recursive process and ensure that each node is visited only once.
[0067] (2) Obtain all adjacent nodes Vadj of the current node Vcurrent from the graph G = (V, E). For each adjacent node, check whether it has not been visited yet, and determine whether the elevation of the adjacent node is lower than or equal to the elevation of the current node. For adjacent nodes that meet the conditions, calculate the slope slope(Vcurrent, Vadj) and the elevation difference △h = h(Vcurrent) - h(Vadj), where △h>0 means that the water flow can spread downward along this path. From this, the cumulative slope elevation weight factor weight(slope, h) is calculated, and its definition is detailed in Formula 1-3. And record the current path to the set L, update the adjacent point vadj to vcurrent, and pass the weight information to the next step of the recursive call. By recursively calling FlowUtil, the algorithm continues to search for adjacent nodes. The slope elevation weight factor is defined as follows, where α1 is the coefficient that controls the influence of the slope, and α2 is the weight coefficient of the elevation difference.
[0068]
[0069] W(v current ,v adj )=W slope (v current ,v adj )+W height (v current ,v adj ) (3)
[0070] (3) If the current node does not have any unvisited adjacent nodes with lower elevations, it indicates that the water flow can no longer continue to spread downward along this path. At this point, the algorithm records the end point of the path and the cumulative weight information along the way in the results set, where the weight W = ∑w(vi,vj), (vi,vj)∈P. After the recursive call terminates, the algorithm resets the visit flag of the current node in visited to "unvisited" through the backtracking mechanism.
[0071] (4) As the backtracking phase of all recursive calls is completed, the recursive stack is gradually cleared, marking the end of the algorithm execution. At this point, the set E records all the downward spreading paths searched from the starting point, denoted as E = {P1, P2, …, Pk}; the set results stores the cumulative weight sum of all the lowest points found and their paths, denoted as results = {(Vmin1, W1), (Vmin2, W2), …, (Vminn, Wn)}.
[0072] Step 5: Once the gravity-driven water flow has finished spreading downward, the water level will begin to rise upward. This means executing the water flow rise termination algorithm from the sorted local lowest point as the starting point, with the end point being the rising end point recorded in step 4. During the algorithm execution, the visited set, cumulative amount, and global flooding queue Q are continuously updated, and the spread results are recorded and returned to the stage set. Figure 4 As shown, the water flow rising termination algorithm is described as follows:
[0073] (1) Input the starting point Vstart, the ending point Vend, and the cumulative value cumulative, and check whether the input data is legal. Create boundary conditions to specify the end time of water spread and initialize the flooding queue q = {(v1, v2), (v3, v4), ..., (vm, vn)} to store the tunnels currently being flooded. Push the starting vertex into the queue q as the self-loop edge (Vstart, Vstart). The starting point is logically regarded as the local lowest point in the mine.
[0074] (2) When the queue q is not empty, take out the head element T(src, dest) from the queue to check the termination condition. If the current water flow has spread to the elevation corresponding to the termination point or just flows back to the termination point, stop the algorithm and return to the current queue status.
[0075] (3) Update the end node dest of the head lane to the new starting point Vstart. Starting from the current starting point, search all adjacent points Vadj to determine the flooding status of each lane. During the search, lanes that are not flooded and are rising or extending horizontally are pushed into the queue; for lanes with a downward flow trend, their status is recorded in the set RE and delayed until (4) processing.
[0076] (4) For (3), when the water flow encounters a lane associated with the current vertex and with a downward trend again during the upward process, that is, when the set RE is not empty, a recursive operation will be triggered, and the current vertex will be updated to the starting vertex of step 4. Steps 4, 5, and 6 will be executed in sequence. The results of each round of recursion will be collected by the temporary queue tem_q and then merged into the global queue Q. The elements in the queue are sorted according to the elevation of the end node of the lane.
[0077] (5) Sort the lanes that enter the queue each time and the lanes that already exist in the queue according to the elevation of their end nodes. Prioritize the lanes with the lowest end elevation to maintain the upward trend of the water flow.
[0078] (6) After each queue operation, check the cumulative amount and the status of queue q. If the cumulative amount reaches the preset upper limit or all lanes have been processed, terminate the algorithm. Otherwise, repeat (2);
[0079] Step 6: Recursive termination condition; when the recursive process of the water flow has reached the preset condition, that is, the current water flow has spread to the corresponding end point when the starting position of the recursive stack, this round of recursion ends.
[0080] Step 7: Repeat step 2 and continue executing the main loop until the cumulative amount reaches the set threshold or all elements in the global queue Q are popped out. Then terminate the loop and output the final spreading result. The algorithm ends.
[0081] In order to test the algorithm and simulate the three-dimensional dynamic process of water inrush, this paper takes the measured data of a domestic coal mine as an example. Under the Windows operating system, the C++ development language is combined with the QT framework and the OSG visualization engine is used to complete the construction and visualization of all the tunnel three-dimensional models ( Figure 6 The constructed 3D model was used to simulate the water inrush spread process, enabling the development of a mine water inrush spread algorithm library and simulation system prototype. The spatiotemporal dynamics of the water inundation process after a water inrush event were simulated.
[0082] In this example, based on the developed simulation system, through the established tunnel model, by selecting the calculation parameters, water inrush point location, spread time, flow rate and termination conditions, the water level, water inrush speed, flow value of any mine tunnel at any time, as well as the flooded and flooding tunnels can be obtained. Figure 7 This figure illustrates the spread of water following a water inrush, starting at a point 25% of the way from the starting point of tunnel ID 661. Red indicates the currently flooded tunnel, while green indicates the tunnel currently being flooded. This simulation system not only provides technical support for visualizing the dynamic behavior of tunnel water flow but also provides a scientific basis for real-time monitoring and emergency response to mine flooding, further enhancing early warning and decision-making capabilities for water inrush events.
[0083] This embodiment also provides a tunnel water inrush spreading process simulation system, including:
[0084] Data conversion module, used to convert mine measured data into tunnel topology network;
[0085] An updating module is used to initialize the first endpoint, the last endpoint and the water inrush point position, establish a connection relationship between the first endpoint, the last endpoint and the water inrush point position, and update the lane topology network to obtain a global flooding queue;
[0086] An algorithm construction module is used to construct a water flow descending recursive algorithm and a water flow ascending termination algorithm, and simultaneously obtain a new water inrush point position based on the obtained global flooding queue;
[0087] A downward simulation module is used to input the new water inrush point position as a starting point into the water flow descending recursive algorithm to simulate the downward process of the water flow, and obtain the downward simulation result and the local minimum point;
[0088] an upward simulation module, configured to input the local lowest point as a starting point into the water flow rising termination algorithm to simulate the upward process of the water flow and obtain an upward simulation result;
[0089] The water inrush simulation module is used to construct a simulation result of the tunnel water inrush spreading process based on the downward simulation result and the upward simulation result.
[0090] The above are merely preferred embodiments of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A method for simulating the spread of water inrush in a tunnel, characterized in that: include: Convert the measured mine data into a tunnel topology network; Initializing the first endpoint, the last endpoint, and the location of the water inrush point, establishing a connection relationship between the first endpoint, the last endpoint, and the location of the water inrush point, and updating the lane topology network to obtain a global flooding queue; wherein the global flooding queue is used to store lanes that are being flooded in all recursive stacks in the entire lane network; Constructing a water flow descending recursive algorithm and a water flow ascending termination algorithm, and obtaining a new water inrush point position based on the obtained global flooding queue; The new water inrush point position is input as a starting point into the water flow descent recursive algorithm to simulate the descent process of the water flow, and obtain the descent simulation result and the local minimum point; Inputting the local lowest point as a starting point into the water flow rising termination algorithm to simulate the upward process of the water flow to obtain an upward simulation result; The simulation results of the tunnel water inrush spreading process are constructed based on the downward simulation results and the upward simulation results.
2. The method according to claim 1, characterized in that The process of converting the measured mine data into a tunnel topology network further includes: expressing the tunnel topology network in a storage manner using an adjacency table, wherein the adjacency table is composed of a plurality of table headers and a plurality of nodes; The table header contains lane traverse point information and a pointer to the next adjacent point; The node includes a neighbor point, tunnel length, cross-sectional area, flooding status, and points to the next neighbor point.
3. The method according to claim 2, characterized in that The process of obtaining the global flood queue includes: Searching the first and last endpoints of the specified lane ID in the adjacency table; Remove the lanes from the adjacency table that have the first endpoint as the head node to the last endpoint, and remove the lanes from the last endpoint as the head node to the first endpoint; The water inrush point position is inserted as the head node to respectively construct the connection relationship between the water inrush point position and the first endpoint and the last endpoint, and dynamically update the entire lane network, while initializing the set, initializing the global flooding queue and initializing the cumulative amount set.
4. The method according to claim 3, characterized in that The process of obtaining the global flooding queue also includes: if the global flooding queue is empty and the cumulative flooding amount is less than the preset maximum cumulative amount, a lane that is being flooded is popped out from the global flooding queue, the lane record value that is being flooded is added to the set, and the end node of the lane that is being flooded is set as a new starting point.
5. The method according to claim 1, wherein The operation process of the water flow descent recursive algorithm includes: initializing the access mark set, initializing the weight to 0, creating a set for storing the final result, recording the lowest point and the cumulative weight of its path, and creating a set for recording the downward spreading path; Starting from the specified starting point, the recursive process is started by calling the FlowUtil function; Obtain all adjacent nodes of the specified starting point, and for each adjacent node, check whether it has not been visited, and determine whether the elevation of the adjacent node is lower than or equal to the elevation of the current node; For adjacent nodes that meet the conditions, the slope and elevation difference are calculated, and the cumulative slope elevation weight factor is calculated based on the elevation difference; If the current node does not have any adjacent nodes with lower elevations and have not been visited, the end point of the path and the cumulative weight information along the way are recorded in the set to complete the simulation of the downward process of water flow in the roadway network.
6. The method according to claim 5, characterized in that The calculation expression of the cumulative slope elevation weight factor is: W(v current ,v adj )=W slope (v current ,v adj )+W height (v current ,v adj ); Among them, v current is the current node, v adj is the adjacent node, h current is the elevation of the current node, h adj is the elevation of the adjacent node, W slope is the slope weight factor, W height To mark the weight of Nizi, W(v current ,v adj ) is the cumulative slope elevation weight factor.
7. The method according to claim 1, characterized in that The operation process of the water flow rising termination algorithm includes: Enter the starting point, end point, and cumulative amount, create boundary conditions based on the water flow spread deadline, and initialize the flooding queue; Push the starting point as a self-loop edge into the flooding queue. When the flooding queue is not empty, take the head element from the queue to check the termination condition. If the current water flow has spread to the elevation above the end point or has flowed back to the end point, stop the algorithm and return to the current queue state. Update the end node of the first lane to the new starting point, and search all adjacent points from the current starting point to determine the flooding status of each lane; If the water flow encounters a lane associated with the current vertex and with a downward trend again during the rising process, a recursive operation is triggered, and the current vertex is updated to the starting vertex. The lanes that are queued each time and the lanes that already exist in the queue are sorted according to the elevation corresponding to their end nodes. After each queue operation, the cumulative amount and the queue status are checked. If the cumulative amount reaches the preset upper limit or all lanes have been processed, the algorithm is terminated.
8. A tunnel water inrush spreading process simulation system, characterized by: include: Data conversion module, used to convert mine measured data into tunnel topology network; An updating module is used to initialize the first endpoint, the last endpoint and the water inrush point position, establish a connection relationship between the first endpoint, the last endpoint and the water inrush point position, and update the lane topology network to obtain a global flooding queue; An algorithm construction module is used to construct a water flow descending recursive algorithm and a water flow ascending termination algorithm, and simultaneously obtain a new water inrush point position based on the obtained global flooding queue; A downward simulation module is used to input the new water inrush point position as a starting point into the water flow descending recursive algorithm to simulate the downward process of the water flow, and obtain the downward simulation result and the local minimum point; an upward simulation module, configured to input the local lowest point as a starting point into the water flow rising termination algorithm to simulate the upward process of the water flow and obtain an upward simulation result; The water inrush simulation module is used to construct a simulation result of the tunnel water inrush spreading process based on the downward simulation result and the upward simulation result.