Next Article in Journal
Evaluating Image DNA Techniques for Filtering Unauthorized Content in Large-Scale Social Platforms
Previous Article in Journal
From Vine to Wine: Non-Colored Flavonoids as Fingerprints
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Parallel Direct Solution of Flexible Multibody Systems Based on Block Gaussian Elimination

1
School of Mechanical Engineering, Chengdu University, Chengdu 610106, China
2
National Key Laboratory of Plasma Physics, Laser Fusion Research Center, Chinese Academy of Engineering Physics, Mianyang 621900, China
3
School of Aerospace Engineering, Tsinghua University, Beijing 100084, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2025, 15(8), 4541; https://doi.org/10.3390/app15084541
Submission received: 23 October 2024 / Revised: 5 April 2025 / Accepted: 17 April 2025 / Published: 20 April 2025

Abstract

:
This paper proposes a parallel direct solution of flexible multibody systems based on block Gaussian elimination. The Craig–Bampton method is utilized to model flexible bodies within the multibody system, resulting in a reduction in the size of the system equations. To address the time integration problem, an implicit stiff scheme is adopted to obtain large time step sizes. When forming the linearized systemic equations, global sparsity in the Jacobian matrix and similar local sparsity in submatrices can be observed. Subsequently, block Gaussian elimination is introduced for the direct solution of these linearized equations. The algorithm is designed to be parallelizable at the algorithm level, with a specific processing order for the submatrices of the constraints. The stability of the method is guaranteed by the positive definite and symmetric properties in the diagonal matrices in the Craig–Bampton method. The parallel efficiency and numerical stability of the method are confirmed through numerical examples in homemade codes parallelized by OpenMP.

1. Introduction

Analysis, design, and optimization of complex flexible multibody systems (FMBS) are often limited by computational efficiency [1]. A potential solution is to develop a modeling method that offers high precision with a reduced number of degrees of freedom (DOFs) and, subsequently, address it using parallel computation.
To reduce the DOFs of flexible parts in multibody systems, the component mode synthesis (CMS) [2,3] methods are widely utilized, where the floating frame of reference (FFR) [2,4] and modal coordinates are introduced to express a flexible body. Among the CMS methods, the fixed-interface Craig–Bampton (CB) method [5,6] is extensively popular. The CB method preserves boundary modes, typically resulting in higher accuracy than the free-interface Craig–Chang method [7,8,9]. Despite this, numerous extensions and improvements have been suggested to enhance the CB method’s precision. Notably, we consider residual flexibility as one of the most successful strategies, which is known as the enhanced Craig–Bampton (ECB) method proposed by Kim [10,11,12,13].
To enhance computational efficiency, large time integration step sizes and high single-step efficiency are typically desired. Implicit methods for solving stiff problems, such as the backward difference formulas (BDFs) [14], can achieve these large step sizes. The resulting nonlinear algebraic equations [2] can then be linearized and solved iteratively [1], for instance, using the Newton iteration as shown by Yang [15].
Parallelization techniques have been adopted in these processes by researchers, aiming for higher efficiency. The assembly process can commonly be significantly accelerated through parallelization, which includes the calculation of general forces, their Jacobian matrices, component modes, and stress recovery. For instance, Park [16] exploited the modular features of the FMBS to achieve active control and real-time applications. Cao [17] computed the residual vector and Jacobian matrix in parallel using OpenMP [18] in a large diesel engine analysis. Negrut [19,20] combined CPU and GPU parallelization to compute contact forces and the contact Jacobian matrix in scenarios with many contacts in multibody systems. Pařík, Kim et al. [21] exploited the substructure independence to obtain a parallel approach for the ECB method. Cros [22] and Murthy [23] applied parallelization in modes generating and component stress recovery for the CB method and some CMS method, respectively. Motivated by the ideal parallelization efficiency in this process, domain decomposition methods have been introduced to divide large FMBS into smaller substructures for better parallelization, as suggested by Li [24], Featherstone [25], Dewes [26], and Cano [27].
After assembly, the linearized systemic equations must be solved. As Wasfy and Noor pointed out in their review [28], parallelizing an implicit and direct solution process is significantly challenging. This is due to the need for decomposing the Jacobian matrix, which involves interdependent operations. Typically, parallel operations can only be performed within a single column, such as within the LU decomposition. Although commercial parallel direct solvers like PARDISO can be used [17], the numerical stability and efficiency for different FMBS models are somehow unclear.
Indeed, the Jacobian matrices generated by the CB method possess unique block sparse structures that have not been fully exploited in current calculation schemes. By leveraging these characteristics and employing the block Gaussian elimination (BGE) method [29,30], we propose an algorithm-level parallel scheme for the direct solution of linearized systemic equations. In the proposed scheme, the Jacobian matrix is eliminated into a small subspace of Lagrange multipliers in a block-wise and fully parallel manner. Once the Lagrange multipliers are resolved, the reverse substitution can also be executed in full parallel. Moreover, by considering the matrix bandwidth, the block matrix sparsity can be retained with specific block order arrangement. The numerical stability is guaranteed by the BGE stability criterion.
This paper is arranged as follows. Section 2 details the formulation of multibody systems, with flexible components modeled by the Craig–Bampton method. Procedure details of algebraic-differential governing equations, implicit integration scheme, equation linearization and assembly, DOFs reduction by the Craig–Bampton method, rigid modes removing and modes orthogonalization, and flexible body formulation under floating frame of reference are illustrated sequentially. In Section 3, we propose a parallel direct solution scheme based on block Gaussian elimination. Coordinate reordering is applied to generate a small bandwidth within the Jacobian matrix and its submatrices, and the feasibility of the sub-block Jacobian matrix is studied. The block and sparse features of the presented Jacobian matrix are deeply investigated, and subsequently, we introduce the block Gaussian elimination method to solve the linear equations at an algorithmic level of parallelism. Section 4 verifies the effectiveness and efficiency of the algorithm through numerical examples, which include the vibration of an aeroengine stator system and the rotation of a crank-slider mechanism.

2. Flexible Multibody Formulation with the Craig–Bampton Method

This section details the flexible multibody formulation with the Craig–Bampton method. For system governing equations, the Lagrange equations of the first kind are adopted for convenience of code implementation. The resulting algebraic-differential equations are time-discretized using the implicit integration method, specifically backward difference formulas, to accommodate large time step sizes. The flexible body formulation using the Craig–Bampton method is then detailed, encompassing the DOFs reduction process and the generation of mass and stiffness matrices. In a subsequent section, a feature study of these matrices is the prerequisite for the presented algorithm-level parallel.

2.1. Time Integration Procedures of Flexible Multibody Systems

2.1.1. System Governing Equations

The Lagrange equations of the first kind are utilized to express the governing equations of the flexible multibody system [2] as
d d t L ( ξ , ξ ˙ ) ξ L ( ξ , ξ ˙ ) ξ + c ξ T λ = τ , c ξ = 0 ,
wherein ξ is the general displacement of the bodies, L = T V denotes the Lagrange function with the system’s kinetic energy T and potential energy V , τ is the general force vector of the external loads, c is a set of complete constraint equations that are solely dependent on the general displacement ξ , and λ corresponds to the Lagrangian multipliers of the constrains.
The constraints between bodies are explicitly expressed by the algebraic equations c ξ = 0 in Equation (1). This facilitates convenient computer coding. However, the variable λ has the same magnitude as the constraint forces and often introduces numerical problems due to its large difference in magnitude compared to the general displacement variable ξ . This issue can be effectively resolved by multiplying the constraint equations c ξ = 0 by a scale factor a to balance the magnitudes between ξ and λ , as follows:
d d t L ( ξ , ξ ˙ ) ξ L ( ξ , ξ ˙ ) ξ + a c ξ T λ = τ , a c ξ = 0 .
A method for calculating the scale factor a has been detailed in the authors’ previous work [31], and readers are encouraged to consult it for further information. Since Equation (2) does not differ fundamentally from Equation (1), we still use Equation (1) instead of Equation (2) by taking c as a c in Equation (1).
In Equation (1), the Lagrange function relating terms are actually the general inertial forces F iner and general elastic forces F elas , and they are the internal forces within the bodies. By separating them from the external forces τ and constraint forces c ξ T λ , the system governing equation can be rewritten as
F iner ( ξ , ξ ˙ , ξ ¨ ) + F elas ( ξ ) = τ ( ξ , ξ ˙ ) c ξ T ( ξ ) λ , c ( ξ ) = 0 ,
wherein c ξ T is the abbreviation of ( c / ξ ) T .

