Method based on Abaqus slope stability calculation and UE4 three-dimensional engine fusion

By constructing a geological slope model in Abaqus and combining it with the UE4 3D engine for dynamic rendering, the problem of limited visualization effect of Abaqus was solved, and efficient visualization of landslide stability calculations was achieved.

CN120597626APending Publication Date: 2025-09-05CHANGJIANG GEOTECHNICAL ENG CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510736360.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-04
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

Abaqus has limited visualization effects in landslide stability simulation analysis, and the simulation result data format is closed, making it difficult to effectively combine with professional rendering tools to improve the display effect.

Method used

By building a geological slope model in Abaqus, generating a job script and calling the batch processing service for calculation, parsing the calculation results and generating node, mesh and stress data, and combining it with the UE4 3D engine for dynamic rendering and display.

Benefits of technology

It achieves a deep integration of Abaqus' finite element computing capabilities and UE4's high-performance rendering technology, breaking the barrier between computing accuracy and visual effects, and providing a new visual display path for geological disaster simulation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120597626A_ABST
    Figure CN120597626A_ABST
Patent Text Reader

Abstract

The invention provides an Abaqus-based slope stability calculation and UE4 three-dimensional engine fusion method, which comprises the following steps: constructing a geological slope model in Abaqus, generating a corresponding job script job.py, calling the job script job.py through a batch processing service, and submitting the job script job.py to the Abaqus for calculation; analyzing a calculation result odb file, and generating corresponding data: a node array node, a mesh array meshs, stress arrays s1, s2 and s3 and deformation data ux, uy and uz; and calling a UE4 engine to read values of nodes and meshs to create a mesh grid, and defining different color ranges according to values of ux, uy, uz, s1, s2 and s3 to perform dynamic rendering display. According to the method, the excellent finite element calculation capability of the Abaqus and the excellent high-performance dynamic rendering technology of the UE4 are ingeniously combined, deep integration and advantage complementation of the Abaqus and the UE4 in function are achieved, the barrier between the calculation precision and the visual effect of traditional geological disaster simulation is broken through, and a brand new technical path is provided for analog simulation of geological disasters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of three-dimensional application technology, and more specifically, relates to a method based on the integration of Abaqus slope stability calculation and UE4 three-dimensional engine. Background Art

[0002] Abaqus is a powerful finite element software suite for engineering simulation. It can simulate the occurrence and development of landslides, including their deformation, failure, and trajectory. By setting appropriate material parameters, boundary conditions, and initial conditions, Abaqus can accurately predict the stability and failure modes of landslides.

[0003] UE4 (Unreal Engine 4) is a high-performance real-time 3D engine developed by Epic Games. UE4 uses advanced rendering technology to create realistic visual effects, including high dynamic range lighting, volumetric lighting, global illumination, etc., providing a rich visual experience for games and simulation applications.

[0004] Abaqus excels in landslide stability simulation and analysis, but its visualization capabilities are limited. Abaqus's native visualization tools cannot be directly integrated into applications, and the closed data format of simulation results further restricts the use of more specialized rendering tools to enhance the presentation. The current technical challenge is how to encapsulate the Abaqus simulation process into an application and dynamically visualize the simulation results using the powerful UE4 rendering engine. Summary of the Invention

[0005] The purpose of the present invention is to provide a method based on the fusion of Abaqus slope stability calculation and UE4 three-dimensional engine, so as to encapsulate the Abaqus simulation process into an application and dynamically display the simulation results through the powerful UE4 rendering visualization.

[0006] To achieve the above object, the present invention provides a method based on the integration of Abaqus slope stability calculation and UE4 three-dimensional engine, comprising the following steps: Construct a geological slope model in Abaqus, generate a corresponding job script job.py, call the job script job.py through the batch processing service, and submit it to Abaqus for calculation; Parse the calculation result odb file and generate the corresponding data: node array nodes, mesh grid array meshs, stress arrays s1, s2, s3 and deformation data ux, uy, uz; Call the UE4 engine to read the values ​​of nodes and meshes to create a mesh grid, and define different color ranges according to the values ​​of ux, uy, uz, s1, s2, and s3 for dynamic rendering and display.

