Keywords

1 Introduction

Rotary-type positive displacement machines (PDMs), such as twin-screw rotary compressors, are prevalent in industrial applications for producing high-pressure air and gases. These machines work by using the mechanical power of two counter-rotating rotors to suck in a fluid at the inlet, transport it through the chambers formed between the rotors, and compress it by reducing the volume of these chambers through rotation. The compressed fluid is then released at the exit with a higher pressure. Figure 1 shows an example of such a machine. The widespread usage of PDMs makes them prime targets for design optimization, both for economic and environmental reasons. Small improvements in performance can result in substantial energy savings and reduced carbon emissions globally, emphasizing the need for the development of energy-efficient designs.

Numerical simulation plays a crucial role in the analysis and optimization of twin-screw rotary compressors [1, 2]. Establishing a highly accurate and time-dependent geometry model of the fluid passage, the volume between the two counter-rotating rotors and the casing, is essential for conducting downstream simulations and structural design optimizations. Creating a high-quality structured mesh is therefore a critical pre-processing step. However, constructing such meshes is challenging for two main reasons. Firstly, the geometry of these compressors is complex, with extreme aspect ratios and features such as tiny clearances and sharp changes in gap sizes, making it difficult to construct high-quality meshes that are suitable for analysis. Secondly, the precise representation of the geometry requires a large number of mesh nodes, particularly in areas such as the clearance and the small gap between the rotors and the casing, which presents computational challenges to the efficient construction of meshes.

Fig. 1
An image of the rotary compressor has the parts labeled male rotor, casing, inlet port, female rotor, chamber, and outlet port.

The basic structure of a rotary twin-screw compressor (adjusted from [3])

To address the challenges in constructing high-quality structured meshes for rotary twin-screw compressors, the current best practice is to use specialized mesh generation tools such as TwinMesh™ [4] and SCORG™ [5]. These tools are designed specifically for rotary twin-screw compressors and pre-generate a sequence of computational meshes for both the fluid and solid parts of the domain at pre-selected time instances. Whereafter, commercial simulation packages like ANSYS CFX™ [6] can be applied. It is important to note that both of these mesh generators only produce linear meshes consisting of straight-sided cells.

Isogeometric Analysis (IGA) is an innovative computational method aimed at bridging the gap between Computer-Aided Geometric Design (CAGD) and Computer-Aided Engineering (CAE) [7]. The central idea of IGA is to use the same basis functions for both geometry representation in the design stage and finite element analysis (FEA). This approach offers several benefits, including accurate geometry modeling capabilities and simplifying the mesh generation interaction between the design and analysis models. IGA, which utilizes smooth and non-negative basis functions such as B-splines and Non-uniform Rational B-splines (NURBS), has been demonstrated to be more accurate and efficient than conventional FEA with \(C^0\) shape functions. As a result, IGA has gained traction in various areas, including fluid-structure interaction [8] and structural design optimization [9]. In addition, the principle of IGA has been effectively utilized in the numerical simulation of rotary PDMs [10].

Our focus on the IGA approach leads us to develop high-order B-spline parameterizations for rotary twin-screw compressors from their boundary representation in point cloud form. This paper presents an efficient approach that involves the solution of elliptic grid generation (EGG) within the IGA framework, with the added advantage of a block-diagonal Jacobian-preconditioned Anderson acceleration (AA) algorithm to speed up the computation of nonlinear systems of equations. Our results showcase the effectiveness and efficiency of this method. Moreover, the resulting parameterizations can be easily converted into high-quality structured meshes for simulation-based analysis of compressors.

2 Workflow of Our Analysis-Suitable Parameterization Method for Rotary Twin-Screw Compressors

In this paper, our starting point is the input point clouds of the two rotors and the casing, i.e., \(\{ \textbf{r}^{\textrm{male}}_i \}\) for the male rotor, \(\{ \textbf{r}^{\textrm{female}}_i \}\) for the female rotor, and \(\{ \textbf{c}_i \}\) for the casing. Our goal is to develop a high-order analysis-suitable spline-based volumetric parameterization of the form