2.1.2. Time Integration Scheme

To solve the algebraic-differential Equation (3), we need to apply a time integration to convert the general velocity ξ ˙ and acceleration ξ ¨ into displacement ξ at the time integration steps. Since multibody problems are typically stiff, meaning that the system responses contain both low and high frequencies simultaneously, the stiff integrator—backward difference formulas (BDFs) is utilized in this paper.
For simplicity, we use a constant step size h and the first-order BDFs to demonstrate the integration process. To avoid confusion, we also employ a right superscript within parentheses ( n ) to denote variable values at the discrete time t = n h , such as ξ ( n ) ξ t = n h and λ ( n ) λ t = n h . Assuming the previous n 1 time steps are known and the n th time step needs to be computed, the general velocity and acceleration can be expressed in terms of displacement as
ξ ˙ ( n ) = ξ ( n ) ξ ( n 1 ) h f v ( ξ ( n ) ) , ξ ¨ ( n ) = ξ ˙ ( n ) ξ ˙ ( n 1 ) h = ξ ( n ) 2 ξ ( n 1 ) + ξ ( n 2 ) h 2 f a ( ξ ( n ) ) ,
wherein f v represents the velocity’s algebraic function and f a represents the acceleration’s algebraic function.
Readers may notice that Formula (4) is not applicable when n = 1 , where ξ ( 1 ) is requested in forming ξ ¨ ( 1 ) . A possible solution is to estimate ξ ( 1 ) using the Taylor series as
ξ ( 1 ) = ξ ( 0 ) ξ ˙ ( 0 ) h + ξ ¨ ( 0 ) h 2 2 + o ( h 2 ) ,
wherein ξ ( 0 ) and ξ ˙ ( 0 ) are given by the initial conditions and ξ ¨ ( 0 ) can be calculated by solving the system Equation (3) at time t = 0 .
By substituting Equation (4) into Equation (3), nonlinear algebraic equations at the time step t = n h with unknown variables ξ ( n ) and λ ( n ) are obtained as
F iner ξ ( n ) , f v ( ξ ( n ) ) , f a ( ξ ( n ) ) + F elas ξ ( n ) = τ ξ ( n ) , f v ( ξ n h ) c ξ T ( ξ ( n ) ) λ ( n ) , c ( ξ ( n ) ) = 0 ,
wherein the nonlinearity may arise from the expression of F iner , F elas , τ , and c .

2.1.3. Equation Linearization and Assembly

The nonlinear algebraic Equation (6) can then be linearized and solved iteratively, for instance, using the Newton iteration, as shown in our previous work [15].
To start the Newton iteration, an initial guess close enough is needed for ξ ( n ) . With the first-order constant step BDFs, the initial guess of the differential variable ξ ( n ) is simply given by the same order extrapolation formula as
ξ ( n , 0 ) = 2 ξ ( n 1 ) ξ ( n 2 ) ,
wherein the two numbers in the right superscript, enclosed by parenthesis ( n , j ) , represent the results of the j th iteration for the n th time step. Consequently, ξ ( n , 0 ) represents the initial value in the iteration for the n th time step.
The Lagrange multipliers are not differentiable with respect to time, and the initial guess is set to zero as
λ ( n , 0 ) = 0 .
We rewrite the nonlinear Equation (6) on one side to obtain their residual form:
b ( ξ ( n ) ) F iner ξ ( n ) , f v ( ξ ( n ) ) , f a ( ξ ( n ) ) + F elas ξ ( n ) τ ξ n h , f v ( ξ n h ) + c ξ T ( ξ ( n ) ) λ ( n ) = 0 , c ( ξ ( n ) ) = 0 ,
and the Newton iteration is given by
b ξ ( n ) c ξ ( n ) T c ξ ( n ) 0 Δ ξ ( n , j ) Δ λ ( n , j ) = b ( ξ ( n , j ) ) c ( ξ ( n , j ) ) ,
wherein
b ξ ( n ) = F iner ξ + F iner ξ ˙ f v ξ ( n ) + F iner ξ ¨ f a ξ ( n ) + F elas ξ τ ξ τ ξ ˙ f v ξ ( n ) + c ξ T λ ( n ) ξ .
Typically, the second-order differential term c ξ T λ ( n ) ξ is omitted in Formula (11) to ensure the stability of the Newton iteration because of the quick variation in the variable λ ( n ) . Utilizing the time discrete Formula (4), we have
f v ξ ( n ) = 1 h , f a ξ ( n ) = 1 h 2 ,
and denote the linearized general mass, damping, and stiffness matrices of the bodies as
M F iner ξ ¨ , C F iner ξ ˙ , K F elas ξ + F iner ξ ,
The Newton iteration (10) for the nonlinear Equation (9) is rewritten as
M h 2 + C h + K τ ξ + 1 h τ ξ ˙ c T ξ c ξ 0 ( n , j ) Δ ξ ( n , j ) Δ λ ( n , j ) = b c ( n , j ) ,
wherein the Jacobian matrix and the right-hand terms are calculated at variables ξ ( n , j ) and λ ( n , j ) . The terms related to the external forces τ are enclosed with parenthesis.
After Δ ξ ( n , j ) and Δ λ ( n , j ) are solved by a linear solver, the iteration proceeds from j to j + 1 as
ξ ( n , j + 1 ) = ξ ( n , j ) + Δ ξ ( n , j ) ,
until the following convergence errors are satisfied:
| | Δ ξ ( n , j ) | | e ξ , | | Δ λ ( n , j ) | | e λ , | | b ( n , j ) | | e b , | | c ( n , j ) | | e c ,
wherein | | | | represents an arbitrary given norm and e ξ , e λ , e b , and e c are the corresponding error thresholds for displacement variables, constraint forces, body equation residuals, and constraint equation residuals, respectively.
Let the system consist of m bodies and k constraints. Then, the system vector of body DOFs is ξ = ξ 1 ; ; ξ m , and the system vector of constraint multipliers is λ = λ 1 ; ; λ k . To assemble Equation (14), we need to calculate
K = diag ( K 1 , , K m ) , C = diag ( C 1 , , C m ) , M = diag ( M 1 , , M m ) , τ = τ 1 ; ; τ m ,
and
c = c 1 ; ; c k , c ξ = c 1 ξ ; ; c k ξ
wherein the subscript indicates which body or constraint the variable or matrix belongs to, while the semicolon “;” separates the components of a “column” vector. Additionally, diag ( ) signifies that the matrix is block-diagonally composed of submatrices.
Since the flexible bodies are modeled using the Craig–Bampton method in this paper, we will elaborate on how the general mass matrix M i and stiffness matrix K i   ( i = 1 , , m ) are computed in the subsection. The damping matrix C i may be omitted in an undamped case or be considered as a linear combination of M i and K i under a Rayleigh damping hypothesis.

2.2. Flexible Body Formulation with the Craig–Bampton Method

2.2.1. DOFs Reduction by the Craig–Bampton Method