[0007] Furthermore, the parsing of the calculation result odb file to generate corresponding data includes the following steps: Parse the node objects in the calculation result odb file, obtain the coordinates (index, x, y, z) of each point, and add them to the nodes array, where index is the index number of each point; Parse the cell object elements in the calculation result odb file and traverse each cell e; Parse the strain object U in the calculation result odb file, and read the x-axis strain ux, y-axis strain uy, and z-axis strain uz corresponding to each vertex in nodes; The strain object S in the calculation result odb file is parsed, wherein each value in S represents the stress value corresponding to each cell, and the cell stress value is converted into the value corresponding to the point.

[0008] Furthermore, the traversing of each cell includes the following steps: adding all mesh faces of the cell to a meshes array; traversing the meshes array, removing faces that appear more than twice, and leaving only faces that appear only once.

[0009] Furthermore, the mesh surface of the cell is generated in the following method: if the cell is a tetrahedron, the four vertices of the cell are set to n1, n2, n3, and n4, and mesh surfaces face1 (n1, n3, n2), face2 (n4, n1, n2), face3 (n4, n2, n3), and face4 (n4, n1, n3) are created.

[0010] Furthermore, the mesh surface of the cell is generated in the following method: if the cell is a hexahedron, the eight vertices of the cell are set to n1, n2, n3, n4, n5, n6, n7, and n8, and mesh surfaces face1 (n1, n4, n3, n2), face2 (n8, n5, n6, n7), face3 (n5, n1, n2, n6), face4 (n6, n2, n3, n7), face5 (n4, n8, n7, n3), and face6 (n5, n8, n4, n1) are created.

[0011] Furthermore, converting the cell stress value into a value corresponding to a point includes the following steps: Create an array values, the size of the array values ​​is the same as the size of the node array nodes; Traverse the strain object S, set each value in S to be object s, obtain the cell e through s, obtain all vertices of the cell through e, add the stress values ​​x, y, z in s to each vertex of the cell e, and add the result to the array values; The array values ​​is traversed to obtain a set of stress values ​​of each vertex, and then the average value is calculated to obtain stress values ​​s1, s2, and s3 of each vertex.

[0012] Compared with the prior art, the present invention has the following technical effects: The present invention provides a method based on the integration of Abaqus slope stability calculation and UE4 three-dimensional engine. By constructing a geological slope model in Abaqus and visually displaying it in the UE4 three-dimensional engine, the method of the present invention cleverly combines the excellent finite element calculation capabilities of Abaqus with the outstanding high-performance dynamic rendering technology of UE4, achieving deep functional integration and complementary advantages between the two, breaking the barrier between calculation accuracy and visual effects in traditional geological disaster simulation, and providing a new technical path for the simulation of geological disasters. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0014] Figure 1 A flowchart of a method for integrating Abaqus slope stability calculation with UE4 3D engine provided by an embodiment of the present invention; Figure 2 The unit cell provided in the embodiment of the present invention is a tetrahedron composition diagram; Figure 3 The unit cell provided in the embodiment of the present invention is a hexahedron composition diagram; Figure 4 A diagram of the boundary condition input interface provided by an embodiment of the present invention; Figure 5 This is a diagram of the finite element result display interface provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0015] In order to make the technical problems, technical solutions and beneficial effects to be solved by the present invention more clearly understood, the present invention is further described in detail below in conjunction with the embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0016] The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. The singular forms "a", "an", "the" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise.

[0017] The embodiment of the present invention provides a method based on the fusion of Abaqus slope stability calculation and UE4 three-dimensional engine, the process is as follows Figure 1 As shown, the following steps are included: (1) Construct a geological slope model in Abaqus, generate the corresponding job script job.py, call the job script job.py through the batch service and submit it to Abaqus for calculation; (2) Analyze the calculation result odb file and generate the corresponding data: node array nodes, mesh grid array meshs, stress arrays s1, s2, s3 and deformation data ux, uy, uz; (3) Call the UE4 engine to read the values ​​of nodes and meshes to create a mesh grid, and define different color ranges according to the values ​​of ux, uy, uz, s1, s2, and s3 for dynamic rendering and display.