$$\begin{aligned} \begin{aligned} \boldsymbol{x}:\quad \hat{\varOmega } &\rightarrow \varOmega \\ (\xi , \eta , \zeta ) &\mapsto (x,y,z) = \sum _{i_1=0}^{n_1} \sum _{i_2=0}^{n_2} \sum _{i_3=0}^{n_3} \textbf{P}_{i_1,i_2,i_3} N_{i_1, i_2, i_3}(\xi , \eta , \zeta ), \end{aligned} \end{aligned}$$
(1)

where \(\hat{\varOmega }\) is the parametric domain, \(\varOmega \) is the physical domain, and \(N_{i_1, i_2, i_3}(\xi , \eta , \zeta )\) are tri-variate B-spline basis functions.

Due to the inherent difficulty in constructing a parameterization for twin-screw geometries with small clearances and rapidly varying gap sizes, our basic idea is to first construct individual analysis-suitable parameterizations \(\boldsymbol{x}(\xi , \eta , \zeta _{i_3})\) for each planar slice \(\zeta = \zeta _{i_3}\) and glue these planar slices together along the \(\zeta \)-parametric direction to complete the entire parameterization process.

For clarity, we summarize the main workflow of our method in Fig. 2:

Fig. 2
A flowchart has the following flow, inputs, parameter matching between the male and female rotors, fitting to obtain B-spline representations, constructing base O-type parameterization, splitting the base, parameter matching for clearance, refitting, constructing, gluing, decision box of finished, and stop.

Main workflow of our method

  1. 1.

    Pre-processing steps: The first step of our method involves treating the male and female rotors as two independent rotors with their respective casing circles. We partition the original casing into two segments and complete them to a full circle. The quality of the resultant parameterization is heavily influenced by the parameter matching between the rotor and its corresponding casing circle. Therefore, we employ an outer boundary regularization subroutine to assign parametric values to the input point clouds and ensure high-quality results. Figure 3 (left) illustrates the outcome of this process for the male rotor. Next, we use constrained B-spline least-squares fitting that prescribes the end-points to convert the point clouds into B-spline representations. All subsequent manipulations are performed on these B-spline representations, thereby eliminating the need to interact with the original input point clouds.

  2. 2.

    Constructing high-quality analysis-suitable parameterization using EGG with preconditioned AA (Sect. 3): Having established the boundary representation of the computational domains, we adopt the principle of Elliptic Grid Generation (EGG) to generate an analysis-suitable parameterization. To enhance the quality of the parameterization, we introduce a novel discretization method in the Sobolev space \(H^1\). Furthermore, we present an efficient preconditioned Anderson acceleration (AA) algorithm to solve the underlying nonlinear systems. Our approach initially generates base O-type parameterizations for the individual male and female rotors and their casing circles. This step is performed only once as the base parameterizations can be re-utilized repeatedly. We then apply our method to construct high-quality spline-based parameterizations for the clearance at each planar slice \(\zeta = \zeta _{i_3}\).

  3. 3.

    Constructing analysis-suitable parameterization for the clearance at each planar slice: Once the base O-type parameterizations are generated, we split them at the CUSP-points for each slice \(\zeta = \zeta _{i_3}\) to obtain two C-type parameterizations, which are then combined to form the parameterization for the outer parts of the twin-screw geometry. This process is illustrated in Fig. 3 (right). To construct high-quality parameterizations for the clearance at each slice, we first use a parameter matching technique to assign reasonable parametric values to the west and east boundaries. Then, we refit the west boundary and apply the EGG parameterization technique to generate a high-quality parameterization for clearance. These steps are repeated for each slice, and the resulting parameterizations for each slice are glued together to form the final parameterization for the entire twin-screw geometry.

Fig. 3
2 diagrams. The one on the left has a circular structure with patterns. The one on the right has 2 intersected circular structures with patterns labeled outer part, clearance, and outer part from left to right.

Left: parameter matching result between the male rotor and its casing circle; Right: splitting the base O-type parameterizations to obtain the profile of the clearance and the C-type parameterization for outer parts

3 Elliptic Grid Generation Using Preconditioned Anderson Acceleration