To reduce the degrees of freedom (DOFs) of flexible parts in multibody systems, the component mode synthesis (CMS) [2,3] methods are widely utilized. In all CMS methods, the first step is to calculate the preserved modes of the flexible parts under specified boundary conditions. For the Craig–Bampton (CB) method [5,6], all interfaces for joint connections and force applications are fixed when calculating the inner flexible modes. Hence, the CB method is also referred to as a fixed-interface method. Only a few inner modes are preserved to reduce the DOFs of a flexible part. To express the connections and forces acting on the flexible body, static response modes for each boundary DOF are also calculated and preserved, which are known as the boundary modes. The boundary modes are indeed static equilibrium configurations of the flexible body when a single boundary DOF moves a unit displacement in its own direction.
Before performing the modes calculation of the flexible body i , we first separate the inner DOFs u i Λ and boundary DOFs u i Γ within the finite element (FE) formulation. Superscripts Λ and Γ denote the inner DOFs and boundary DOFs, respectively. Set u i = [ u i Γ ; u i Λ ] and rearrange the FE equations to obtain
K ¯ i Γ Γ K ¯ i Γ Λ K ¯ i Λ Γ K ¯ i Λ Λ K ¯ i u i Γ u i Λ + M ¯ i Γ Γ M ¯ i Γ Λ M ¯ i Λ Γ M ¯ i Λ Λ M ¯ i u ¨ i Γ u ¨ i Λ = f ¯ i 0 ,
wherein K ¯ i represents the stiffness matrix and M ¯ i represents the mass matrix. f ¯ i denotes the external forces applied to the boundary DOFs.
To obtain the inner modes, we fix the boundary DOFs and set u i Γ = u ¨ i Γ = f ¯ i = 0 in Equation (19) to obtain
K ¯ i Λ Λ u i Λ + M ¯ i Λ Λ u ¨ i Λ = 0 .
Then, the vibration Equation (20) is solved, and the first N i low-frequency modes φ ¯ i , j Λ           ( j = 1 , , N i ) are preserved for coordinates u i Λ . These modes are extended to the full DOFs u i , and we have the vibration modes matrix as follows:
Φ ¯ i vibr = 0 0 φ ¯ i , 1 Λ φ ¯ i , N i Λ .
Assuming the number of boundary DOFs for flexible body i is M i , a total of M i boundary modes need to be calculated. To obtain the j th boundary mode, we ignore the inertial force term and the external forces and set u i Γ = [ 0 ; ; 0 ; 1 ; 0 ; ; 0 ] with the only 1 at the j th coordinate in Equation (19) to obtain
k ¯ i , j Γ Γ k ¯ i , j Λ Γ + K ¯ i Γ Λ K ¯ i Λ Λ u i Λ = 0 0 , j = 1 , , M i .
wherein k ¯ i , j Γ Γ and k ¯ i , j Λ Γ are the j th column of K ¯ i Γ Γ and K ¯ i Λ Γ , respectively. By solving the static equilibrium Equation (22), we obtain the static equilibrium ψ ¯ i , j Λ   ( j = 1 , , M i ) for the coordinates u i Λ . Extending these results to the full DOFs u i in conjunction with the hypothesis u i Γ = [ 0 ; ; 0 ; 1 ; 0 ; ; 0 ] , we arrive at the boundary modes matrix as follows:
Φ ¯ i boun = I ψ ¯ i , 1 Λ ψ ¯ i , M i Λ .
With the inner vibration modes matrix Φ ¯ i vibr and the boundary modes matrix Φ ¯ i boun , a total of M i + N i modes are preserved for reduction in DOFs in the flexible body i . The preserved modes matrix is
Φ ¯ i = Φ ¯ i vibr Φ ¯ i boun .

2.2.2. Rigid Modes Removing and Modes Orthogonalization

However, there are two defects in the modes set (24). Firstly, rigid modes with zero frequency exist in the subspace generated by the boundary modes Φ i boun ; and secondly, the columns in Φ i boun are not orthogonal to those in Φ i vibr . Rigid modes are redundant because they have been accounted for by the floating frame of reference (FFR) coordinates, while modal orthogonality is essential for producing diagonal modal matrices of stiffness and mass.
To address the two issues, reorthogonalization can be applied. First, we project Equation (19) onto the subspace of Φ ¯ i by letting f ¯ i = 0 , substituting u i = Φ ¯ i q ¯ i , and multiplying Φ ¯ i T on the left side, resulting in
Φ ¯ i T K ¯ i Φ ¯ i q ¯ i + Φ ¯ i T M ¯ Φ ¯ i q ¯ ¨ i = 0 ,
wherein q ¯ i represents the redundant modal coordinates corresponding to modes Φ ¯ i . Secondly, we conduct a mode analysis on the projected vibration Equation (25) to derive the orthogonal modes [32]. By discarding zero-frequency modes and arranging the frequencies in descending order, the reorthogonalized non-zero-frequency modal matrix Φ ¯ ¯ i can fulfill the following unit orthogonal condition corresponding to the mass matrix:
Φ ¯ ¯ i T Φ ¯ i T M ¯ i Φ ¯ i Φ ¯ ¯ i = E n i , Φ ¯ ¯ i T Φ ¯ i T K ¯ i Φ ¯ i Φ ¯ ¯ i = Ω i 2 ,
wherein E n i represents the unit matrix with dimension n i = M i + N i 6 and Ω i 2 = diag ( ω i , 1 2 , , ω i , n i 2 ) is the diagonal matrix with non-zero modal circle frequencies ω i , 1 ω i , n i > 0 in descending order.
Then, the orthogonal non-zero-frequency elastic modes matrix of the CB method is
Φ i = Φ ¯ i Φ ¯ ¯ i φ i , 1 φ i , n i .
The FE displacement is then expressed by the modal coordinates q i = [ q i , 1 ; q i , 2 , ; q i , n i ] as
u i = Φ i q i ,
and the elastic vibration equations of flexible body i are diagonal:
Ω i 2 q i + q ¨ i = f i ,
wherein f i = Φ i T f ¯ i is the modal force of the external forces acting on the flexible body i .

2.2.3. Flexible Body Formulation Under Floating Frame of Reference

The orthogonal modes Φ i and the elastic coordinates q i describe the elastic vibration of the flexible body i , while the floating frame of reference (FFR) [2] can describe its overall spatial displacement and finite rotation.
Figure 1 shows the coordinates of flexible body i in the FFR. G represents the global coordinate frame, and B i presents the body coordinate frame (also the FFR) of flexible body i . x i = [ x i ; y i ; z i ] presents the position (column) vector from G to B i expressed in G , and α i = [ α i ; β i ; γ i ] presents the rotation parameters from G to B i . s i , p represents the original position of a node p in B i , and u i , p t is the translational displacement of node p due to flexible deformation.
Let A i = A i ( α i ) be the transformation matrix from frame B i to G , and let Φ i , p be the components of the model matrix Φ i at node p . After rigid motion and flexible deformation, the global position of node p on flexible body i is then expressed as
r i , p = x i + A i ( s i , p + u i , p t ) ,
wherein translational displacement u i , p t can be expressed with the modal coordinates q i and Φ i , p t (i.e., the translational component of the modal matrix Φ i , p ) as
u i , p t = Φ i , p t q i .
By differentiating the displacement (30) with respect to time, the global velocity of node p is obtained as
v i , p = x ˙ i + A i ( s ˙ i , p + u ˙ i , p ) + A ˙ i ( s i , p + u i , p ) .
wherein ˙ is the time derivative of , i.e., ˙ = ( d ) / ( d t ) . Since s i , p and Φ i , p t are constant, we have
s ˙ i , p = 0 , u ˙ i , p = d ( Φ i , p t q i ) / d t = Φ i , p t q ˙ i .
Since the component A ˙ i ( s i , p + u i , p ) is caused by rotation of FFR B i with the vector ( s i , p + u i , p ) on it, we utilize the finite rotation theory to obtain
A ˙ i ( s i , p + u i , p ) = A i ω i × ( s i , p + u i , p ) = A i ( s i , p + u i , p ) × ω i = A i ( s ˜ i , p + u ˜ i , p ) ω i ,
wherein ω i represents the local (expressed in B i ) angular velocity of the frame B i , “ × ” represents the vector cross-product operation, and s ˜ i , p projects the vector cross product into a matrix formulation with s i , p × ω i = s ˜ i , p ω i by defining
s ˜ i , p = s i , p , 1 s i , p , 2 s i , p , 3 ˜ 0 s i , p , 3 s i , p , 2 s i , p , 3 0 s i , p , 1 s i , p , 2 s i , p , 1 0 , u ˜ i , p = u i , p , 1 u i , p , 2 u i , p , 3 ˜ 0 u i , p , 3 u i , p , 2 u i , p , 3 0 u i , p , 1 u i , p , 2 u i , p , 1 0 .
As shown in reference [2], we can always find a coefficient matrix D i = D i ( α i ) for given attitude parameters α i to obtain
ω i = D i α ˙ i ,
Then, the global velocity of node p can be written as
v i , p = x ˙ i + A i Φ i , p t q ˙ i A i ( s ˜ i , p + u ˜ i , p ) D i α ˙ i .
Different from other references, we place the elastic coordinates q i = [ q i , 1 ; ; q i , n i ] at the forefront to assemble the generalized coordinates of the flexible body i as
ξ i = q i ; x i ; α i = q i , 1 ; ; q i , n i ; x i ; y i ; z i ; α i ; β i ; γ i .
The mass and stiffness matrices of a flexible body can be obtained by calculating the overall kinetic and potential energies. In the finite element method, the kinetic energy is attributed to the nodes, and with the node mass m i , p and the moment of inertia H i , p lumped at node p , we have
T i 1 2 p m i , p v i , p T v i , p + ω i , p T H i , p ω i , p .
By substituting Equation (37) into Formula (39) and ignoring high-order quantities of the modal correlation parts, we have
m i , p v i , p T v i , p + ω i , p T H i , p ω i , p = ξ ˙ i T m i , p ( Φ i , p t ) T Φ i , p t + ( Φ i , p r ) T H i , p Φ i , p r m i , p ( Φ i , p t ) T A i T m i , p ( Φ i , p t ) T ( s ˜ i , p T + u ˜ i , p T ) D i + ( Φ i , p r ) T H i , p D i sym m i , p E 3 A i m i , p ( s ˜ i , p + u ˜ i , p ) D i sym sym D i T m i , p ( s ˜ i , p T + u ˜ i , p T ) ( s ˜ i , p + u ˜ i , p ) + H i , p D i ξ ˙ i
wherein, for flexible body i , m i , p is the lumped mass at node p , H i , p is the symmetric lumped inertia matrix at node p , Φ i , p t is the translational components of the modes Φ i at node p , while Φ i , p r is the rotational components of the modes Φ i at node p , φ i , p , j t is the j th column of Φ i , p t , the wave upon represents the cross-production-to-matrix operator as the same as in Formula (35), and s i , p is the original position of node p in the FFR as shown in Figure 1.
The unit orthogonal condition corresponding to the mass matrix as defined in Equation (26) gives
m i , p ( Φ i , p t ) T Φ i , p t + ( Φ i , p r ) T H i , p Φ i , p r = E n i ,
Then, we substitute Formula (40) into the kinetic energy (39) to obtain the generalized mass matrix of the flexible body under the coordinates ξ i as
M i = M i ff M i ft M i fr M i tf M i tt M i tr M i rf M i rt M i rr = E n i I i , 3 T A i T I i , 4 T D i sym I i , 1 E 3 A i ( I i , 2 + I i , 3 q ˜ i ) D i sym sym D i T [ I i , 7 j q i , j ( I i , 8 j + I i , 8 j T ) ] D i .
wherein the superscripts f,t,r refer to flexible, translational, and rotational components, respectively. The expressions and meanings of the modal invariant submatrices I i , 1 , I i , 2 , I i , 3 , I i , 4 , I i , 7 , and I i , 8 j in (42) are listed in Table 1. The invariant submatrices are defined identically to those in the modal neutral file (MNF) [33], where I i , 5 and I i , 6 are commonly omitted.
For one-dimensional and two-dimensional elements, such as cables, beams, plates, and shells, the moment of inertia of the nodes H i , p can be neglected.
The potential energy of elastic deformation is only a function of the elastic coordinates q i . Because u i = Φ i q i , as shown in (28), K ¯ i is the stiffness matrix corresponding to FE variable u i , as shown in Equation (19); with the orthogonal condition (26), the potential energy of elastic deformation is then
V i = 1 2 u i T K ¯ i u i = 1 2 q i T Φ i T K ¯ i Φ i q i = 1 2 q i T Ω i 2 q i .
The body’s general coordinate is ξ i = [ q i ; x i ; α i ] , and the system stiffness matrix given by Equation (13) is K = F elas ξ + F iner ξ , which includes both the elastic and inertial parts. Then, the stiffness matrix for body i is
K i = Ω i 2       0       0 + ( M i ξ ¨ i ) ξ i .