[0018] In the above step (1), when constructing the geological slope model, a custom scenario can be added to input the boundary conditions of the geological slope working data, that is, to define the model boundary, such as the cumulative rainfall, water level and other data, such as Figure 4 shown.

[0019] In the above step (2), parsing the calculation result odb file and generating the corresponding data include the following steps: 1) Parse the nodes object in the calculation result odb file, obtain the coordinates (index, x, y, z) of each point, and add them to the nodes array, where index is the index number of each point; 2) Parse the cell object elements in the calculation result odb file, traverse each cell, and set the cell to e. The specific steps include: a. If e is a tetrahedron, then e has four vertices. Assume that the four vertices are: n1, n2, n3, and n4. Create mesh faces face1 (n1, n3, n2), face2 (n4, n1, n2), face3 (n4, n2, n3), and face4 (n4, n1, n3). For example Figure 2 shown.

[0020] b. If e is a hexahedron, then e has eight vertices. Assume that the eight vertices are: n1, n2, n3, n4, n5, n6, n7, and n8. Create mesh faces face1 (n1, n4, n3, n2), face2 (n8, n5, n6, n7), face3 (n5, n1, n2, n6), face4 (n6, n2, n3, n7), face5 (n4, n8, n7, n3), and face6 (n5, n8, n4, n1). Figure 3 shown.

[0021] c. Add all mesh faces to the meshes array.

[0022] d. Traverse the meshes and remove faces that appear more than twice, leaving only faces that appear only once.

[0023] 3) Analyze the strain object U in the calculation result odb file, and read the x-axis strain ux, y-axis strain uy, and z-axis strain uz corresponding to each vertex in nodes; 4) Analyze the strain object S in the calculation result odb file, where each value in S represents the stress value corresponding to each cell e, and convert the stress value of cell e into the value corresponding to the point. The specific steps are as follows: a. Create an array values, the size of which is the same as the size of the node array nodes; b. Traverse the strain object S, set each value in S to be object s, obtain cell e through s, obtain all vertices of cell e through e, add the stress values ​​x, y, z in s to each vertex of cell e, and add the result to values; c. Traverse values ​​to obtain the set of stress values ​​for each vertex, and then calculate the average value to obtain the stress values ​​s1, s2, and s3 for each vertex.

[0024] A method based on the fusion of Abaqus slope stability calculation and UE4 three-dimensional engine in an embodiment of the present invention constructs a geological slope model in Abaqus and visualizes it in the UE4 three-dimensional engine. The method in the embodiment of the present invention cleverly combines Abaqus's excellent finite element calculation capabilities and UE4's outstanding high-performance dynamic rendering technology, achieving deep functional integration and complementary advantages between the two, breaking the barrier between calculation accuracy and visual effects in traditional geological disaster simulation, and providing a new technical path for the simulation of geological disasters.

[0025] In an embodiment of the present invention, a method based on the fusion of Abaqus slope stability calculation and UE4 three-dimensional engine is implemented to input different boundary conditions into Abaqus for numerical analysis and calculation, and to perform visual display in the UE4 three-dimensional engine.

[0026] The following combination Figure 4 、 Figure 5 , a method based on the integration of Abaqus slope stability calculation and UE4 three-dimensional engine in an embodiment of the present invention is further described.

[0027] (1) Add a custom scene and input the working data of the geological landslide, including the accumulated rainfall, water level and other data, such as Figure 4 As shown, submit the job and push the job information to Abaqus.

[0028] (2) After the Abaqus program parses the job information, it obtains the water level and rainfall data, fills the data into the Abaqus script job.py, and starts the command "abaquscae script=job.py" to start the finite element calculation.

