# Parallel Direct Solution of Flexible Multibody Systems Based on Block Gaussian Elimination
## 3 Parallel Direct Solution Scheme Based on Block Gaussian Elimination
### 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:  
\[ \begin{bmatrix}\underline{\mathbf{M}}+\frac{\mathbf{C}}{\mathbf{h}^{2}}+\mathbf{K}-\left( \frac{\partial\mathbf{x}}{\partial\mathbf{\xi}}+\frac{1}{\hbar}\cdot\frac{\partial\bm {x}}{\partial\tilde{\xi}}\right)&\left(\frac{\partial\mathbf{x}}{\partial\mathbf{ \xi}}\right)^{\mathsf{T}}\\ \frac{\partial\mathbf{x}}{\partial\mathbf{\xi}}&\mathbf{0}\end{bmatrix} ^{\mathsf{T}} \begin{pmatrix}n,j\\ \Delta\mathbf{\xi}^{(n,j)}\end{bmatrix}=- \begin{bmatrix}\mathbf{b}\\ \mathbf{c}\end{bmatrix} ^{(n,j)}, \tag{45}\] \begin{table}
\begin{tabular}{l c l} \hline \hline
**Modal Invariant Submatrix** & **Dimension** & **Mechanical Meaning** \\ \hline \(I_{i,1}=\sum\limits m_{i,p}\) & \(1\times 1\) & Total mass \\ \(I_{i,2}=\frac{\
u}{p}\,m_{i,p}s_{i,p}\) & \(3\times 1\) & Initial centroid position in the FFR \\ \(I_{i,3}=\sum\limits m_{i,p}\mathbf{\Phi}_{i,p}^{\mathsf{I}}\) & \(3\times n_{i}\) & Deformation introduced change in modal centroid position \\ \(I_{i,4}=\frac{\
u}{p}\,(m_{i,p}\hat{\mathbf{\xi}}_{i,p}\mathbf{\Phi}_{i,p}^{\mathsf{ T}}+\mathbf{H}_{i,p}\mathbf{\Phi}_{i,p}^{\mathsf{T}})\) & \(3\times n_{i}\) & Deformation introduced change in the moment of inertia \\ \(I_{i,7}=\sum\limits_{p}\,(m_{i,p}\hat{\mathbf{\xi}}_{i,p}\hat{\mathbf{\xi}}_{i,p}+\mathbf{H}_ {i,p})\) & \(3\times 3\) & Initial moment of inertia \\ \(I_{i,8j}=\sum\limits_{p}m_{i,p}\hat{\mathbf{\xi}}_{i,p}\hat{\mathbf{\phi}}_{i,p,j}^{ \mathsf{T}}=1,\cdots,n_{i}\) & \(3\times 3\) & Deformation introduced change in the modal moment of inertia (the first-order main term) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Expressions, dimensions, and mechanical meanings of the modal invariant submatrices. wherein \(\mathbf{M}=\text{diag}(\mathbf{M}_{1},\cdots,\mathbf{M}_{m})\), \(\mathbf{C}=\text{diag}(\mathbf{C}_{1},\cdots,\mathbf{C}_{m})\), \(\mathbf{K}=\text{diag}(\mathbf{K}_{1},\cdots,\mathbf{K}_{m})\), and \(\mathbf{c}=[c_{1};\cdots;c_{k}]\) in the system with \(m\) bodies and \(k\) constraints. The superscript \(\square^{(n,j)}\) denotes that it is the \(j^{\text{th}}\) iteration in the \(n^{\text{th}}\) time integration step. In Equation (45), \(\mathbf{M}\) and \(\mathbf{K}\) are clearly block sparse, the same as \(\mathbf{C}\) with \(\mathbf{C}=\gamma\mathbf{K}\) by a proportional modal damping \(\gamma\) hypothesis. If the external forces \(\mathbf{\tau}\) are not related to \(\mathbf{\xi}\) and \(\mathbf{\xi}\), we also have  
\[\frac{\partial\mathbf{\tau}}{\partial\mathbf{\xi}}+\frac{1}{h}\cdot\frac{\partial\bm {\tau}}{\partial\mathbf{\xi}}=\mathbf{0}. \tag{46}\]  
However, the constraint Jacobian matrix \(\partial\mathbf{c}/\partial\mathbf{\xi}\) is typically considered dense. For bandwidth consideration in Gaussian elimination, we place the Lagrange multipliers \(\lambda\) after all the body DOFs \(\mathbf{\xi}\). 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 \(\mathbf{J}_{i^{\text{th}}},i=1,\cdots,m\) as that in \(\mathbf{J}\). Since the Jacobian matrix of external loads is ignored, the Jacobian matrix of the \(i^{\text{th}}\) component has the following form, ignoring the iteration superscript \(j\):  
\[