3. Parallel Direct Solution Scheme Based on Block Gaussian Elimination

The most time-consuming tasks in FMB simulation involve assembling and solving the linearized system Equation (14). Generally, the calculation and assembly of the Jacobian matrix and right-hand terms of Equation (14) can be efficiently parallelized. However, solving Equation (14) with a direct solver does not benefit significantly from parallelization. This is mainly due to the inherent serial features of direct solvers.
In this section, we will delve deeply into the block and sparse features of the presented Jacobian matrix and then introduce the block Gaussian elimination (BGE) method to solve the linear equations in algorithm-level parallel. Prior to the BGE process, the reordering of variables and sub-blocks will be executed to generate a smaller bandwidth.

3.1. Coordinate Reordering Before BGE

To explore potential parallel strategies for directly solving Equation (14), we examine the block sparse characteristics of the Jacobian matrix derived from the CB method and then reorder the variables.
We write the linearized system Equation (14) here again for clarity:
M h 2 + C h + K τ ξ + 1 h τ ξ ˙ c ξ T c ξ 0 ( n , j ) Δ ξ ( n , j ) Δ λ ( n , j ) = b c ( n , j ) ,
wherein M = diag ( M 1 , , M m ) , C = diag ( C 1 , , C m ) , K = diag ( K 1 , , K m ) , and c = [ c 1 ; ; c k ] in the system with m bodies and k constraints. The superscript ( n , j ) denotes that it is the j th iteration in the n th time integration step.
In Equation (45), M and K are clearly block sparse, the same as C with C = γ K by a proportional modal damping γ hypothesis. If the external forces τ are not related to ξ and ξ ˙ , we also have
τ ξ + 1 h τ ξ ˙ = 0 .
However, the constraint Jacobian matrix c / ξ is typically considered dense. For bandwidth consideration in Gaussian elimination, we place the Lagrange multipliers λ after all the body DOFs ξ . When the bodies are connected solely by constraints, the system Jacobian matrix has the block sparse features as shown in Figure 2.
We will demonstrate that the matrix sparsity depicted in Figure 2 can be preserved throughout the BGE process, as will be detailed in the following subsection. Although the LU decomposition method is often executed for direct solution of multibody systems, it is not suitable in this context because the LU bandwidth of the current Jacobian matrix is large.
In fact, we can expect similar block sparsity in sub-blocks J i , i = 1 , , m as that in J . Since the Jacobian matrix of external loads is ignored, the Jacobian matrix of the i th component has the following form, ignoring the iteration superscript j :
J i M i h 2 + K i = M i h 2 + Ω i 2       0       0 + ( M i ξ ¨ i ) ξ i = 1 h 2 E n i M i ft M i fr M i tf M i tt M i tr M i rf M i rt M i rr + Ω i 2       0       0 + ξ i E n i q ¨ i + M i ft ( α i ) x ¨ i + M i fr ( α i ) α ¨ i M i tf ( α i ) q ¨ i + M i tt x ¨ i + M i tr ( q i , α i ) α ¨ i M i rf ( α i ) q ¨ i + M i rt ( q i , α i ) x ¨ i + M i rr ( q i , α i ) α ¨ i = E n i h 2 + Ω i 2 M i ft h 2 M i fr h 2 + ( M i ft x ¨ i ) α i + ( M i fr x ¨ i ) α i M i tf h 2 + ( M i tr α ¨ i ) q i M i tt h 2 M i tr h 2 + ( M i tf q ¨ i ) α i + ( M i tr x ¨ i ) α i M i rf h 2 + ( M i rt x ¨ i ) q i + ( M i rr α ¨ i ) q i M i rt h 2 M i rr h 2 + ( M i rf q ¨ i ) α i + ( M i rt x ¨ i ) α i + ( M i rr α ¨ i ) α i ,
wherein M i tr ( q i , α i ) means M i tr is a function of q i and α i and others are similar, which can be observed from the expressions detailed in Table 1.
It is not difficult to find out that the sub-block J i (47) has block sparsity, as shown in Figure 3a, which is similar to the global block sparsity as shown in Figure 2. The block sparsity in Figure 3a is even more constant, with a single diagonal row in the top-left submatrix and with six rows in the lower-left dense submatrix. The block sparsity in Figure 3b is undesired for a direct solver, since it will produce a full matrix in the Gaussian elimination and the LU decomposition. This is why we adopt the variable order ξ i = [ q i ; x i ; α i ] in Section 2.2.3 instead of the order [ x i ; α i ; q i ] .

3.2. Feasibility Study of BGE on Sub-Block Jacobian Matrix