In this section, we present a new discretization for EGG in the Sobolev space \(H^1\). In addition, we introduce a novel preconditioned Anderson acceleration framework to increase the efficiency of solving the nonlinear systems involved.

3.1 Elliptic Grid Generation (EGG) and Its \(H^2\) Discretization

The fundamental idea of EGG is to find a harmonic mapping \(\boldsymbol{x}: \hat{\varOmega } \rightarrow \varOmega \) through the solution of the following Laplace equations

$$\begin{aligned} \left\{ \begin{array}{cc} \varDelta \xi (x,y) = 0 &{}\\ \varDelta \eta (x,y) = 0 &{} \end{array} \quad \text {s.t.}\ \boldsymbol{x}^{-1}|_{\partial \varOmega } = \partial \hat{\varOmega }. \right. \end{aligned}$$
(2)

Let \(\mathbb {S}_{p,q}^{\boldsymbol{\varXi }, \boldsymbol{\mathcal {H}}}\) denote the spline space spanned by the bivariate B-spline bases of degree p and q with knot vectors \(\boldsymbol{\varXi }\) and \(\boldsymbol{\mathcal {H}}\), respectively, and \((\mathbb {S}_{p,q}^{\boldsymbol{\xi }, \boldsymbol{\mathcal {H}}})^0 = \{N_i \in \mathbb {S}_{p,q}^{\boldsymbol{\xi }, \boldsymbol{\mathcal {H}}}: N_i \vert _{\partial \hat{\varOmega }} = 0 \}\) be those vanishing on \(\partial \varOmega \). The variational principle leads to the following equivalent form of the nonlinear system (2)

$$\begin{aligned} \forall N_i \in (\mathbb {S}_{p,q}^{\boldsymbol{\xi }, \boldsymbol{\mathcal {H}}})^0: \left\{ \begin{array}{cc} \int _{\hat{\varOmega }}\ \textbf{N}\ \widetilde{\mathcal {L}} x\ \text {d}{\hat{\varOmega }} = \textbf{0}, &{}\\ \int _{\hat{\varOmega }}\ \textbf{N}\ \widetilde{\mathcal {L}} y\ \text {d}{\hat{\varOmega }} = \textbf{0}, &{} \end{array} \quad \text {s.t.}\ \boldsymbol{x}|_{\partial \hat{\varOmega }} = \partial \varOmega , \right. \end{aligned}$$
(3)

where \(\textbf{N}\) is the collection of B-spline basis functions in \((\mathbb {S}_{p,q}^{\boldsymbol{\xi }, \boldsymbol{\mathcal {H}}})^0\), and

$$\begin{aligned} \widetilde{\mathcal {L}} = \frac{\mathcal {L}}{\boldsymbol{x}_{\xi } \cdot \boldsymbol{x}_{\xi } + \boldsymbol{x}_{\eta } \cdot \boldsymbol{x}_{\eta }}, \end{aligned}$$
(4)

is the scaled version of the differential operator [11]

$$\begin{aligned} \mathcal {L} = (\boldsymbol{x}_{\eta } \cdot \boldsymbol{x}_{\eta }) \frac{\partial ^2}{\partial \xi ^2} - 2 (\boldsymbol{x}_{\xi } \cdot \boldsymbol{x}_{\eta }) \frac{\partial ^2}{\partial \xi \partial \eta } + (\boldsymbol{x}_{\xi } \cdot \boldsymbol{x}_{\xi }) \frac{\partial ^2}{\partial \eta ^2}. \end{aligned}$$
(5)
Fig. 4
2 diagrams of color gradient circular structures labeled A and B discretization in H 2 space and H 1 space. Both diagrams have color scales of scaled jacobian that range from 0.5 to 1.

Base O-type parameterizations for the female rotor constructed by discretizing the differential Eq. (2) in the Sobolev spaces \(H^2\) and \(H^1\)

3.2 Discretization in Sobolev Space \(H^1\)

Figure 4a shows a base O-type parameterization of the female rotor. The color map shows the value of the scaled Jacobian, with higher values indicating better orthogonality. As seen, the orthogonality is poor near the rotor. To enhance the parameterization quality without increasing the number of control points, we introduce the following discretization in the Sobolev space \(H^1\) instead of \(H^2\)

$$\begin{aligned} \forall N_i \in (\mathbb {S}_{p,q}^{\boldsymbol{\xi }, \boldsymbol{\mathcal {H}}})^0: \left\{ \begin{array}{cc} \int _{\hat{\varOmega }}\ \nabla _{\boldsymbol{x}} \textbf{N} \cdot \nabla _{\boldsymbol{x}} \xi \ \text {d}{\hat{\varOmega }} = \textbf{0}, &{}\\ \int _{\hat{\varOmega }}\ \nabla _{\boldsymbol{x}} \textbf{N} \cdot \nabla _{\boldsymbol{x}} \eta \ \text {d}{\hat{\varOmega }} = \textbf{0}, &{} \end{array} \quad \text {s.t.}\ \boldsymbol{x}|_{\partial \hat{\varOmega }} = \partial \varOmega . \right. \end{aligned}$$
(6)

Figure 4b shows the parameterization of the female rotor from solving the system (6). It is evident that the parameterization quality has been significantly improved in terms of orthogonality.

3.3 Anderson Acceleration with Dynamic Preconditioning Strategy

Problems (3) and (6) both resolve into a nonlinear system of the form

$$\begin{aligned} \boldsymbol{\mathcal {F}}(\textbf{x})=\textbf{0},\ \textbf{x} \in \mathbb {R}^n, \ \boldsymbol{\mathcal {F}}: \mathbb {R}^n \rightarrow \mathbb {R}^n. \end{aligned}$$
(7)

Newton-type methods are often used to solve the above nonlinear system [12]. However, these solvers require calculation and updating of the Jacobian matrix in each iteration, which become computationally expensive for large-scale problems. To this end, we adopt a preconditioned Anderson acceleration (AA) algorithm to improve the numerical stability and convergence speed [13]. Specifically, we define a preconditioned fixed-point iteration scheme using a non-singular matrix, \(\boldsymbol{\mathcal {M}}_k\), called the preconditioner at iteration k:

$$\begin{aligned} \textbf{x}_{k+1} = \textbf{x}_{k} - \boldsymbol{\mathcal {M}}_k^{-1} \boldsymbol{\mathcal {F}}(\textbf{x}_k). \end{aligned}$$
(8)

Here, the non-singular matrix \(\boldsymbol{\mathcal {M}}_k\) is referred to as the nonlinear preconditioner.

To strike a balance between convergence speed and computational efficiency, we use the diagonal blocks of the Jacobian matrix \(jac(\boldsymbol{\mathcal {F}}_k)\) as the preconditioner

$$\begin{aligned} \boldsymbol{\mathcal {M}}_k = diagBlock \left( jac(\boldsymbol{\mathcal {F}}_k) \right) = \begin{bmatrix} \partial _{\textbf{P}^{x,(k)}} \boldsymbol{\mathcal {F}}^x &{} \textbf{0} \\ \textbf{0} &{} \partial _{\textbf{P}^{y,(k)}} \boldsymbol{\mathcal {F}}^y \end{bmatrix}, \end{aligned}$$
(9)

where \(\textbf{P}^{x,(k)}\) and \(\textbf{P}^{y,(k)}\) represent the x- and y-components of the control points \(\textbf{P}\) at the k-th iteration, respectively, and \(\boldsymbol{\mathcal {F}}^x\) and \(\boldsymbol{\mathcal {F}}^y\) denote the first and second groups of the nonlinear system in (3) or (6).

Different from Newton-type and gradient-based solvers, the iteration of AA is a linear combination of several previous iterates. This enables us to avoid frequent updates of \(\boldsymbol{\mathcal {M}}_k\), which is computationally expensive. To accelerate our preconditioned AA solver, we update the preconditioners every \(N_{update}\) steps instead of at each iteration. In our parameterization problems, our preconditioned AA scheme typically converges within 1 to 2 updates of the preconditioner.

4 Analysis-Suitable Parameterizations for Planar Slices

With the base O-type parameterizations for both the male and female rotors obtained, we proceed to generate the topology information of the parameterization. For each slice \(\zeta = \zeta _{i_3}\), we split the base O-type parameterization for the male rotor by inserting the parameter values corresponding to the CUSP-points until their multiplicities reach \(p+1\). This results in the profile of the clearance and two C-type parameterization for the outer parts, as illustrated in Fig. 3 (right).

We have now obtained the profile of the clearance for the planar slice \(\zeta = \zeta _{i_3}\). However, the parameter matching between the west boundary and the east boundary is poor, resulting in skewed isolines or even inverted elements due to the tensor-product structure of B-spline surfaces, as shown in Fig. 5a. To address this issue, we need to ensure that the same parameter values are assigned to both sides, especially near the tiny gaps.

Fig. 5
3 diagrams of contour structures labeled A to C. A and C highlight 2 zoomed-in parts at the top and bottom. B has 2 upward flows of tang and d i s t from bottom to top.

a Poor boundary contour parameterization can result in skewed isolines; b our parameter mathing process; c improved parameterization result

Fig. 6
6 diagrams of 2 intersected circular structures with patterns. The patterns change throughout the diagrams.

Evolution of the planar parameterizations upon rotation of the rotors

The basic idea is to keep the east boundary of the current slice fixed and allow the parameter velocity to vary along the west boundary. To begin, we perform a uniform sampling of the east boundary of the current slice and identify the closest points on the west boundary. Since the parameter values for points near small gaps are crucial, we designate point pairs with a distance less than a given tolerance \(\varepsilon _{\textrm{dist}}\) (which we set to 1.0 in our experiments) as candidate point pairs. We then find the local minimum of the distances between the candidate point pairs, satisfying the condition \( \textrm{dist}_{i-1} \le \textrm{dist}_{i} \le \textrm{dist}_{i+1}\). However, to improve the accuracy of parameter matching, we also take into account the tangent vectors of the candidate point pairs. Specifically, we calculate the normalized tangent vectors on each candidate point pair, and mark pairs of points with \(\textrm{tang}_{i} < \varepsilon _{\textrm{tang}} < \textrm{tang}_{i+1}\) or \(\textrm{tang}_{i} > \varepsilon _{\textrm{tang}} > \textrm{tang}_{i+1}\) as matching pairs. To enhance robustness, we disallow adjacent nodes from being the same. Figure 5b provides an illustration of our parameter matching process. The resulting parameterizations before and after the parameter matching process are displayed in Fig. 5c, where it is evident that our method greatly enhances the quality of the parameterization.

With the boundary curves of the clearance in B-splines form, we proceed to generate an analysis-suitable parameterization using the method introduced in Sect. 3. The evolution of the constructed parameterizations are shown in Fig. 6.

Fig. 7
A 3 D diagram of 2 intersected circular structures has grid-like patterns in different color gradients. The left structure is smaller in size compared to the right one. It also has a scaled jacobian color scale ranging from 0.2 to 1.

Resulting volumetric parameterization

After constructing parameterizations for all the slices, the volumetric parameterization is achieved by connecting them along the z-direction within the physical space. Figure 7 illustrates a portion of the volumetric parameterization, obtained by stacking a substantial number of planar slices in the \(\zeta \)-direction.

5 Conclusion and Future Work

In this paper, we present a practical and efficient method for constructing analysis-suitable spline-based parameterizations for rotary twin-screw compressors. In particular, we adopt a block-diagonal Jacobian-preconditioned Anderson acceleration scheme to balance convergence speed and computational overhead. The proposed AA iteration scheme eliminates the need for frequent updates of computationally expensive preconditioners, enhancing its computational efficiency. Our dynamic preconditioning strategy updates the preconditioners every few steps rather than every iteration, allowing our scheme to typically converge within one or two such updates.

However, note that the resulting volumetric parameterization may not be bijective if the distance between two slices \(\zeta = \zeta _i\) and \(\zeta = \zeta _{i+1}\) is too large. Constructing genuinely three-dimensional analysis-suitable spline-based parameterizations for rotary twin-screw compressors is one of our ongoing works.