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
wherein is the general displacement of the bodies, denotes the Lagrange function with the system’s kinetic energy and potential energy , is the general force vector of the external loads, 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 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 by a scale factor to balance the magnitudes between and , as follows:
A method for calculating the scale factor 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 as in Equation (1).
In Equation (1), the Lagrange function relating terms are actually the general inertial forces and general elastic forces , and they are the internal forces within the bodies. By separating them from the external forces and constraint forces , the system governing equation can be rewritten as
wherein is the abbreviation of .
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 and the first-order BDFs to demonstrate the integration process. To avoid confusion, we also employ a right superscript within parentheses to denote variable values at the discrete time , such as and . Assuming the previous time steps are known and the time step needs to be computed, the general velocity and acceleration can be expressed in terms of displacement as
wherein represents the velocity’s algebraic function and represents the acceleration’s algebraic function.
Readers may notice that Formula (4) is not applicable when , where is requested in forming . A possible solution is to estimate using the Taylor series as
wherein and are given by the initial conditions and can be calculated by solving the system Equation (3) at time .
By substituting Equation (4) into Equation (3), nonlinear algebraic equations at the time step with unknown variables and are obtained as
wherein the nonlinearity may arise from the expression of , , , and .
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 . With the first-order constant step BDFs, the initial guess of the differential variable is simply given by the same order extrapolation formula as
wherein the two numbers in the right superscript, enclosed by parenthesis , represent the results of the iteration for the time step. Consequently, represents the initial value in the iteration for the time step.
The Lagrange multipliers are not differentiable with respect to time, and the initial guess is set to zero as
We rewrite the nonlinear Equation (6) on one side to obtain their residual form:
and the Newton iteration is given by
wherein
Typically, the second-order differential term is omitted in Formula (11) to ensure the stability of the Newton iteration because of the quick variation in the variable . Utilizing the time discrete Formula (4), we have
and denote the linearized general mass, damping, and stiffness matrices of the bodies as
The Newton iteration (10) for the nonlinear Equation (9) is rewritten as
wherein the Jacobian matrix and the right-hand terms are calculated at variables and . The terms related to the external forces are enclosed with parenthesis.
After and are solved by a linear solver, the iteration proceeds from to as
until the following convergence errors are satisfied:
wherein represents an arbitrary given norm and , , , and are the corresponding error thresholds for displacement variables, constraint forces, body equation residuals, and constraint equation residuals, respectively.
Let the system consist of bodies and constraints. Then, the system vector of body DOFs is , and the system vector of constraint multipliers is . To assemble Equation (14), we need to calculate
and
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, 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 and stiffness matrix are computed in the subsection. The damping matrix may be omitted in an undamped case or be considered as a linear combination of and 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 , we first separate the inner DOFs and boundary DOFs within the finite element (FE) formulation. Superscripts and denote the inner DOFs and boundary DOFs, respectively. Set and rearrange the FE equations to obtain
wherein represents the stiffness matrix and represents the mass matrix. denotes the external forces applied to the boundary DOFs.
To obtain the inner modes, we fix the boundary DOFs and set in Equation (19) to obtain
Then, the vibration Equation (20) is solved, and the first low-frequency modes are preserved for coordinates . These modes are extended to the full DOFs , and we have the vibration modes matrix as follows:
Assuming the number of boundary DOFs for flexible body is , a total of boundary modes need to be calculated. To obtain the boundary mode, we ignore the inertial force term and the external forces and set with the only 1 at the coordinate in Equation (19) to obtain
wherein and are the column of and , respectively. By solving the static equilibrium Equation (22), we obtain the static equilibrium for the coordinates . Extending these results to the full DOFs in conjunction with the hypothesis , we arrive at the boundary modes matrix as follows:
With the inner vibration modes matrix and the boundary modes matrix , a total of modes are preserved for reduction in DOFs in the flexible body . The preserved modes matrix is
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 ; and secondly, the columns in are not orthogonal to those in . 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 by letting , substituting , and multiplying on the left side, resulting in
wherein represents the redundant modal coordinates corresponding to modes . 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 can fulfill the following unit orthogonal condition corresponding to the mass matrix:
wherein represents the unit matrix with dimension and is the diagonal matrix with non-zero modal circle frequencies in descending order.
Then, the orthogonal non-zero-frequency elastic modes matrix of the CB method is
The FE displacement is then expressed by the modal coordinates as
and the elastic vibration equations of flexible body are diagonal:
wherein is the modal force of the external forces acting on the flexible body .
2.2.3. Flexible Body Formulation Under Floating Frame of Reference
The orthogonal modes and the elastic coordinates describe the elastic vibration of the flexible body , 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 in the FFR. represents the global coordinate frame, and presents the body coordinate frame (also the FFR) of flexible body . presents the position (column) vector from to expressed in , and presents the rotation parameters from to . represents the original position of a node in , and is the translational displacement of node due to flexible deformation.
Figure 1.
Coordinates of flexible body in the floating frame of reference.
Let be the transformation matrix from frame to , and let be the components of the model matrix at node . After rigid motion and flexible deformation, the global position of node on flexible body is then expressed as
wherein translational displacement can be expressed with the modal coordinates and (i.e., the translational component of the modal matrix ) as
By differentiating the displacement (30) with respect to time, the global velocity of node is obtained as
wherein is the time derivative of , i.e., . Since and are constant, we have
Since the component is caused by rotation of FFR with the vector on it, we utilize the finite rotation theory to obtain
wherein represents the local (expressed in ) angular velocity of the frame , “” represents the vector cross-product operation, and projects the vector cross product into a matrix formulation with by defining
As shown in reference [2], we can always find a coefficient matrix for given attitude parameters to obtain
Then, the global velocity of node can be written as
Different from other references, we place the elastic coordinates at the forefront to assemble the generalized coordinates of the flexible body as
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 and the moment of inertia lumped at node , we have
By substituting Equation (37) into Formula (39) and ignoring high-order quantities of the modal correlation parts, we have
wherein, for flexible body , is the lumped mass at node , is the symmetric lumped inertia matrix at node , is the translational components of the modes at node , while is the rotational components of the modes at node , is the column of , the wave upon represents the cross-production-to-matrix operator as the same as in Formula (35), and is the original position of node in the FFR as shown in Figure 1.
The unit orthogonal condition corresponding to the mass matrix as defined in Equation (26) gives
Then, we substitute Formula (40) into the kinetic energy (39) to obtain the generalized mass matrix of the flexible body under the coordinates as
wherein the superscripts f,t,r refer to flexible, translational, and rotational components, respectively. The expressions and meanings of the modal invariant submatrices , , , , , and in (42) are listed in Table 1. The invariant submatrices are defined identically to those in the modal neutral file (MNF) [33], where and are commonly omitted.
Table 1.
Expressions, dimensions, and mechanical meanings of the modal invariant submatrices.
For one-dimensional and two-dimensional elements, such as cables, beams, plates, and shells, the moment of inertia of the nodes can be neglected.
The potential energy of elastic deformation is only a function of the elastic coordinates . Because , as shown in (28), is the stiffness matrix corresponding to FE variable , as shown in Equation (19); with the orthogonal condition (26), the potential energy of elastic deformation is then
The body’s general coordinate is , and the system stiffness matrix given by Equation (13) is , which includes both the elastic and inertial parts. Then, the stiffness matrix for body is
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:
wherein , , , and in the system with bodies and constraints. The superscript denotes that it is the iteration in the time integration step.
In Equation (45), and are clearly block sparse, the same as with by a proportional modal damping hypothesis. If the external forces are not related to and , we also have
However, the constraint Jacobian matrix 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.
Figure 2.
Block sparse features of the system Jacobian matrix .
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 as that in . Since the Jacobian matrix of external loads is ignored, the Jacobian matrix of the component has the following form, ignoring the iteration superscript :
wherein means is a function of and 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 (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 in Section 2.2.3 instead of the order .
Figure 3.
Block sparsity of (a) for (presented) and (b) for (undesired).
3.2. Feasibility Study of BGE on Sub-Block Jacobian Matrix
Firstly, we demonstrate that the submatrix is expected to be symmetrically positive definite, and the block Gaussian elimination (BGE) method can be applied to it. We know that is symmetrically positive definite; since the component in is much smaller than others, can be considered symmetrically semi-definite. Consequently, is symmetrically positive definite. With the symmetrically positive definite nature of , 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 and the entire matrix , thereby achieving linear computational complexities. Consider in Figure 3a, for example. We apply the BGE process on the following linear equations with Jacobian matrix :
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:
Because is diagonal, its reverse consumes only times of divisions. Since is a submatrix and is a submatrix, consumes times of operations. Then, consumes another times of operations, and consumes another times of operations. At last, the subtraction and consumes another times of operations. So, to form Schur’s complement Equation (49), the total computational complexity is
The computational complexity of solving the Equation (49) is merely . Consequently, the computational complexity of BGE on is linear to . 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 resemble that of submatrix , 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 , and write Equation (45) in a partitioned form as [37] does; thus, we obtain
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 is left-multiplied by the Gaussian eliminator in parallel to obtain
- Step ②: Each constraint Jacobian matrix in the lower-left is eliminated in parallel by the unit matrix in the top-left, resulting in the Schur’s complement in the subspace of Lagrange multiplier , thus forming
- Step ③: The linear equations within the Lagrange multiplier subspace are solved to obtain the multiplier increment as
- Step ④: Substitute back into Equation (53) to obtain the increments in parallel for all bodies. With the known and in Step ②, general coordinate increments of bodies are
- Step ⑤: Update the general coordinates by the residual increments in parallel for all bodies and constraints. Since the time step and the iteration superscript are omitted in Formulas (51)–(55), we restore it to update the Newton iteration as
In our proposed scheme, steps ①, ②, ④, and ⑤ are algorithmic-level block parallel, whereas step ③ is serial within the 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.
Figure 4.
Flowchart of the proposed BGE-based algorithm-level parallel scheme for direct solution of the flexible multibody systems.
Since the original matrix is sparse and there is no interaction between rows and columns required, the assembly of the system matrix 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 , and the stability analysis process is akin to that of the linearized submatrix Equation (48) for 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.
Figure 5.
Example of an aeroengine stator system: its structural composition, finite element meshing, constraint connections, and position of acting forces.
Table 2.
Elastic modal DOFs and constraint connections between components in the aeroengine stator system example.
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.
Figure 6.
Block sparsity and self-similarity of the Jacobian matrix derived from the aeroengine stator system (nz = none zeros).
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.
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).
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.
Table 3.
Computational efficiency comparison between the traditional pivoting GE and the presented parallel BGE method (using the aeroengine stator system as an example).
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 direction with respect to the body-fixed coordinate system .
Figure 8.
Sample of a low-speed crank-slider mechanism: its components, constraint connections, and rotational driving.
Table 4.
Elastic modal DOFs and constraint connections between components in the low-speed crank-slider mechanism.
Table 5.
FEM details of the flexible crank and flexible linker for modal analysis.
The parallel block GE and the serial pivoting GE methods are executed for computational comparison. The elastic part of the vibration response , which is the vibration displacement of point A in the body-fixed coordinate system , 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.
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).
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.
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).
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 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
| Zero vector or zero matrix | |
| Constraints scale factor for numerical conditioning | |
| Transformation matrix from body-fixed frame to global frame | |
| Rotation parameters from global frame to body-fixed frame | |
| Residual of body general force equations | |
| Body-fixed coordinate frame (also the FFR) of flexible body | |
| Complete constraints in system | |
| System damping matrix | |
| Damping matrix of body | |
| Partial derivative of corresponding to , i.e., | |
| time step | |
| time step | |
| when there is no ambiguity | |
| when there is no ambiguity | |
| Block-diagonal matrix composed of submatrices | |
| Error thresholds for displacement variables, constraint forces, body force equation residuals, and constraint equation residuals | |
| Velocity’s algebraic function for time integration with BDFs | |
| Acceleration’s algebraic function for time integration with BDFs | |
| External force applied to the boundary DOFs in FE equations | |
| General inertial forces | |
| General elastic forces | |
| low-frequency mode of flexible body | |
| Elastic modes of the CB method (orthogonal and non-zero frequency) | |
| Preserved modes matrix of body | |
| Non-zero-frequency reorthogonalized modal matrix | |
| Boundary modes matrix of body | |
| Preserved vibration modes matrix of body | |
| Components of the modes matrix at node | |
| Global coordinate frame | |
| Proportional modal damping coefficient | |
| Time step size | |
| Moment of inertia lumped at node of body | |
| Serial number for bodies in the system | |
| Modal invariant submatrices in the modal neutral file | |
| System Jacobian matrix | |
| Jacobian matrix of body | |
| Submatrix of 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 | |
| Total number of constraint equations in the system | |
| Stiffness matrix of system | |
| Stiffness matrix of body | |
| Stiffness matrix of finite element equations | |
| Lagrange function of system | |
| Lagrangian multipliers of constraints | |
| Value of | |
| Total number of bodies in the system | |
| Lumped mass at node of body | |
| Mass matrix of system | |
| Number of boundary modes of body | |
| Mass matrix of body | |
| Mass matrix of finite element equations of body | |
| Submatrix of 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 | |
| Number of preserve low-frequency modes of body | |
| Total number of flexible modes after rigid modes removing and modes orthogonalization of body | |
| Diagonal matrix of modal circle frequencies of body | |
| modal circle frequency of flexible body | |
| Local angular velocity of the body-fixed frame | |
| An FE node on the flexible body | |
| boundary mode of flexible body | |
| Modal coordinates of the flexible body (excluding zero-frequency modes and ensuring orthogonality) | |
| Redundant modal coordinates of the flexible body (including zero-frequency modes) | |
| Global position of node of flexible body | |
| Original position of node of flexible body | |
| Simulation time | |
| General force vector of external loads | |
| Kinetic energy of system | |
| Finite element DOFs of flexible body | |
| Translational displacement of node due to flexible deformation of flexible body | |
| Inner DOFs of flexible body within the FE formulation | |
| Boundary DOFs of flexible body within the FE formulation | |
| Potential energy of system | |
| Global velocity of node of flexible body | |
| Position vector from global frame to body-fixed frame in global frame | |
| General displacement of bodies | |
| General velocity and acceleration of bodies | |
| Initial value of time step | |
| Value of | |
| General displacement of body | |
| Value of | |
| “;” | Separator of components in a “column” vector |
| for | |
| for | |
| time step for in the Newton iteration | |
| time step for | |
| 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
- Simeon, B. Computational Flexible Multibody Dynamics. A Differential-Algebraic Approach; Springer: Berlin/Heidelberg, Germany, 2013. [Google Scholar]
- Shabana, A.A. Dynamics of Multibody Systems; Wiley: New York, NY, USA, 1989. [Google Scholar]
- Craig, R.R.J. Substructure methods in vibration. J. Mech. Des. 1995, 117, 207–213. [Google Scholar] [CrossRef]
- Song, J.O.; Haug, E.J. Dynamic analysis of planar flexible mechanisms. Comput. Methods Appl. Mech. Eng. 1980, 24, 359–381. [Google Scholar] [CrossRef]
- Hurty, W.C. Dynamic analysis of structural systems using component modes. AIAA J. 1965, 3, 678–685. [Google Scholar] [CrossRef]
- Bampton, M.C.C.; Craig, J.R.R. Coupling of substructures for dynamic analyses. AIAA J. 1968, 6, 1313–1319. [Google Scholar]
- Hou, S.N. Review of Modal Synthesis Techniques and a New Approach; NASA: Washington, DC, USA, 1969. [Google Scholar]
- Macneal, R.H. A hybrid method of component mode synthesis. Comput. Struct. 1971, 1, 581–601. [Google Scholar] [CrossRef]
- Rubin, S. Improved component-mode representation for structural dynamic analysis. AIAA J. 1975, 13, 995–1006. [Google Scholar] [CrossRef]
- Kim, J.G.; Lee, P.S. An enhanced craig–bampton method. Int. J. Numer. Methods Eng. 2015, 103, 79–93. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- Wanner, G.; Hairer, E. Solving Ordinary Differential Equations II; Springer: Berlin/Heidelberg, Germany; New York, NY, USA, 1996; Volume 375. [Google Scholar]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Cros, J.M. Parallel modal synthesis methods in structural dynamics. Contemp. Math. 1998, 218, 492–499. [Google Scholar]
- 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).
- 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]
- 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]
- 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]
- 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]
- Wasfy, T.M.; Noor, A.K. Computational strategies for flexible multibody systems. Appl. Mech. Rev. 2003, 56, 553–613. [Google Scholar] [CrossRef]
- Higham, N.J. Gaussian elimination. Wiley Interdiscip. Rev. Comput. Stat. 2011, 3, 230–238. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- Ryan, R.R. ADAMS—Multibody system analysis software. In Multibody Systems Handbook; Springer: Berlin/Heidelberg, Germany, 1990; pp. 361–402. [Google Scholar]
- Pan, V.Y.; Zhao, L. Numerically safe Gaussian elimination with no pivoting. Linear Algebra Its Appl. 2017, 527, 349–383. [Google Scholar] [CrossRef]
- Strawderman, R.L.; Higham, N.J. Accuracy and stability of numerical algorithms. J. Am. Stat. Assoc. 1999. [Google Scholar] [CrossRef]
- 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]
- Golub, G.H.; Greif, C. On solving block-structured indefinite linear systems. SIAM J. Sci. Comput. 2003, 24, 2076–2092. [Google Scholar] [CrossRef]
- 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]
- 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]
- Sewell, G. Computational Methods of Linear Algebra; World Scientific Publishing Company: Singapore, 2014. [Google Scholar]
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. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).