Firstly, we demonstrate that the submatrix J i is expected to be symmetrically positive definite, and the block Gaussian elimination (BGE) method can be applied to it. We know that M i is symmetrically positive definite; since the component ( M i ( j ) ξ ¨ ( j ) ) ξ i T in K i is much smaller than others, K i can be considered symmetrically semi-definite. Consequently, J i = M i h 2 + K i is symmetrically positive definite. With the symmetrically positive definite nature of J i , the BGE method can be applied, and numerical stability can be maintained without selecting principal elements, according to the stability theory of BGE proved in references [29,34,35].
After the variable reordering in Section 3.1, the BGE process can preserve the sparsity within submatrices J i and the entire matrix J , thereby achieving linear computational complexities. Consider J i in Figure 3a, for example. We apply the BGE process on the following linear equations with Jacobian matrix J i :
J i ff J i fR J i Rf J i RR Δ ξ i f Δ ξ i R = b i f b i R ,
wherein the superscripts f and R denote the components of flexible modes and rigid body motion, respectively. Solving Equation (48) is equivalent to solving the following Schur’s complement [16] equations within the rigid body motion DOFs:
J i RR J i Rf ( J i ff ) 1 J i fR Δ ξ i R = b i R J i Rf ( J i ff ) 1 b i f ,
Because J i ff is diagonal, its reverse ( J i ff ) 1 consumes only n i times of divisions. Since J i Rf is a 6 × n i submatrix and J i fR is a n i × 6 submatrix, J i Rf ( J i ff ) 1 consumes 6 n i times of operations. Then, J i Rf ( J i ff ) 1 J i fR consumes another 6 × 6 × 2 n i = 72 n i times of operations, and J i Rf ( J i ff ) 1 J i fR consumes another 6 × 2 n i = 12 n i times of operations. At last, the subtraction J i RR J i Rf ( J i ff ) 1 J i fR and b i R J i Rf ( J i ff ) 1 b i f consumes another 36 + 6 = 42 times of operations. So, to form Schur’s complement Equation (49), the total computational complexity is
6 n i + 72 n i + 12 n i + 42 = 90 n i + 42 = O ( n i ) .
The computational complexity of solving the 6 × 6 Equation (49) is merely O ( 1 ) . Consequently, the computational complexity of BGE on J i is linear to n i . Similar applications of the Schur’s complement have been reported in rigid multibody system simulations involving contact problems [20,36].

3.3. Algorithm-Level Parallel Direct Solution of System Linear Equations Based on BGE

The block sparsity and symmetry of system Jacobian matrix J resemble that of submatrix J i , which exhibits a strong principal diagonal property as shown in Figure 2 and Figure 3a. Hypothesizing that high-speed rotating parts are not directly incorporated into the system, the Jacobian matrix can still remain positive. This is because damping typically does not dominate the behavior of structural components [29]. Consequently, for the linearized system Equation (45), block Gaussian elimination (BGE) can be employed directly to enable algorithm-level parallel computation.
For convenience, we note c ξ 1 c ξ 1 T , c ξ 1 T c T ξ 1 and write Equation (45) in a partitioned form as [37] does; thus, we obtain
J 1       c ξ 1 T   J 2     c ξ 2 T             J m c ξ m T c ξ 1 c ξ 2 c ξ m   Δ ξ 1 Δ ξ 2 Δ ξ m Δ λ = τ 1 τ 2 τ m c .
Then, the algorithm-level parallel scheme for the direct solution of the flexible multibody system based on BGE is as follows:
  • Step ①: Each block row corresponding to the submatrix J i is left-multiplied by the Gaussian eliminator J i 1 in parallel to obtain
    E n 1       J 1 1 c ξ 1 T   E n 2     J 2 1 c ξ 2 T             E n m J m 1 c ξ m T c ξ 1 c ξ 2 c ξ m   Δ ξ 1 Δ ξ 2 Δ ξ m Δ λ = J 1 1 τ 1 J 2 1 τ 2 J 2 1 τ m c ;
  • Step ②: Each constraint Jacobian matrix c ξ i , i = 1 , , n i in the lower-left is eliminated in parallel by the unit matrix E n i in the top-left, resulting in the Schur’s complement i = 1 m c ξ i J i 1 c ξ i T in the subspace of Lagrange multiplier λ , thus forming
    E n 1       J 1 1 c ξ 1 T   E n 2     J 2 1 c ξ 2 T             E n m J m 1 c ξ m T         i = 1 m c ξ i J i 1 c ξ i T Δ ξ 1 Δ ξ 2 Δ ξ m Δ λ = J 1 1 τ 1 J 2 1 τ 2 J 2 1 τ m c i = 1 m c ξ i J i 1 τ i ;
  • Step ③: The linear equations within the Lagrange multiplier subspace are solved to obtain the multiplier increment as
    Δ λ = i = 1 m c ξ i J i 1 c ξ i T 1 c i = 1 m c ξ i J i 1 τ i ;
  • Step ④: Substitute Δ λ back into Equation (53) to obtain the increments Δ ξ i , i = 1 , , m in parallel for all bodies. With the known J i 1 τ i and J i 1 c ξ i T in Step ②, general coordinate increments of bodies are
    Δ ξ i = J i 1 τ i J i 1 c ξ i T Δ λ , i = 1 , , m ;
  • Step ⑤: Update the general coordinates by the residual increments in parallel for all bodies and constraints. Since the time step n and the iteration superscript j are omitted in Formulas (51)–(55), we restore it to update the Newton iteration as
    ξ i ( n , j + 1 ) = ξ i ( n , j ) + Δ ξ i ( n , j ) λ ( n , j + 1 ) = λ ( n , j ) + Δ λ ( n , j ) .
In our proposed scheme, steps ①, ②, ④, and ⑤ are algorithmic-level block parallel, whereas step ③ is serial within the k constraint DOFs. In reality, step ③ still allows for acceleration via parallelism in a single column of row [38], but the efficiency of this parallelism [39] is not as high as that of block parallelism. Figure 4 illustrates the flowchart of the presented computational scheme integrating block parallel.
Since the original matrix is sparse and there is no interaction between rows and columns required, the assembly of the system matrix J is actually unnecessary. This approach saves time on topology calculation and data copying of sparse matrices, which is advantageous for parallel implementations of both OpenMP and MPI.
The proposed block-parallel scheme remains stable for a system lacking damping and gyroscopic matrix C , and the stability analysis process is akin to that of the linearized submatrix Equation (48) for J i in Section 3.2. We can also anticipate that the BGE-based scheme will be stable when the damping/gyroscopic forces and their Jacobian matrices are small. Typically, damping forces are small for most mechanical structures, and gyroscopic forces are also small for low-speed rotors. However, bodies with high-speed rotation should not be directly incorporated into the system to ensure the stability. Nevertheless, periodic vibrations transmitted from high-speed rotors are permissible within the system, as they do not affect the system’s Jacobian matrix. Consequently, the method presented is suitable for diagnostic platform systems with large translational displacement and for aeroengine stator systems experiencing high-speed excitation forces.

4. Numerical Examples

In this section, an aeroengine stator system and a low-speed crank-slider mechanism are used as numerical examples. The algorithm’s stability is verified by comparing its numerical accuracy with several other methods [40], and its efficiency is also compared.

4.1. Example of an Aeroengine Stator System

We consider the vibration response of an aeroengine stator system under the excitation of a rotor’s eccentric periodic force, as depicted in Figure 5. The system comprises five components, a connector, compressor, combustion chamber, turbine, and nozzle, in the order of their modeling (i.e., the sequence of parts in the linearized equations). Each component, treated as an individual entity, is analyzed using finite element software Abaqus 2020 to determine the fixed interface modes, with the lower-order orthogonal elastic modes retained. The part connection relationships, finite element mesh, and number of the CB modes are illustrated in Table 2. A sinusoidal force with a frequency of 20 Hz and an amplitude of 100,000 Newtons is applied at the same position of the fixed connection between part ③ and part ④ (i.e., at the red star point) to simulate the excited vibration of the stator system by the eccentric rotor through the bearing.
The topology of the Jacobian matrix derived from the aeroengine stator system is depicted in Figure 6. We can observe very appealing block sparsity in the submatrices and the whole matrix, which exhibit self-similarity.
For the purpose of comparing accuracy and verifying stability, the numerical results of the aeroengine stator system were computed using the present method, commercial software ADAMS 2020, and the traditional serial Gaussian algorithm. The results are compared in Figure 7, which shows highly consistent outcomes, thereby verifying the numerical stability of the proposed BGE-based algorithm-level parallel method.
As shown in Table 3, when employing 4-core OpenMP parallelism to solve linear Equation (45), the computational efficiency of pivoting GE decreases by 34.7% compared with the serial case, primarily due to the consumption of parallel initialization. This phenomenon illustrates the inadaptability of the pivoting GE to parallelism. In contrast, the efficiency of the block GE parallelism increases by 35.9% compared to its serial counterpart.
In the serial case comparison, the block GE efficiency increases by 5.1% compared to the pivoting GE, primarily due to saving of pivoting operations between rows and columns. In contrast, in the parallel case comparison, the block GE efficiency improves by a total of 54.8% over the pivoting GE parallelism. This demonstrates the high parallelism adaptability of the block GE. In summary, the computational efficiency of the presented parallel block GE method increases by 39.2% in total compared to the original serial pivoting GE method.

