## 2 Methods  
### Assembly Error Propagation Model  
Limited to the current industrial level, the geometric deviations of the single-stage rotor are inevitable in the process of machining. The concentricity and parallelism errors of the assembly mounting surfaces of rotors at different stages are propagated stage by stage continuously, forming assembly cumulative errors. In Figure 1, the initial state of a 3-D two-stage simulation rotor before assembly is portrayed. Clearly, when the bottom mounting surface of each single-stage rotor is selected as the measurement datum, \(P_{1}\) refers to a parallelism error of the top mounting surface of Rotor 1, \(P_{2}\) to that of the top mounting surface of Rotor 2, and \(C_{1}\) and \(C_{2}\) are the concentricity errors of Rotor 1 and Rotor 2, respectively. A pair of screw holes is randomly selected in the circumferential direction of the rotor for calibration, and the sampling angle of the highest point of the top mounting surface is recorded with the center of the calibrated screw hole as the sampling starting point. The red and blue dots in Figure 1 are the calibrated screw holes of Rotor 1 and Rotor 2, respectively. M\({}_{1}\) and M\({}_{2}\) are the highest points of the top mounting surface of Rotor 1 and Rotor 2, respectively. N\({}_{1}\) and N\({}_{2}\) are the lowest points of the top mounting surface of Rotor 1 and Rotor 2, respectively. In Figure 1, the bottom mounting surface of Rotor 1 is used as an XY plane, and the normal axis passing through it is taken as the Z axis. The X axis is formed by a projection axis on the bottom surface of a line connecting the highest and the lowest points of the top mounting surface of Rotor 1. \(\delta\) refers to the phase difference between the calibrated screw holes of Rotor 1 and Rotor 2. After that, the assembly process of the two-stage rotor can be divided into the following four steps (see Figure 2):  
Figure 1: The initial state of a 3-D two-stage simulation rotor before assembly. Figure 2: The assembly processes of a 3-D two-stage simulation rotor. Step-1: Alignment of the calibrated screw holes. In actual assembly, the screw holes of Rotor 1 and Rotor 2 must be aligned first (i.e., Rotor 2 rotates an angle of \(\delta\) around the axis Z relative to Rotor 1), and then the assembly orientation can be selected with this state as the initial state. Although the angle of \(\delta\) cannot be determined, the phase difference (\(\varphi_{2}-\varphi_{1}\)) between the highest points of Rotor 1 and Rotor 2 after assembly can be obtained by measuring the sampling angle between the calibrated screw hole and its highest point of each stage rotor. Step-2: Selection of the optimal assembly orientation. Assuming that Rotor 1 is fixed, the calibrated screw holes of Rotor 2 and Rotor 1 must be aligned first. This is the initial state to select the appropriate assembly orientation of Rotor 2, and the rotation matrix of Rotor 2 relative to Rotor 1 about the Z axis can be expressed as follows:  
\[Rz_{2}=\left[ \begin{array}{ccc}\cos[\theta_{22}+(\varphi_{2}-\varphi_{1})]& -\sin[\theta_{22}+(\varphi_{2}-\varphi_{1})]&0\\ \sin[\theta_{22}+(\varphi_{2}-\varphi_{1})]&\cos[\theta_{22}+(\varphi_{2}- \varphi_{1})]&0\\ 0&0&1\end{array} \right] \tag{1}\]  
where \(\theta_{22}\) refers to an angle by which Rotor 2 rotates around the Z axis relative to Rotor 1, \(\varphi_{2}\) refers to an angle between the center of the calibrated screw hole of Rotor 2 and its highest point, and \(\varphi_{1}\) to that of Rotor 1. (\(\varphi_{2}-\varphi_{1}\)) refers to the phase difference between the highest point of Rotor 2 and that of Rotor 1 after alignment of the calibrated screw holes of Rotor 2 and Rotor 1. Considering the discrete and uniform distribution of the screw holes, the selection range of \(\theta_{22}\) was 0\(-\)180\({}^{\circ}\), and the optional angle was \(q(180/k)\), where \(k\) is the number of circumferential screw holes on the mounting surface, and \(q\) represents how many distribution angles the calibrated screw hole needs to rotate.