Structural finite element stiffness equation parallel super-node sparse triangle solving method
By adopting the parallel supernode sparse triangle solution method in structural finite element analysis, the problem of low computing efficiency of traditional methods is solved, efficient calculation of aircraft structure analysis is realized, and optimized design of aircraft structure performance is supported.
Patent Information
- Application Number
- CN202510437259.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-09
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2045-04-09
AI Technical Summary
When the traditional sparse triangle solution method performs forward and reverse substitution, the computing efficiency is low, making it difficult to meet the demand for efficient analysis of aircraft structural strength design.
The parallel supernode sparse triangle solution method is adopted for structural finite element stiffness equations. By performing permutation operations on the load matrix, and using the supernode data structure for forward and reverse substitution, the triangular matrix solution and matrix multiplication and addition operations are used for parallel sparse triangle solution.
It greatly improves the efficiency of forward and reverse substitution, significantly improves the computing performance of structural finite element analysis, and supports efficient evaluation and design optimization of aircraft structural performance.
Smart Images

Figure CN119962321A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of structural finite element analysis, and in particular relates to a parallel super-node sparse triangle solution method for structural finite element stiffness equations. Background Art
[0002] Aircraft structural strength design aims to ensure that the aircraft can withstand the influence of various loads, vibrations, temperatures and other working environments during flight, avoid structural damage and maintain safe operation. Structural finite element analysis is widely used in static strength analysis and dynamic strength analysis of aircraft structures.
[0003] By performing sparse triangular solutions to the structural finite element stiffness equations, the structural displacement field can be obtained, which can be used for aircraft structural deformation analysis and aircraft structural dynamics analysis, etc., to support the quantitative evaluation of aircraft structural performance and guide aircraft structural design improvements. In the traditional sparse triangular solution process, when using the lower triangular matrix for forward substitution and reverse substitution, the matrix is usually updated column by column, which has low computational efficiency.
[0004] Therefore, it is desired to have a technical solution to overcome or at least alleviate at least one of the above-mentioned defects of the prior art. Summary of the invention
[0005] The purpose of this application is to provide a parallel super-node sparse triangle solution method for structural finite element stiffness equations to solve at least one problem existing in the prior art.
[0006] The technical solution of this application is: A parallel super-node sparse triangular solution method for structural finite element stiffness equations, comprising: Step 1: Perform finite element division on the aircraft structure, obtain the stiffness matrix and load matrix of the aircraft structure finite element model, and construct the structural finite element stiffness equation Ax = B ,in, A is the stiffness matrix, x is the displacement matrix, B is the load matrix; Step 2: Load Matrix B Perform the first row permutation operation; Step 3: Perform forward substitution based on the supernode data structure; Step 4: Perform reverse substitution based on the supernode data structure; Step 5: Load Matrix B Perform a second row permutation operation opposite to the first row permutation operation to obtain the displacement matrix x ; Step 6: According to the displacement matrix xConduct finite element analysis of aircraft structures.
[0007] In at least one embodiment of the present application, in step 1, finite element partitioning is performed on the aircraft structure to obtain a stiffness matrix and a load matrix of the finite element model of the aircraft structure, including: Perform finite element division on the aircraft structure to obtain a finite element model of the aircraft structure; Obtaining a unit stiffness matrix of the aircraft structure finite element model, and superimposing all the unit stiffness matrices to obtain a stiffness matrix; The external load of the aircraft structure is acquired, and the external load is mapped to the finite element nodes of the finite element model of the aircraft structure to obtain a load matrix.
[0008] In at least one embodiment of the present application, the aircraft structure is a fuselage or a wing box section.
[0009] In at least one embodiment of the present application, in step 2, the load matrix B Perform the first row permutation operation, including: Load matrix B The i Row, No. j Column Elements b ij Perform the first row replacement operation, and the row after replacement is located at iperm [ i ] line, j Column, where iperm is the stiffness matrix A The reverse permuted sequence obtained by METIS reordering; The loading matrix B Stored in dense column-major order.
[0010] In at least one embodiment of the present application, in step 3, performing a forward substitution based on a supernode data structure includes: The stiffness matrix A All supernodes in the J Add to the task pool and create multiple threads; judge B 1 is a 0 matrix, if not, for the load matrix B Perform a triangular matrix solve operation: ; Load matrix B Perform matrix multiplication and addition operations: ; Provide a temporary array for each thread TB , then it is transformed into: ; Perform atomic operations to obtain: ; in, B 1. B 2. B 3. B 4. B 5. B 6 are the load matrices B The fragment pointer, C 1. C 2. C 3. C 4. C 5. C 6 are super nodes J The fragment pointer of C 1 is a lower triangular matrix.
[0011] In at least one embodiment of the present application, in step 3, performing a forward substitution based on a supernode data structure further includes: Supplement the task pool and determine the super node J Whether all descendant supernodes of the parent supernode have completed the forward substitution task, if so, the parent supernode is added to the task pool.
[0012] In at least one embodiment of the present application, in step 4, performing a reverse substitution based on the supernode data structure includes: The stiffness matrix A All supernodes with 0 ancestor supernodes in J Add to the task pool and create multiple threads; Load matrix B Perform matrix multiplication and addition operations: ; Load matrix B Perform a triangular matrix solve operation: ; in, B 1. B 2. B 3. B 4. B 5. B 6 are the load matrices B The fragment pointer, C 1. C 2. C 3. C 4. C 5. C 6 are super nodes J The fragment pointer ofC 1 is a lower triangular matrix.
[0013] In at least one embodiment of the present application, in step 4, performing reverse substitution based on the supernode data structure further includes: Supplement the task pool and determine the super node J Whether all ancestor super nodes of the descendant super node have completed the reverse replacement task, if so, the descendant super node is added to the task pool.
[0014] In at least one embodiment of the present application, the supernode is determined J Whether all ancestor supernodes of the descendant supernode have completed the reverse replacement task, including: If the super node J The number of ancestor supernodes whose descendant supernode completes the reverse substitution task is equal to the number of all ancestor supernodes of the descendant supernode. J All ancestor supernodes of the descendant supernodes complete the reverse substitution task.
[0015] The invention has at least the following beneficial technical effects: The parallel super-node sparse triangular solution method of the structural finite element stiffness equation of the present application adopts triangular matrix solution and matrix multiplication and addition operations to perform a new parallel sparse triangular solution, taking super-nodes as units, and performing forward substitution and reverse substitution super-node by super-node, which greatly improves the efficiency of forward substitution and reverse substitution. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 is a flow chart of a method for solving a structural finite element stiffness equation in parallel with super nodes and sparse triangles according to an embodiment of the present application; Figure 2 It is a schematic diagram of forward substitution based on a supernode data structure according to an implementation mode of the present application; Figure 3 It is a schematic diagram of reverse substitution based on a supernode data structure according to an implementation mode of the present application. DETAILED DESCRIPTION
[0017] In order to make the purpose, technical scheme and advantages of the implementation of this application clearer, the technical scheme in the embodiment of this application will be described in more detail below in conjunction with the drawings in the embodiment of this application. In the drawings, the same or similar reference numerals throughout represent the same or similar elements or elements with the same or similar functions. The described embodiments are part of the embodiments of this application, not all of them. The embodiments described below with reference to the drawings are exemplary and are intended to be used to explain this application, and should not be construed as limitations on this application. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application. The embodiments of this application are described in detail below in conjunction with the drawings.
[0018] In the description of the present application, it should be understood that the terms "center", "longitudinal", "lateral", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as limiting the scope of protection of the present application.
[0019] The following is combined with Figures 1 to 3 This application is described in further detail.
[0020] This application provides a parallel super-node sparse triangular solution method for structural finite element stiffness equations, such as Figure 1 As shown, the following steps are included: Step 1: Perform finite element division on the aircraft structure, obtain the stiffness matrix and load matrix of the aircraft structure finite element model, and construct the structural finite element stiffness equation Ax = B ,in, A is the stiffness matrix, x is the displacement matrix, B is the load matrix; Step 2: Load Matrix B Perform the first row permutation operation; Step 3: Perform forward substitution based on the supernode data structure; Step 4: Perform reverse substitution based on the supernode data structure; Step 5: Load Matrix B Perform a second row permutation operation opposite to the first row permutation operation to obtain the displacement matrix x ; Step 6: According to the displacement matrix x Conduct finite element analysis of aircraft structures.
[0021] The parallel super-node sparse triangular solution method for the structural finite element stiffness equation of the present application, in step 1, performs finite element partitioning on the aircraft structure to obtain the stiffness matrix and load matrix of the finite element model of the aircraft structure, specifically including: Perform finite element division on the aircraft structure to obtain a finite element model of the aircraft structure; Obtain the unit stiffness matrix of the aircraft structure finite element model, superimpose all unit stiffness matrices to obtain the stiffness matrix; The external loads of the aircraft structure are obtained, and the external loads are mapped to the finite element nodes of the aircraft structure finite element model to obtain the load matrix.
[0022] In this embodiment, the aircraft structure is a fuselage or a wing box section.
[0023] The parallel super-node sparse triangle solution method for the structural finite element stiffness equation of the present application is used for the structural finite element stiffness equation. Ax = B , according to the lower triangular matrix and upper triangular matrix obtained by numerical decomposition in the Cholesky decomposition process, two substitution solving processes are performed from front to back and from back to front respectively, and the solution of the equation can be obtained. For Cholesky decomposition, due to symmetry, only the lower triangular matrix needs to be decomposed, and both the forward substitution and the reverse substitution are performed on the lower triangular matrix. Before the substitution solution is performed, the numerical decomposition has been completed, and the data is saved in the form of block super nodes.
[0024] The parallel super-node sparse triangular solution method of the structural finite element stiffness equation in this application is based on the stiffness matrix A After the METIS reordering, it undergoes a symmetric permutation operation. Therefore, in order to obtain the correct solution to the equation, the right-hand side load matrix B It is also necessary to compare with the stiffness matrix A Same row permutation operation.
[0025] Specifically, in step 2, the load matrix B Perform the first row permutation operation, including: Load matrix B The i Row, No. j Column Elements b ij Perform the first row replacement operation, and the row after replacement is located at iperm [ i ] line, j Column, where iperm is the stiffness matrix A The reverse permuted sequence obtained by METIS reordering; The loading matrix B Stored in dense column-major order.
[0026] The parallel super-node sparse triangular solution method of the structural finite element stiffness equation of the present application proposes a parallel forward substitution algorithm and a parallel reverse substitution algorithm based on dense matrix operations in order to make full use of the characteristics of super-nodes. Its core operations are completed by high-performance multi-threaded three-level BLAS functions and LAPACK function subroutines dgemm() and dtrsm(), and the task pool adopts OpenMP task pool.
[0027] In a preferred embodiment of the present application, in step 3, a forward substitution based on a supernode data structure is performed, including: The stiffness matrix A All supernodes in the J Add to the task pool and create multiple threads; judge B 1 is a 0 matrix, if not, for the load matrix B Perform a triangular matrix solve operation: (1) Load matrix B Perform matrix multiplication and addition operations: (2) Provide a temporary array for each thread TB , then it is transformed into: (3) Perform atomic operations to obtain: (4) in, B 1. B 2. B 3. B 4. B 5. B 6 are the load matrices B The fragment pointer, C 1. C 2. C 3. C 4. C 5. C 6 are super nodes J The fragment pointer of C 1 is a lower triangular matrix.
[0028] like Figure 2 As shown in the figure, in the initial stage, any supernode without descendant supernodes can start forward substitution. When executing the forward substitution corresponding to a supernode, the fragment pointer C 1 The corresponding fragment pointer B1 part does not have the possibility of multiple threads operating simultaneously, so there will be no data competition in the triangular matrix solution operation. However, due to the load matrices corresponding to the non-zero elements below the diagonal of different supernodes B Some of them may overlap, so data competition may occur. In this case, a temporary array needs to be provided for each thread. TB , and initialize its original data to 0, and then change equation (2) to equation (3). After the calculation is completed, atomic operations can be used to avoid data competition.
[0029] In this embodiment, the parallel forward substitution algorithm is as follows:
[0030] When you have completed the supernode J After the forward replacement task, the task pool is replenished. When adding tasks to the task pool, it is necessary to determine the super node J The parent supernode of P [ J ] all descendant super nodes have completed the corresponding forward substitution task, if so, the parent super node P [ J ] is added to the task pool. In addition, since the right-hand side loading matrix B It is usually sparse, so before solving triangular matrices and performing matrix multiplication and addition operations, it is necessary to determine the fragment pointer B 1 is a 0 matrix. If so, no further operations are required.
[0031] In the preferred embodiment of the present application, the reverse substitution is similar to the forward substitution, except that the update order is from N The -1 column is updated to the 0 column, and the process is reversed from the back to the front. Specifically, in step 4, a reverse substitution based on the supernode data structure is performed, including: The stiffness matrix A All supernodes with 0 ancestor supernodes in J Add to the task pool and create multiple threads; Load matrix B Perform matrix multiplication and addition operations: (5) Load matrix B Perform a triangular matrix solve operation: (6) in, B 1. B 2. B 3. B 4. B 5. B 6 are the load matrices BThe fragment pointer, C 1. C 2. C 3. C 4. C 5. C 6 are super nodes J The fragment pointer of C 1 is a lower triangular matrix.
[0032] For the reverse substitution of supernode J, a matrix multiplication and addition operation is first performed, and then a triangular matrix solution operation is performed.
[0033] like Figure 3 As shown, in the initial stage, the stiffness matrix should be A All supernodes that have no ancestor supernodes J Add to the task pool. Since each operation only changes the supernode fragment pointer C 1 The corresponding fragment pointer B 1, so there will be no data contention problem in matrix multiplication and addition and triangular matrix solving operations.
[0034] In this embodiment, the parallel reverse substitution algorithm is as follows:
[0035] When you have completed the supernode J After the reverse replacement task, the task pool is replenished. When adding tasks to the task pool, the super node J have SJ_N [ J ] descendant super nodes, for super nodes J Descendant supernodes SJ [ J ][ k ], only when the descendant supernode SJ [ J ][ k ] can be put into the task pool only after all its ancestor supernodes have completed the reverse substitution task. J Descendant supernodes SJ [ J ][ k ] have completed the reverse replacement task, including: if the super node J Descendant supernodes SJ [ J ][ k ]The number of ancestor supernodes that complete the reverse substitution task is equal to the number of descendant supernodes SJ [ J ][ k ] is the number of all ancestor supernodes, then the supernode J Descendant supernodes SJ [ J ][ k ] all ancestor supernodes complete the reverse substitution task.
[0036] The parallel super-node sparse triangular solution method of the structural finite element stiffness equation of the present application, after the forward substitution and the reverse substitution are completed, the solution of the equation is already included in the load matrix B To obtain the final solution to the equation, we only need to recalculate the load matrix B Just perform a row permutation operation opposite to the row permutation operation in step 2.
[0037] The parallel super-node sparse triangular solution method of the structural finite element stiffness equation of the present application, finally, in step six, according to the equation solution of the structural finite element stiffness equation obtained, that is, the displacement matrix x , conduct aircraft structure finite element analysis, thereby realizing aircraft structure performance evaluation, supporting aircraft structure design optimization, safety verification, maintenance plan formulation and other aspects, which is crucial to ensuring the safe, efficient and economical operation of the aircraft.
[0038] The parallel super-node sparse triangular solution method of the structural finite element stiffness equation in this application is based on the stiffness matrix A The supernode data structure of the load matrix is denoted by supernodes. When performing forward substitution and reverse substitution, the load matrix is denoted by supernodes. B Updated, using triangular matrix solving and matrix multiplication and addition operations for new parallel sparse triangular solving, using high-performance multi-threaded level 3 BLAS functions and LAPACK function subroutines dgemm() and dtrsm() for dense matrix operations, giving full play to the computing potential of computer cache. In addition, combined with the OpenMP task pool, the parallel potential of the calculation is maximized, with excellent computing efficiency.
[0039] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A parallel super-node sparse triangular solution method for structural finite element stiffness equations, characterized in that: include: Step 1: Perform finite element division on the aircraft structure, obtain the stiffness matrix and load matrix of the aircraft structure finite element model, and construct the structural finite element stiffness equation Ax = B ,in, A is the stiffness matrix, x is the displacement matrix, B is the load matrix; Step 2: Load Matrix B Perform the first row permutation operation; Step 3: Perform forward substitution based on the supernode data structure; Step 4: Perform reverse substitution based on the supernode data structure; Step 5: Load Matrix B Perform a second row permutation operation opposite to the first row permutation operation to obtain the displacement matrix x ; Step 6: According to the displacement matrix x Conduct finite element analysis of aircraft structures.
2. The parallel super-node sparse triangle solution method for the structural finite element stiffness equation according to claim 1 is characterized in that: In step 1, the aircraft structure is divided into finite elements to obtain the stiffness matrix and load matrix of the aircraft structure finite element model, including: Perform finite element division on the aircraft structure to obtain a finite element model of the aircraft structure; Obtaining a unit stiffness matrix of the aircraft structure finite element model, and superimposing all the unit stiffness matrices to obtain a stiffness matrix; The external load of the aircraft structure is acquired, and the external load is mapped to the finite element nodes of the finite element model of the aircraft structure to obtain a load matrix.
3. The parallel super-node sparse triangle solution method for the structural finite element stiffness equation according to claim 2 is characterized in that: The aircraft structure is a fuselage or a wing box section.
4. The parallel super-node sparse triangle solution method for the structural finite element stiffness equation according to claim 1 is characterized in that: In step 2, the load matrix B Perform the first row permutation operation, including: Load matrix B The i Row, No. j Column Elements b ij Perform the first row replacement operation, and the row after replacement is located at iperm [ i ] line, j Column, where iperm is the stiffness matrix A The reverse substitution sequence obtained by METIS reordering; The loading matrix B Stored in dense column-major order.
5. The parallel super-node sparse triangle solution method for the structural finite element stiffness equation according to claim 4 is characterized in that: In step 3, a forward substitution based on the supernode data structure is performed, including: The stiffness matrix A All supernodes in the J Add to the task pool and create multiple threads; judge B 1 is it a 0 matrix, if not, for the load matrix B Perform a triangular matrix solve operation: ; Load matrix B Perform matrix multiplication and addition operations: ; Provide a temporary array for each thread TB , then it is transformed into: ; Perform atomic operations to obtain: ; in, B 1. B 2. B 3. B 4. B 5. B 6 are the load matrices B The fragment pointer, C 1. C 2. C 3. C 4. C 5. C 6 are super nodes J The fragment pointer of C 1 is a lower triangular matrix.
6. The parallel super-node sparse triangle solution method for the structural finite element stiffness equation according to claim 5 is characterized in that: In step 3, a forward substitution based on the supernode data structure is performed, which also includes: Supplement the task pool and determine the super node J Whether all descendant supernodes of the parent supernode have completed the forward substitution task, if so, the parent supernode is added to the task pool.
7. The parallel super-node sparse triangle solution method for the structural finite element stiffness equation according to claim 6 is characterized in that: In step 4, reverse substitution based on the supernode data structure is performed, including: The stiffness matrix A All supernodes with 0 ancestor supernodes in J Add to the task pool and create multiple threads; Load matrix B Perform matrix multiplication and addition operations: ; Load matrix B Perform a triangular matrix solve operation: ; in, B 1. B 2. B 3. B 4. B 5. B 6 are the load matrices B The fragment pointer, C 1. C 2. C 3. C 4. C 5. C 6 are super nodes J The fragment pointer of C 1 is a lower triangular matrix.
8. The parallel super-node sparse triangle solution method for the structural finite element stiffness equation according to claim 7 is characterized in that: In step 4, reverse substitution based on the supernode data structure is performed, which also includes: Supplement the task pool and determine the super node J Whether all ancestor super nodes of the descendant super node have completed the reverse replacement task, if so, the descendant super node is added to the task pool.
9. The parallel super-node sparse triangle solution method for the structural finite element stiffness equation according to claim 8, characterized in that: Determine super node J Whether all ancestor supernodes of the descendant supernode have completed the reverse replacement task, including: If the super node J The number of ancestor supernodes whose descendant supernode completes the reverse substitution task is equal to the number of all ancestor supernodes of the descendant supernode. J All ancestor supernodes of the descendant supernodes complete the reverse substitution task.
Citation Information
Patent Citations
Method for optimizing structural parameters based on symbolic operation results of sparse matrix
CN107944189A
Sparse triangular matrix heterogeneous parallel solving method and system for power flow calculation
CN119006221A
GPU-based sparse triangle solution parallel optimization method and system
CN119622172A
Method and program for structure analysis by finite element method
US20090012751A1