4.2. Sample of a Low-Speed Rotating Crank-Slider Mechanism

Consider the elastic vibration response of a crank-slider mechanism at low speed (0.1 Hz), as depicted in Figure 8. The system consists of a crank, a linker, and a slider, with the elastic DOFs and interconnections detailed in Table 4. The FEM details of the flexible crank and flexible linker for modal analysis are listed in Table 5. We ignore friction in all joints. The physical quantity measured is the elastic displacement of point A in the y direction with respect to the body-fixed coordinate system O x y .
The parallel block GE and the serial pivoting GE methods are executed for computational comparison. The elastic part of the vibration response y A , which is the vibration displacement of point A in the body-fixed coordinate system O x y , within one period is shown in Figure 9. The results from both methods are highly coincident, which verifies the numerical stability of the presented parallel block GE method for the FMB system with low-speed rotating parts.
As indicated in Table 6, the overall computational efficiency increased by 1.9% in the low-speed crank-slider sample, where the total CPU time consumption decreased from 4089 ms to 4013 ms. The parallelization of the presented block GE method accelerates the FMB system with low-speed rotating parts, albeit not to the extent demonstrated in the example of the aeroengine stator system. This is due to the presence of five flexible components in the aeroengine example compared to only two in the current crank-slider sample. This phenomenon suggests that the parallelization efficiency of the presented method is related to the number of flexible components in the system. In other words, the parallelization is executed between sub-blocks of flexible components.
It is also noteworthy that the number of solving the linearized systemic Equation (45) rose from 30,214 to 31,546, an increase of approximately 4.4%. This is due to the fact that the gyroscopic component of the Jacobian matrix C is neglected in Equation (45) using our method. This results in the Newton iteration degenerating into the quasi-Newton iteration, which typically requires more iterations in engineering applications. Consequently, despite a 4.4% increase in the total number of iterations, a computational efficiency improvement of 1.9% is realized. As previously analyzed, the parallel efficiency can be significantly enhanced in scenarios involving more elastic modes or more flexible components within the FMB systems in question.

5. Conclusions

In this paper, the CB method is utilized to model large, complex, flexible, multibody systems. System Jacobian matrices with favorable block symmetry and sparsity properties are formed by appropriately ordering the generalized coordinates of bodies and joints. A local–global two-layer parallel algorithm is constructed to directly solve the linearized systemic equations. The algorithm also circumvents the disruption of matrix topological sparsity in the traditional pivoting GE process of direct solution and achieves algorithm-level parallelism. The algorithm ensures numerical stability by employing the physical assumption of component modal synthesis methods and the specific format of the Craig–Bampton method. The numerical stability and high efficiency of the proposed block parallel algorithm are validated by comparing the results with those from commercial software Abaqus 2020 and with the pivoting GE algorithm, using the examples of aeroengine stator system vibration and crank-slider mechanism’s low-speed rotation.
The method detailed in this paper is unsuitable for multibody systems that contain high-speed rotating parts directly, as in such cases, the gyroscopic matrix may become the primary component of the Jacobi matrix, leading to instability in the presented scheme. A potential solution is to construct an appropriate preconditioning matrix [40] to ensure numerical stability and prevent the need for pivoting operations. This approach could be explored in future papers.

Author Contributions

Conceptualization, C.Y. and Z.X.; methodology, C.Y.; software, B.X., Y.W. and Y.X.; validation P.Y.; writing—original draft preparation, C.Y.; writing—review and editing, P.Y., B.X. and Y.W.; supervision, Z.X. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author because the research project involved in this article involves relevant confidentiality agreements, and the overall project has not been completed yet.

Conflicts of Interest

The authors declare no conflicts of interest.

Nomenclature

0 Zero vector or zero matrix
a Constraints scale factor for numerical conditioning
A i Transformation matrix from body-fixed frame to global frame
α i = [ α i ; β i ; γ i ] Rotation parameters from global frame to body-fixed frame
b Residual of body general force equations
B i Body-fixed coordinate frame (also the FFR) of flexible body i
c Complete constraints in system
C System damping matrix
C i Damping matrix of body i
c ξ Partial derivative of c corresponding to ξ , i.e., c / ξ
D i Coefficient   matrix   before   α ˙ i   to   obtain   ω i
Δ λ ( n , j ) Increment   of   λ ( n , j )   in   the   j th   iteration   at   n th time step
Δ ξ ( n , j ) Increment   of   ξ ( n , j )   in   the   j th   iteration   at   n th time step
Δ λ Abbreviation   of   Δ λ ( n , j ) when there is no ambiguity
Δ ξ Abbreviation   of   Δ ξ ( n , j ) when there is no ambiguity
diag ( ) Block-diagonal matrix composed of submatrices
e ξ , e λ , e b , e c Error thresholds for displacement variables, constraint forces, body force equation residuals, and constraint equation residuals
E n i Unit   matrix   with   dimension   n i
f v Velocity’s algebraic function for time integration with BDFs
f a Acceleration’s algebraic function for time integration with BDFs
f ¯ i External force applied to the boundary DOFs in FE equations
F iner General inertial forces
F elas General elastic forces
φ ¯ i , j Λ           The   j th low-frequency mode of flexible body i on   coordinates   u i Λ
Φ i Elastic modes of the CB method (orthogonal and non-zero frequency)
Φ ¯ i Preserved modes matrix of body i
Φ ¯ ¯ i Non-zero-frequency reorthogonalized modal matrix
Φ ¯ i boun Boundary modes matrix of body i
Φ ¯ i vibr Preserved vibration modes matrix of body i
Φ i , p Components of the modes matrix at node p
Φ i , p t Translational   components   of   Φ i , p
Φ i , p r Rotational   components   of   Φ i , p
G Global coordinate frame
γ Proportional modal damping coefficient
h Time step size
H i , p Moment of inertia lumped at node p of body i
i Serial number for bodies in the system
I i , 1 ~ I i , 8 Modal invariant submatrices in the modal neutral file
J System Jacobian matrix
J i Jacobian matrix of body i
J i * # Submatrix of J i corresponding to rows DOFs “*” and column DOFs “#”, “f” for flexible modes, “t” for rigid translation, “r” for rigid rotation, “R” for rigid translation and rotation
k Total number of constraint equations in the system
K Stiffness matrix of system
K i Stiffness matrix of body i
K ¯ i Stiffness matrix of finite element equations
L Lagrange function of system
λ Lagrangian multipliers of constraints
λ ( n ) Value of λ at   discrete   time   t = n h
m Total number of bodies in the system
m i , p Lumped mass at node p of body i
M Mass matrix of system
M i Number of boundary modes of body i
M i Mass matrix of body i
M ¯ i Mass matrix of finite element equations of body i
M i * # Submatrix of M i corresponding to rows DOFs “*” and column DOFs “#”, “f” for flexible modes, “t” for rigid translation, “r” for rigid rotation, “R” for rigid translation and rotation
N i Number of preserve low-frequency modes of body i
n i Total number of flexible modes after rigid modes removing and modes orthogonalization of body i
Ω i 2 Diagonal matrix of modal circle frequencies of body i
ω i , j The   j th modal circle frequency of flexible body i
ω i Local angular velocity of the body-fixed frame
p An FE node on the flexible body
ψ ¯ i , j Λ       The   j th boundary mode of flexible body i on   coordinates   u i Λ
q i Modal coordinates of the flexible body i (excluding zero-frequency modes and ensuring orthogonality)
q ¯ i Redundant modal coordinates of the flexible body i (including zero-frequency modes)
r i , p Global position of node p of flexible body i
s i , p Original position of node p of flexible body i   in   B i
t Simulation time
τ General force vector of external loads
T Kinetic energy of system
u i Finite element DOFs of flexible body i
u i , p t Translational displacement of node p due to flexible deformation of flexible body i
u i Λ Inner DOFs of flexible body i within the FE formulation
u i Γ Boundary DOFs of flexible body i within the FE formulation
V Potential energy of system
v i , p Global velocity of node p of flexible body i
x i = [ x i ; y i ; z i ] Position vector from global frame to body-fixed frame in global frame
ξ General displacement of bodies
ξ ˙ ξ ¨ General velocity and acceleration of bodies
ξ ( n , 0 ) Initial value of ξ in   Newton   iteration   for   the   n th time step
ξ ( 1 ) Value of ξ at   discrete   time   t = h
ξ i General displacement of body i
ξ ( n ) Value of ξ at   discrete   time   t = n h
“;”Separator of components in a “column” vector
( 0 ) Variable   values   at   initial   time   t = 0 for
( n ) Variable   values   at   discrete   time   t = n h for
( n , 0 ) Initial   values   of   the   n th time step for in the Newton iteration
( n , j ) Results   of   the   j th   iteration   in   the   n th time step for
T Vector transpose or matrix transpose of
Λ Inner DOFs components in the Craig–Bampton method for
Γ Boundary DOFs components in the Craig–Bampton method for