[0029] (3) After the Abaqus calculation is completed, an ODB result file is generated. All vertex nodes, all cell e, the strain values ​​ux, uy, uz of each vertex and the stress values ​​s1, s2, s3 of each cell e are obtained through the Abaqus API.

[0030] (4) Traverse all cells e, obtain all faces of e according to the type of cell e, and remove faces that appear twice, retaining the surface mesh of the model, that is, the mesh.

[0031] (5) Traverse the stress values ​​s1, s2, and s3 of each cell e and convert the stress value of each cell e into the stress values ​​s1, s2, and s3 of each vertex.

[0032] (6) Based on the vertex information nodes and mesh grid, call the UE4 interface to draw the three-dimensional model of the slope.

[0033] (7) Find the maximum and minimum values ​​of each group of s1, s2, s3, ux, uy, and uz, and render the model nodes in the range of [blue, red] according to the size of each group of values, such as Figure 5 shown.

[0034] The above embodiments merely illustrate several implementations of the present invention, and while their descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art would be able to make numerous modifications and improvements without departing from the spirit of the present invention, all of which fall within the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be determined by the appended claims.

Claims

1. A method based on the integration of Abaqus slope stability calculation and UE4 three-dimensional engine, characterized in that: The following steps are involved: Construct a geological slope model in Abaqus, generate a corresponding job script job.py, call the job script job.py through the batch processing service, and submit it to Abaqus for calculation; Parse the calculation result odb file and generate the corresponding data: node array nodes, mesh grid array meshs, stress arrays s1, s2, s3 and deformation data ux, uy, uz; Call the UE4 engine to read the values ​​of nodes and meshes to create a mesh grid, and define different color ranges according to the values ​​of ux, uy, uz, s1, s2, and s3 for dynamic rendering and display.

2. The method according to claim 1, characterized in that: The analysis of the calculation result odb file and the generation of corresponding data include the following steps: Parse the node objects in the calculation result odb file, obtain the coordinates (index, x, y, z) of each point, and add them to the nodes array, where index is the index number of each point; Parse the cell object elements in the calculation result odb file and traverse each cell e; Parse the strain object U in the calculation result odb file, and read the x-axis strain ux, y-axis strain uy, and z-axis strain uz corresponding to each vertex in nodes; The strain object S in the calculation result odb file is parsed, wherein each value in S represents the stress value corresponding to each cell, and the cell stress value is converted into the value corresponding to the point.

3. The method according to claim 2, characterized in that: The traversal of each cell includes the following steps: adding all mesh faces of the cell to a meshes array; traversing the meshes array, eliminating faces that appear more than twice, and leaving only faces that appear only once.

4. The method according to claim 3, characterized in that: The mesh faces of the cell are generated as follows: if the cell is a tetrahedron, the four vertices of the cell are set to n1, n2, n3, and n4, and mesh faces face1 (n1, n3, n2), face2 (n4, n1, n2), face3 (n4, n2, n3), and face4 (n4, n1, n3) are created.

5. The method according to claim 3, characterized in that: The mesh surface of the cell is generated as follows: if the cell is a hexahedron, the eight vertices of the cell are set to n1, n2, n3, n4, n5, n6, n7, and n8, and mesh surfaces face1 (n1, n4, n3, n2), face2 (n8, n5, n6, n7), face3 (n5, n1, n2, n6), face4 (n6, n2, n3, n7), face5 (n4, n8, n7, n3), and face6 (n5, n8, n4, n1) are created.

6. A method based on the fusion of Abaqus slope stability calculation and UE4 three-dimensional engine according to any one of claims 2 to 5, characterized in that: The converting of the cell stress value into a value corresponding to a point comprises the following steps: Create an array values, the size of the array values ​​is the same as the size of the node array nodes; Traverse the strain object S, set each value in S to be object s, obtain the cell e through s, obtain all vertices of the cell through e, add the stress values ​​x, y, z in s to each vertex of the cell e, and add the result to the array values; The array values ​​is traversed to obtain a set of stress values ​​of each vertex, and then the average value is calculated to obtain stress values ​​s1, s2, and s3 of each vertex.