References

  1. Simeon, B. Computational Flexible Multibody Dynamics. A Differential-Algebraic Approach; Springer: Berlin/Heidelberg, Germany, 2013. [Google Scholar]
  2. Shabana, A.A. Dynamics of Multibody Systems; Wiley: New York, NY, USA, 1989. [Google Scholar]
  3. Craig, R.R.J. Substructure methods in vibration. J. Mech. Des. 1995, 117, 207–213. [Google Scholar] [CrossRef]
  4. Song, J.O.; Haug, E.J. Dynamic analysis of planar flexible mechanisms. Comput. Methods Appl. Mech. Eng. 1980, 24, 359–381. [Google Scholar] [CrossRef]
  5. Hurty, W.C. Dynamic analysis of structural systems using component modes. AIAA J. 1965, 3, 678–685. [Google Scholar] [CrossRef]
  6. Bampton, M.C.C.; Craig, J.R.R. Coupling of substructures for dynamic analyses. AIAA J. 1968, 6, 1313–1319. [Google Scholar]
  7. Hou, S.N. Review of Modal Synthesis Techniques and a New Approach; NASA: Washington, DC, USA, 1969. [Google Scholar]
  8. Macneal, R.H. A hybrid method of component mode synthesis. Comput. Struct. 1971, 1, 581–601. [Google Scholar] [CrossRef]
  9. Rubin, S. Improved component-mode representation for structural dynamic analysis. AIAA J. 1975, 13, 995–1006. [Google Scholar] [CrossRef]
  10. Kim, J.G.; Lee, P.S. An enhanced craig–bampton method. Int. J. Numer. Methods Eng. 2015, 103, 79–93. [Google Scholar] [CrossRef]
  11. Kim, J.G.; Park, Y.J.; Lee, G.H.; Kim, D.N. A general model reduction with primal assembly in structural dynamics. Comput. Methods Appl. Mech. Eng. 2017, 324, 1–28. [Google Scholar] [CrossRef]
  12. Kim, J.G.; Han, J.B.; Lee, H.; Kim, S.S. Flexible multibody dynamics using coordinate reduction improved by dynamic correction. Multibody Syst. Dyn. 2018, 42, 411–429. [Google Scholar] [CrossRef]
  13. Han, J.B.; Kim, J.G.; Kim, S.S. An efficient formulation for flexible multibody dynamics using a condensation of deformation coordinates. Multibody Syst. Dyn. 2019, 47, 293–316. [Google Scholar] [CrossRef]
  14. Wanner, G.; Hairer, E. Solving Ordinary Differential Equations II; Springer: Berlin/Heidelberg, Germany; New York, NY, USA, 1996; Volume 375. [Google Scholar]
  15. Yang, C.; Du, J.; Cheng, Z.; Wu, Y.; Li, C. Flexibility investigation of a marine riser system based on an accurate and efficient modelling and flexible multibody dynamics. Ocean Eng. 2020, 207, 107407. [Google Scholar] [CrossRef]
  16. Park, K.C.; Downer, J.D.; Chiou, J.C.; Farhat, C. A modular multibody analysis capability for high-precision, active control and real-time applications. Int. J. Numer. Methods Eng. 1991, 32, 1767–1798. [Google Scholar] [CrossRef]
  17. Cao, D.Z.; Qiang, H.F.; Ren, G.X. Parallel computing studies of flexible multibody system dynamics using OpenMP and Pardiso. J. Tsinghua Univ. Sci. Technol. 2012, 52, 1643–1649. [Google Scholar]
  18. Dagum, L.; Menon, R. OpenMP: An industry standard API for shared-memory programming. J. IEEE Comput. Sci. Eng. 1998, 5, 46–55. [Google Scholar] [CrossRef]
  19. Negrut, D.; Tasora, A.; Mazhar, H.; Heyn, T.; Hahn, P. Leveraging parallel computing in multibody dynamics. Multibody Syst. Dyn. 2012, 27, 95–117. [Google Scholar] [CrossRef]
  20. Negrut, D.; Serban, R.; Mazhar, H.; Heyn, T. Parallel computing in multibody system dynamics: Why, when, and how. J. Comput. Nonlinear Dyn. 2014, 9, 041007. [Google Scholar] [CrossRef]
  21. Pařík, P.; Kim, J.G.; Isoz, M.; Ahn, C.U. A parallel approach of the enhanced Craig–Bampton method. Mathematics 2021, 9, 3278. [Google Scholar] [CrossRef]
  22. Cros, J.M. Parallel modal synthesis methods in structural dynamics. Contemp. Math. 1998, 218, 492–499. [Google Scholar]
  23. Murthy, P.; Poschmann, P.; Reymond, M.; Schartz, P.; Wilson, C.T. Automated Component Modal Synthesis with Parallel Processing. 2000. Available online: http://www.mscsoftware.com/support/library/conf/auto00/p03900.pdf (accessed on 22 October 2024).
  24. Li, P.; Liu, C.; Tian, Q.; Hu, H.Y.; Song, Y.P. Dynamics of a deployable mesh reflector of satellite antenna: Parallel computation and deployment simulation. J. Comput. Nonlinear Dyn. 2016, 11, 061005. [Google Scholar] [CrossRef]
  25. Featherstone, R. A divide-and-conquer articulated-body algorithm for parallel O(log(n)) calculation of rigid-body dynamics. Part 1: Basic algorithm. Int. J. Robot. Res. 1999, 18, 876–892. [Google Scholar] [CrossRef]
  26. Dewes, E.M.; Rixen, D.J. Time integration of multibody systems using nonlinear domain decomposition techniques with mixed interface conditions. In Proceedings of the 5th Joint International Conference on Multibody System Dynamics, Lisboa, Portugal, 24–28 June 2018. [Google Scholar]
  27. Cano, J.C.; Cuenca, J.; Giménez, D.; Saura-Sánchez, M.; Segado-Cabezos, P. A parallel simulator for multibody systems based on group equations. J. Supercomput. 2019, 75, 1368–1381. [Google Scholar] [CrossRef]
  28. Wasfy, T.M.; Noor, A.K. Computational strategies for flexible multibody systems. Appl. Mech. Rev. 2003, 56, 553–613. [Google Scholar] [CrossRef]
  29. Higham, N.J. Gaussian elimination. Wiley Interdiscip. Rev. Comput. Stat. 2011, 3, 230–238. [Google Scholar] [CrossRef]
  30. Peiret, A.; Andrews, S.; Kövecses, J.; Kry, P.G.; Teichmann, M. Schur complement-based substructuring of stiff multibody systems with contact. ACM Trans. Graph. 2019, 38, 1–17. [Google Scholar] [CrossRef]
  31. Yang, C.; Cao, D.Z.; Zhao, Z.H.; Zhang, Z.R.; Ren, G.X. A direct eigenanalysis of multibody system in equilibrium. J. Appl. Math. 2012, 2012, 1–7. [Google Scholar] [CrossRef]
  32. Wang, G.X.; Niu, Z.P.; Feng, Y. Improved Craig–Bampton Method Implemented into Durability Analysis of Flexible Multibody Systems. Actuators 2023, 12, 65. [Google Scholar] [CrossRef]
  33. Ryan, R.R. ADAMS—Multibody system analysis software. In Multibody Systems Handbook; Springer: Berlin/Heidelberg, Germany, 1990; pp. 361–402. [Google Scholar]
  34. Pan, V.Y.; Zhao, L. Numerically safe Gaussian elimination with no pivoting. Linear Algebra Its Appl. 2017, 527, 349–383. [Google Scholar] [CrossRef]
  35. Strawderman, R.L.; Higham, N.J. Accuracy and stability of numerical algorithms. J. Am. Stat. Assoc. 1999. [Google Scholar] [CrossRef]
  36. Bender, J.; Erleben, K.; Trinkle, J. Interactive simulation of rigid body dynamics in computer graphics. Comput. Graph. Forum 2014, 33, 246–270. [Google Scholar] [CrossRef]
  37. Golub, G.H.; Greif, C. On solving block-structured indefinite linear systems. SIAM J. Sci. Comput. 2003, 24, 2076–2092. [Google Scholar] [CrossRef]
  38. Faugère, J.C.; Lachartre, S. Parallel Gaussian elimination for Gröbner bases computations in finite fields. In Proceedings of the International Workshop on Parallel Symbolic Computation, Grenoble, France, 21–23 July 2010. [Google Scholar]
  39. Peng, R.; Vempala, S. Solving sparse linear systems faster than matrix multiplication. In Proceedings of the Symposium on Discrete Algorithms, Virtual, 10–13 January 2021. [Google Scholar]
  40. Sewell, G. Computational Methods of Linear Algebra; World Scientific Publishing Company: Singapore, 2014. [Google Scholar]
Figure 1. Coordinates of flexible body i in the floating frame of reference.
Figure 1. Coordinates of flexible body i in the floating frame of reference.
Applsci 15 04541 g001
Figure 2. Block sparse features of the system Jacobian matrix J .
Figure 2. Block sparse features of the system Jacobian matrix J .
Applsci 15 04541 g002
Figure 3. Block sparsity of J i (a) for ξ i = [ q i ; x i ; α i ] (presented) and (b) for ξ i = [ x i ; α i ; q i ] (undesired).
Figure 3. Block sparsity of J i (a) for ξ i = [ q i ; x i ; α i ] (presented) and (b) for ξ i = [ x i ; α i ; q i ] (undesired).
Applsci 15 04541 g003
Figure 4. Flowchart of the proposed BGE-based algorithm-level parallel scheme for direct solution of the flexible multibody systems.
Figure 4. Flowchart of the proposed BGE-based algorithm-level parallel scheme for direct solution of the flexible multibody systems.
Applsci 15 04541 g004
Figure 5. Example of an aeroengine stator system: its structural composition, finite element meshing, constraint connections, and position of acting forces.
Figure 5. Example of an aeroengine stator system: its structural composition, finite element meshing, constraint connections, and position of acting forces.
Applsci 15 04541 g005
Figure 6. Block sparsity and self-similarity of the Jacobian matrix derived from the aeroengine stator system (nz = none zeros).
Figure 6. Block sparsity and self-similarity of the Jacobian matrix derived from the aeroengine stator system (nz = none zeros).
Applsci 15 04541 g006
Figure 7. Numerical accuracy comparison of the elastic vibration displacement to verify numerical stability of the presented algorithm-level parallel method (using the aeroengine stator system as an example).
Figure 7. Numerical accuracy comparison of the elastic vibration displacement to verify numerical stability of the presented algorithm-level parallel method (using the aeroengine stator system as an example).
Applsci 15 04541 g007
Figure 8. Sample of a low-speed crank-slider mechanism: its components, constraint connections, and rotational driving.
Figure 8. Sample of a low-speed crank-slider mechanism: its components, constraint connections, and rotational driving.
Applsci 15 04541 g008
Figure 9. Numerical accuracy comparison of the elastic vibration displacement to verify numerical stability of the presented algorithm-level parallel method (using the low-speed crank-slider mechanism as a sample).
Figure 9. Numerical accuracy comparison of the elastic vibration displacement to verify numerical stability of the presented algorithm-level parallel method (using the low-speed crank-slider mechanism as a sample).
Applsci 15 04541 g009
Table 1. Expressions, dimensions, and mechanical meanings of the modal invariant submatrices.
Table 1. Expressions, dimensions, and mechanical meanings of the modal invariant submatrices.
Modal Invariant SubmatrixDimensionMechanical Meaning
I i , 1 = p m i , p 1 × 1 Total mass
I i , 2 = p m i , p s i , p 3 × 1 Initial centroid position in the FFR
I i , 3 = p m i , p Φ i , p t 3 × n i Deformation introduced change in modal centroid position
I i , 4 = p ( m i , p s ˜ i , p Φ i , p t + H i , p Φ i , p r ) 3 × n i Deformation introduced change in the moment of inertia
I i , 7 = p ( m i , p s ˜ i , p T s ˜ i , p + H i , p ) 3 × 3 Initial moment of inertia
I i , 8 j = p m i , p s ˜ i , p φ ˜ i , p , j t , j = 1 , , n i 3 × 3 Deformation introduced change in the modal moment of inertia (the first-order main term)
Table 2. Elastic modal DOFs and constraint connections between components in the aeroengine stator system example.
Table 2. Elastic modal DOFs and constraint connections between components in the aeroengine stator system example.
Part Number
(in Order of Assembly)
Part NameTotal Number of the CB ModesConnections with Other Components
Connector50(Ball hinge to ground) × 2
Compressor32Fixed to ①
Combustion chamber26Fixed to ②
Turbine32Fixed to ③
Nozzle26Ball hinge to ground
Table 3. Computational efficiency comparison between the traditional pivoting GE and the presented parallel BGE method (using the aeroengine stator system as an example).
Table 3. Computational efficiency comparison between the traditional pivoting GE and the presented parallel BGE method (using the aeroengine stator system as an example).
Method for Solving
Equation (45)
Total CPU Time
Consumption
Computational
Efficiency
Improvement by
Parallelization 2 (%)
Total Number of Solving System Equation (45)
Serial
(ms)
Parallel with 4 Cores
(ms)
Traditional Pivoting GE666897−34.7%2733
Block GE (presented)63240535.9%2733
Computational efficiency improvement by
block GE 1 (%)
5.1%54.8%39.2%-
1 Computational efficiency improvement by block GE (%) = (block − pivoting)/pivoting × 100%; 2 Computational efficiency improvement by parallelization (%) = (parallel − serial)/serial × 100%.
Table 4. Elastic modal DOFs and constraint connections between components in the low-speed crank-slider mechanism.
Table 4. Elastic modal DOFs and constraint connections between components in the low-speed crank-slider mechanism.
Part Number
(in Order of
Assembly)
Part NameTotal Number of the CB ModesConnections with Other Components
Crank50Rotation to ground
Linker50Spin to ①, Spin to ③
Slider0Translation to ground
Table 5. FEM details of the flexible crank and flexible linker for modal analysis.
Table 5. FEM details of the flexible crank and flexible linker for modal analysis.
FEM Model ItemValueNote
MaterialAluminum
Density2700 kg/m32.7 × 10−6 tonne/mm3.
Young’s modulus70 GPa7 × 104 MPa
Poisson’s ratio0.3
Finite element size1 mm × 1 mm × 1 mmFor both the crank and linker
Finite element typeC3D8RThree-dimensional 8 nodes hexahedral element with reduced integration
Table 6. Computational efficiency comparison between the serial pivoting GE method and the presented parallel block GE method (using the low-speed crank-slider mechanism as a sample).
Table 6. Computational efficiency comparison between the serial pivoting GE method and the presented parallel block GE method (using the low-speed crank-slider mechanism as a sample).
Method for Solving Equation (45)Total CPU Time Consumption (ms)Total Number of Solving System Equation (45)
Serial pivoting GE408930,214
Parallel block GE
(presented, with 4 cores OpenMP)
401331,546
Computational efficiency improvement by block GE (%) 11.9%-
1 Computational efficiency improvement by block GE (%) = (block − pivoting)/pivoting × 100%.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Yang, C.; Xia, B.; Wan, Y.; Yang, P.; Xie, Y.; Xie, Z. Parallel Direct Solution of Flexible Multibody Systems Based on Block Gaussian Elimination. Appl. Sci. 2025, 15, 4541. https://doi.org/10.3390/app15084541

AMA Style

Yang C, Xia B, Wan Y, Yang P, Xie Y, Xie Z. Parallel Direct Solution of Flexible Multibody Systems Based on Block Gaussian Elimination. Applied Sciences. 2025; 15(8):4541. https://doi.org/10.3390/app15084541

Chicago/Turabian Style

Yang, Cheng, Bin Xia, Yuexin Wan, Pin Yang, Yifan Xie, and Zhifeng Xie. 2025. "Parallel Direct Solution of Flexible Multibody Systems Based on Block Gaussian Elimination" Applied Sciences 15, no. 8: 4541. https://doi.org/10.3390/app15084541

APA Style

Yang, C., Xia, B., Wan, Y., Yang, P., Xie, Y., & Xie, Z. (2025). Parallel Direct Solution of Flexible Multibody Systems Based on Block Gaussian Elimination. Applied Sciences, 15(8), 4541. https://doi.org/10.3390/app15084541

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop