1 Introduction

Flows over multiple relatively rotating geometries are relevant in a wide range of turbomachinery applications. For boundary-fitted meshes, the computation of a rotating and a stationary object in a single fixed grid system is difficult due to the large boundary displacements. Different approaches using boundary-fitted meshes exist to simulate rotating boundaries [1], i.e, the single rotating frame (SRF) approach, where the stator is constrained to be rotationally symmetric, the multiple reference frame (MRF) approach, which is limited to steady-state simulations, and the sliding mesh (SM) approach, which is the only approach to obtain a time-accurate solution of the Navier-Stokes equations for complex geometries. However, the sliding mesh technique suffers from non-conservativity at the interface between rotor and stator when arbitrary mesh movement in considered. Conservativity is only directly obtained by posing restrictions on the grid at the interface, i.e., the azimuthal spacial step is related to multiples of the relative rotational speed between rotor and stator [2].

To simulate multiple relatively moving boundaries within one single grid system, boundary-fitted methods either require a mesh deformation, which can only be used for small boundary displacements and reduces the quality of the mesh, or a remeshing of the near-boundary grid, which is very difficult and costly for structured meshes. Although it can be efficiently done for unstructured meshes using tetrahedral cells, which, however, possess a higher numerical diffusion and therefore have a lower numerical accuracy compared to Cartesian cells [3]. The embedded-boundary approach using unstructured Cartesian meshes allows one to overcome all of the aforementioned problems and to simulate multiple relatively moving or rotating boundaries within one fixed grid system. There is no need to remesh the near boundary mesh or to use interfaces which either suffer from non-conservativity or stipulate restrictions on the geometry or the computational mesh. This alternative approach is very efficient and maintains the high mesh quality.

Approaches based on non-boundary-fitted meshes, also known as immersed boundary methods are subdivided by Mittal and Iaccarino [4] into two categories based on the formulation of the boundary conditions on the walls that are not aligned with the mesh. The first category contains continuous approaches such as the immersed boundary method introduced by Peskin [5, 6] or Goldstein et al. [7]. In those methods, the no-slip wall boundary condition is applied by adding forcing terms to the governing equations. The disadvantage of the continuous approaches is that the forcing term which is used to satisfy the boundary condition smears out the geometry. Therefore, the surface of the configuration is not represented by a sharp interface [8], which makes those methods non-conservative. The methods of the second category are considered discrete approaches which can be subdivided into indirect and direct approaches. The indirect methods are similar to the continuous category in the sense that a forcing term is used. However, unlike in the first category the forcing is applied to the discrete system of equations. The methods of LeVeque and Li [9] and of Verzicco et al. [10] and Mohd-Yusof [11] belong to this category. In the direct approaches of the second category, which are often referred to as Cartesian cut-cell methods [12,13,14,15] no forcing terms are added. The cells that define the surface of the geometry are cut and only the fluid fraction of the original cell volume is retained, which ensures a strict local and global conservation of mass, momentum, and energy, which is an essential property for the suppression of unphysical disturbances in moving boundary problems [16] and to obtain accurate and stable results for large displacements of the embedded boundaries [17]. This makes the Cartesian cut-cell method a very promising approach.

Different ways to describe and track moving embedded boundaries exist. A popular approach is the use of a triangular representation of the geometry in STereoLithography (STL) format which can be easily exported from CAD data [18]. A more efficient and more robust method, however, is based on the level-set formulation where an implicit surface representation by signed-distance functions is used [19]. For simple geometries analytical level-set functions can be used which do not require any propagation of the level-set function. For complex geometries the level-set function can be initialized from the STL geometry which, however, is very expensive [19]. Therefore, for moving boundaries, this should only be done to initialize the signed-distance function at the initial time-step. To evolve a level-set function in space, a time-accurate solution of a transport equation using reinitialization to improve the shape conservation can be considered [20, 21]. However, even when reinitialization is used, the geometry is never fully conserved such that the error is accumulated and the difference to the initial geometry increases over time. Therefore, a semi-Lagrangian level-set solver for translational boundary displacements was introduced in [19], where the error, which is defined by the interpolation error, is reduced and remains constant over time. Since this method fails for rotational displacements, it is extended to rotating embedded boundaries in this study. That is, an efficient approach for the rotation of the level-set function, which is initialized from CAD data, in a highly parallelized environment is introduced.

The Cartesian cut-cell method for stationary geometries has already been successfully used by Pogorelov et al. [22,23,24] to analyze the flow field in a ducted axial fan configuration using the single rotating frame approach, which was possible due to the rotational symmetry of the outer casing wall. The current axial fan configuration, however, contains a stationary turbulence generating grid upstream of the rotating fan. To be able to accurately capture the interaction of the turbulence generating grid with the fan blades, the moving boundary formulation of the Cartesian cut-cell method from [25] is combined with the multiple level-set approach from [19] and extended to rotating embedded boundaries.

The purpose of this study is to develop an efficient parallelized numerical methodology based on the cut-cell/level-set approach on Cartesian hierarchical meshes which has the capability to predict the unsteady turbulent flow field in three-dimensional turbomachinery applications with complex relative rotating boundaries using high-fidelity turbulence modeling such as large-eddy simulation (LES).

As of today only a few authors performed LES using the immersed boundary approach, to simulate three-dimensional turbulent turbomachinery flows. You et al. [26,27,28,29] successfully applied the immersed boundary method with discrete forcing at the wall boundaries to perform LES for the investigation of the tip-leakage flow of a linear cascade. They obtained a good agreement of their numerical results with experimental data in terms of velocity, Reynolds stresses, and energy spectra. However, their geometry was simple and stationary. Tyagi and Acharya [30] used a continuous immersed boundary approach to solve an unsteady stator-rotor interaction problem for an incompressible fluid on a rather small computational mesh with approx. 6 × 105 cells and a pure translational relative motion between rotor and stator. Furthermore, they used a simple two-dimensional geometry and due to the small spanwise extension of the mesh of 10 percent blade chord and periodic boundary conditions in the spanwise direction no three-dimensional flow phenomena were resolved. Posa et al. [31] performed large-eddy simulations of the flow field in mixed-flow pumps with moving geometries on a structured cylindrical mesh with approx. 28 × 106 grid points. They used a discrete forcing approach proposed by Fadlun et al. [32], which is based on interpolation near the boundaries and also suffers from non-conservativity.

The present paper introduces an accurate and efficient approach based on the conservative cut-cell method for large scale simulations of rotor-stator interactions in turbulent compressible turbomachinery flows with realistic rotating geometries. The application of the method to the rotating ducted axial fan configuration and the good agreement of the numerical results with the experimental data proves the quality of the numerical approach. Note, however, the main focus of this study is on the numerical methodology. The axial fan test case only represents an application that demonstrates the applicability of this approach to besides generic also industrially relevant problems.

The paper is structured as follows. First, the governing equations and the numerical method are described. Second, the level-set approach for rotating surfaces is introduced and applied to a generic rotor-stator test case. Then, it is shown that the method can be used to determine the flow over a rotating ducted axial fan before conclusions are drawn.

2 Mathematical Model

2.1 Governing equations

We consider a viscous and compressible fluid flow in the three-dimensional domain Ω. The non-dimensional conservation equations in a moving control volume V (t) ∈ Ω bounded by the surface A(t) = V (t) are given in arbitrary Lagrangian-Eulerian (ALE) formulation [33]

$$ \frac{d}{dt} {\int}_{V(t)} \mathbf{Q} \mathrm{d} V + \oint_{\partial V(t)} \overline{\mathbf{H}} \cdot \mathbf{n} \mathrm{d} A = \mathbf{0}, $$
(1)

where \(\mathbf {Q} = \left [ \rho , \rho \mathbf {u}, \rho E \right ]^{T}\) is the vector of the conservative variables, ρ the density, u the velocity vector , and E = e + u 2/2 the total specific energy containing the specific internal energy e. Furthermore, let P denote the vector of primitive variables \(\mathbf {P} = \left [ \rho , \mathbf {u}, p \right ]^{T}\) and the quantity n the outward unit normal vector on d A.

The flux tensor \(\overline {\mathbf {H}}\) can be decomposed into an inviscid \(\overline {\mathbf {H}}^{inv}\) and a viscous part \(\overline {\mathbf {H}}^{vis}\) defined by

$$ \overline{\mathbf{H}}^{inv} + \overline{\mathbf{H}}^{vis} = \left( \begin{array}{c} \rho(\mathbf{u}-\mathbf{u_{\partial V}}) \\ \rho\mathbf{u}(\mathbf{u}-\mathbf{u_{\partial V}}) + p\overline{\mathbf{I}} \\ \rho E (\mathbf{u}-\mathbf{u_{\partial V}}) + p\mathbf{u} \end{array}\right) + \frac{1}{\text{Re}_{0}} \left( \begin{array}{c} \mathbf{0}\\ \overline{\boldsymbol{\tau}} \\ \overline{\boldsymbol{\tau}} \mathbf{u}+\mathbf{q} \end{array}\right), $$
(2)

where u V denotes the velocity of the control volume surface.

All variables are non-dimensionalized by fluid properties of the state at rest denoted by the subscript “0”. The Reynolds number is obtained by Re0 = ρ 0 a 0 l r e f /η 0 using the speed of sound \(a_{0}=\sqrt {\gamma p_{0}/\rho _{0}}\) with the ratio of specific heats γ = 1.4 and the characteristic length l r e f . The stress tensor \(\overline {\boldsymbol {\tau }}\) for a Newtonian fluid with zero bulk viscosity is expressed by

$$ \overline{\boldsymbol{\tau}} = \frac23 \eta \left( \nabla \cdot \mathbf{u} \right) \overline{\mathbf{I}} - \eta \left( \nabla\mathbf{u} + \left( \nabla \mathbf{u} \right)^{T} \right). $$
(3)

According to Fourier’s law, the conductive heat flux reads

$$ \mathbf{q} = - \frac{\lambda}{\text{Pr}\left( \gamma-1\right)}\nabla T, $$
(4)

where ∇T is the gradient of the static temperature, P r = η 0 c p /λ 0 = 0.72 is the Prandtl number, and c p is the specific heat capacity at constant pressure. For a constant Prandtl number, the thermal conductivity is λ(T) = η(T) and the dynamic viscosity η is calculated using Sutherland’s Law [34]

$$ \eta(T)=T^{3/2}\frac{1+S}{T+S}, $$
(5)

with S = 111K/293K for air at moderate temperatures. The fluid is assumed an ideal gas such that the equation of state reads

$$ e = \frac{p}{\rho\left( \gamma - 1 \right)}. $$
(6)

2.2 Boundary conditions

At fixed or moving walls Γ(t), the no-slip boundary condition is imposed

$$ \mathbf{u}(\mathbf{x},t)= \mathbf{u}_{\Gamma}(\mathbf{x},t), \quad \mathbf{x} \in {\Gamma}(t), $$
(7)

and the walls are considered adiabatic

$$ \frac{\partial T}{\partial n }=0, \quad \mathbf{x} \in {\Gamma}(t). $$
(8)

According to [35], a Robin-type boundary condition for the pressure is derived from the momentum equation by projecting the pressure gradient normal to the surface and neglecting the viscous terms

$$ \frac{\partial p}{\partial n} = -\left( \rho \frac{d \mathbf{u}}{dt} \cdot \mathbf{n}\right), \quad \mathbf{x} \in {\Gamma}(t), $$
(9)

where d/d t denotes the material derivative.

3 Numerical Method

The numerical method is based on a multiple grid approach and uses two hierarchical Cartesian grids, where one grid is used to solve the conservation equation (1) and a second grid is used to track the moving geometries which are described by multiple level-set fields [19]. The computational meshes are generated by an efficient parallel mesh generator [36] and are adapted during the solution procedure according to the location of the moving boundary or local flow phenomena. The mesh for the fluid domain and the mesh for the level-set field can differ due to different requirements for the resolution of the geometry and the local flow field. However, they share the coarsest refinement level to ensure identical subdomain boundaries after the decomposition across different processors such that the hierarchical nature of the data structure allows a quick link and an efficient data exchange between the meshes.

In the following, the numerical method for the fluid domain is discussed. The conservation equation (1) is approximated on a hierarchical Cartesian grid with local refinements and cut cells at the boundaries using a cell-centered finite-volume discretization. The resolution of the Cartesian grid acts as an implicit filter and decomposes the turbulent structures into a resolved part containing the dominant large eddies and the non-resolved sub-grid scale part. That is, in the LES formulation, the sub-grid scales are implicitly modeled based on the monotone integrated LES approach (MILES) [37], where appropriate discretization schemes are used to numerically dissipate the energy at the smallest scales. This approach has been successfully validated by computing various complex turbulent flow problems [38,39,40,41].

The cut-cell concept is used for a sharp representation of wall boundaries. That is, in each time step all cells intersecting the moving boundary Γ, which is described by the zero contour of the level-set function, are cut by computing their intersection points. Then, the cell is divided into a fluid part and a solid part using a piecewise linear approximation of the geometry in between the cut points, where the solid part is discarded. Based on the cutting points, the new volume V, surface areas A, and boundary-surface normals n of the fluid part of the cell can be computed. Furthermore, the new cell center is obtained by \(\mathbf {x}_{c}=\frac {1}{V}{\int }_{V} \mathbf {x}d\tilde {V}\). For further details on the Cartesian cut-cell procedure for forced boundary motion, the reader is referred to [25].

The surface fluxes are approximated by an upwind-biased scheme, where the primitive variables at the cell surfaces are obtained by a second-order accurate monotonic upstream-centered scheme for conservation laws (MUSCL). The left and right values at each surface centroid \(\mathbf {x}_{s}=\frac {1}{A}{\int }_{A} \mathbf {x}d\tilde {A}\), marked by the superscripts L and R, are extrapolated from the cell centers of the two facing cells

$$ \mathbf{P}^{L/R}_{s}= \mathbf{P}^{L/R}_{c}+\nabla \mathbf{P}\mid^{L/R}_{c}\cdot(\mathbf{x}_{s}- \mathbf{x}_{c}^{L/R}), $$
(10)

where the cell-centered gradients ∇P c of each primitive variable ξP in cell c are computed by a weighted least-squares reconstruction [42]

$$ \nabla \xi\mid_{c}={\sum}_{l\in N_{c}}\mathbf{C}_{l}(\xi_{l} -\xi_{c}) $$
(11)

using all direct neighbors of the cell denoted by N c . The reconstruction constants are obtained by solving a linear equation system

$$ \overline{\mathbf{A}}\mathbf{C}_{l}={W_{l}}^{2}\mathbf{dx}_{l}, $$
(12)

with the distance vector d x l = x l x c and the tensor \(\overline {\mathbf {A}}={\sum }_{l\in N_{c}}{W_{l}}^{2}\mathbf {dx}_{l}\mathbf {dx}_{l}\), where \({W_{l}}^{2}\) is the squared reconstruction weight of the neighboring cell l. Details on the weighting and the solution of the linear equation system can be found in [25].

The inviscid flux vector \(\mathbf {F}_{i}^{inv}=\overline {\mathbf {H}}^{inv}\cdot \mathbf {e}_{i}\) is computed by a modified version of Liou and Steffen’s advection upstream splitting method (AUSM) [43] in a low dissipation version suitable for LES proposed by Meinke et al. [39]

$$ \mathbf{F}_{i}^{inv}=\frac{1}{2}[M_{i}^{LR}(\mathbf{f}^{L}+\mathbf{f}^{R})+|M_{i}^{LR}| (\mathbf{f}^{L}-\mathbf{f}^{R})]+\mathbf{p}_{i}, $$
(13)

where i = 1,2,3, \(M_{i}^{LR}=\frac {1}{2}[(u_{i}/a)^{L}+(u_{i}/a)^{R}]\), and

$$ \mathbf{f}=[\rho a, \rho a \mathbf{u},\rho a (E+p/\rho)]^{T}. $$
(14)

The term for the pressure is obtained by

$$ \mathbf{p}_{i}=\left[ p^{L}\left( \frac{1}{2}+\chi(u_{i}/a )^{L}\right)+ \\ p^{R}\left( \frac{1}{2}-\chi(u_{i}/a)^{R} \right) \right] \left( \begin{array}{ccccccc} 0 \\ \mathbf{e}_{i} \\ 0 \end{array}\right), $$
(15)

where the parameter χ determines the numerical dissipation of the scheme. It is set to 0.5 at surfaces between cells of different refinement levels and 1/96 everywhere else. For the viscous flux vector \(\mathbf {F}_{i}^{vis}=\overline {\mathbf {H}}^{vis}\cdot \mathbf {e}_{i}\), a central-difference scheme is used, where the gradients at the cell-surface centroids are computed using the recentering approach proposed by Berger [44]. As shown in [16], the overall spatial accuracy of this approach is second order. Further details on the basic numerical method can be found in [16, 25, 45].

The temporal integration of the Navier-Stokes equations (1) is done by a new more efficient explicit second-order accurate 5-stage Runge-Kutta scheme proposed by Schneiders et al. [25], which is a modification of the scheme from Jameson and Mavriplis [46]

$$\begin{array}{@{}rcl@{}} &&(\mathbf{Q}V)^{(0)}=(\mathbf{Q}V)^{(n)}, \\ &&(\mathbf{Q}V)^{(1)}=(\mathbf{Q}V)^{(0)}- {\Delta} t ~\mathbf{R}(t^{n};\mathbf{Q}^{(0)}),\quad\\ &&(\mathbf{Q}V)^{(k)}=(\mathbf{Q}V)^{(0)}- {\Delta} t \left[(1-\alpha_{k-1})~\mathbf{R}(t^{n};\mathbf{Q}^{(0)})+\alpha_{k-1}~\mathbf{R}(t^{n+1};\mathbf{Q}^{(k-1)})\right],\quad k=2,...,5, \\ &&(\mathbf{Q}V)^{(n+1)}=(\mathbf{Q}V)^{(5)}. \end{array} $$
(16)

The superscript n denotes the time level t = nΔt and R(t;Q) is the finite-volume aproximation of the cell-surface flux integral at time level t, i.e,

$$ \mathbf{R}(t;\mathbf{Q})=\oint_{\partial V(t)} [ \overline{\mathbf{H}}^{inv}(\mathbf{Q}) + \overline{\mathbf{H}}^{vis}(\mathbf{Q})]\cdot \mathbf{n} dA + \textit{O}(h^{2}). $$
(17)

Note that unlike in the Jameson and Mavriplis [46] method the residual operator R has not to be recomputed in the intermediate Runge-Kutta stages. This makes the new method extremely attractive when problems with moving boundaries are considered, where in the standard formulation [46] the residual operator for each intermediate stage has to be reconstructed.

In this study, the coefficients \(\boldsymbol {\alpha }=(\frac {1}{4},\frac {1}{6},\frac {3}{8},\frac {1}{2},1)^{T}\) are used, which are optimized for stability. The time step Δt is computed via the Courant-Friedrichs-Lewy (CFL) stability constraint

$$ {\Delta} t= \text {CFL} \underset{i=1,2,3}{ \text {min} }~ \frac{h}{|u_{i}|+a}, $$
(18)

where h is the length of the smallest non-cut cell of the computational domain.

Using the aforementioned cut-cell approach arbitrarily small cells can be generated, which lead to numerical instabilities. Therefore, a flux redistribution method developed by Schneiders et al. [25], which ensures stability without reducing the time step to extremely small values, is applied.

4 Kinematic Motion Level-set Interface Method

As mentioned in Section 3, a second Cartesian mesh is used for the level-set field to track the moving boundaries. A multiple level-set approach with a semi-Lagrangian level-set solver for multiple translationally moving boundaries has been introduced in [19]. In the following, this approach is extended to rotating boundaries such that arbitrary turbomachinery flows can be computed. An efficient approach for the rotation of the embedded boundaries described by a level-set field on a computational domain distributed across different processors is introduced. The approach is explained for an example with a simple geometry, i.e., a rotating cylinder surrounded by an outer wall and subsequently, applied to the flow over a ducted axial fan with an upstream installed turbulence generating grid.

To represent an arbitrary moving embedded boundary Γ(t) a signed-distance function ϕ(x,t) defined as

$$\begin{array}{@{}rcl@{}} &{\Omega}^{f}(t)=\left\{ \mathbf{x}|\phi(\mathbf{x},t)>0\right\},\\ &{\Gamma}(t)=\left\{ \mathbf{x}|\phi(\mathbf{x},t)=0\right\},\\ &{\Omega}^{s}(t)=\left\{ \mathbf{x}|\phi(\mathbf{x},t)\le0\right\} \end{array} $$
(19)

with the property |∇ϕ|=1 is used. The sign of ϕ(x,t) defines wether a point x ∈ Ω is located inside the solid Ωs(t) or the fluid domain Ωf(t) at a time t. The interface location is given by the zero contour of the level-set function \({\Gamma }(t)=\left \{ \mathbf {x}|\phi (\mathbf {x},t)=0\right \}\) denoted by ϕ 0. The distance to each point x ∈ Ω can be evaluated by

$$ dist(\mathbf{x},{\Gamma}(t))=|\phi(\mathbf{x,t})|. $$
(20)

The use of a signed-distance function allows an easy evaluation of the normal vector n(x,t) pointing into the solid

$$ \mathbf{n}(\mathbf{x},t)=-\frac{\nabla \phi(\mathbf{x},t)}{|\nabla \phi(\mathbf{x},t)|}. $$
(21)

Further details on the computation of intersection information required for the computation of the cut cell geometry are discussed in [19].

There are different approaches for the evolution of a level-set function. For simple geometries analytical level-set functions can be used which allows a straightforward evaluation of the embedded boundaries at any time t for arbitrary translational and rotational motions. If the level-set function is initialized from CAD data, a time accurate solution of the level-set transport equation

$$ \frac{\partial \phi}{\partial t}+\mathbf{f}\cdot \nabla \phi=0, $$
(22)

with the velocity vector f(x,t) can be determined using the reinitialization concept to improve the shape conservation [20, 21]. However, despite high-order discretization methods and constraint reinitialization approaches numerical errors are accumulated when (22) is solved such that the geometric conservation is not completely fulfilled, i.e., the geometry slightly changes in time [19]. Therefore, a semi-Lagrangian level-set solver was introduced in [19]. Using this approach the geometric error is just defined by the interpolation error and remains constant over time. However, this semi-Lagrangian method was developed for translational displacements only. Therefore, it is extended to rotational displacements in this study.

The overall methodology is discussed for a simple rotor-stator test case, i.e., a ducted rotating cylinder illustrated in Fig. 1, where the embedded boundary Γ1 denotes the outer wall and Γ2 the inner rotating cylinder. The length and the diameter of the inner cylinder are L/D o = 2/3 and D i /D o = 2/15, where D o denotes the diameter of the outer wall. The origin of the coordinate system coincides with the centerlines of the outer and inner cylinder which also define the x and y directions.

Fig. 1
figure 1

Inner cylinder and outer cylinder wall given in STereoLithography (STL) format; Γ1 and Γ2 denote the boundaries of the outer wall and the inner cylinder

Figure 2 shows the separate level-set fields of the stationary outer cylinder ϕ 1 (top left), the rotating inner cylinder ϕ 2 (top right) initialized from STL data, and a combined level-set field ϕ 0 (bottom) according to [19]. The latter is used for the computation of the cut cells. For a sharper representation of complex geometries or tip gaps, the multi-cut cell technique introduced by Schneiders et al. [47] can be used, where ϕ 1 and ϕ 2 are used for the computation of the cut cells, instead of ϕ 0. This method allows complex intersections of a single Cartesian cell with multiple surfaces. The positive values of the level-set function ϕ 0 denote the fluid part and the negative values the solid part of the domain and black solid lines denote the zero level-set contour ϕ 0. Furthermore, Fig. 2 illustrates the Cartesian mesh used for the level-set field. The mesh is adaptively refined along the embedded boundaries Γ1 and Γ2, where the maximum refinement level, which defines the geometric accuracy, and the width of the refined band denoted by shadow band in Fig. 2 (top left), can be specified. Since the level-set information is only required close to the boundaries and to reduce the costs, the level-set field is defined in a thin band denoted as solution band Fig. 2 (top left) located within the shadow band. The rest of the domain is initialized by the maximum positive or negative level-set value. Both bands are defined based on the zero level-set contour ϕ 0. When one embedded boundary is propagated in time, the solution band moves within the shadow band. Once the distance between the outer boundaries of the shadow and solution band becomes smaller than 3h, with h being the cell length inside the shadow band, the mesh is adapted to retain a fixed band of refined cells along the embedded boundaries.

Fig. 2
figure 2

Illustration of the x = 0, y-z plane, i.e., the cross section through the center of the cylinder; the level-set function ϕ 1 (top left) describes the embedded boundary Γ1 initialized from the STL geometry of the outer wall; the level-set function ϕ 2 describes the embedded boundary Γ2 (top right) initialized from the STL geometry of the inner cylinder; the level-set function ϕ 0 (bottom) is a combination of ϕ 1 and ϕ 2 and is used for the generation of cut cells; the colors correspond to the value of the respective level-set function; black solid lines denote the zero level-set contour ϕ 0

In the present formulation, the level-set field ϕ 2 is to be propagated in time to rotate the embedded boundary Γ2 about the x-axis. To prevent the accumulation of the geometric error in time, the level-set function is propagated by interpolating from the reference level-set field initialized from the STL geometry such that the geometric error is just defined by the interpolation error and remains constant over time. For any arbitrary prescribed motion of the embedded boundary Γ2, the level-set function in the cell center x can be evaluated by

$$ \widetilde{\phi^{2}}(\mathbf{x},t_{0}+ t)=\phi^{2}(\mathbf{x}_{int}) $$
(23)

at every time step using trilinear interpolation according to [19]. For linear translational motion without acceleration x i n t = xv(tt 0), where v is the translational velocity of the embedded boundary.

For small displacements ||xx i n t ||≤ 3h/2 only the direct neighbors of a cell have to be searched to find the corresponding cell which contains the point x i n t . Then, \(\widetilde {\phi ^{2}}\) is evaluated by trilinear interpolation using the level-set values at the corner vertices \({\phi ^{2}_{v}}\), which are computed using the cell center values of the eight surrounding cells \({\phi ^{2}_{v}}={\sum }_{k=1}^{8} {\phi ^{2}_{k}}\). For parallel computations, one layer of halo and window cells is used to exchange data at the sub-domain interfaces, i.e., the cell center value and the eight values at the corner vertices are exchanged between the window and the halo cells, where window cells are internal cells at the sub-domain boundaries and halo cells are a copy of the according window cells on the neighboring domain.

Once the displacement becomes larger than 3h/2, the corresponding cell containing x i n t has to be searched in the entire domain. This is very expensive, especially for parallel computations where the domain is distributed on an arbitrary number of processors. To avoid this, the entire level-set field within the solution band is shifted by exactly one cell in the direction of motion

$$ \phi^{2}_{shift}(\mathbf{x})=\phi^{2}(\mathbf{x}-\mathbf{x}_{shift}) $$
(24)

each time the displacement becomes larger than half the cell length such that ||xx i n t ||≤ h/2 at all times. Thus, the interpolation can be performed locally within the cell in which the level-set field has to be evaluated without the need to search the corresponding cell in the entire domain. Since the level-set field is shifted by exactly one cell, the level-set values can be directly copied from the neighboring cells and no interpolation is required for this step such that the accuracy of the reference level-set field ϕ 2 is kept. Therefore, the level-set function \(\widetilde {\phi ^{2}}\) is evaluated by

$$ \widetilde{\phi^{2}}(\mathbf{x},t_{0}+ t)=\phi^{2}_{shifted}(\mathbf{x}_{int}). $$
(25)

This approach works fine for translational motion. However, due to the Cartesian mesh, for rotational motion the reference level-set field ϕ 2 cannot be shifted in the direction of motion without a loss of accuracy to avoid the search of the corresponding cell containing x i n t , which for rotational motion without acceleration is defined as \(\mathbf {x}_{int}=\overline {\mathbf {Q}}(\mathbf {x}-\mathbf {x}_{ref})+\mathbf {x}_{ref}\). The quantity x r e f denotes the center of rotation and \(\overline {\mathbf {Q}}\) denotes the rigid body rotation, which for a rotation at a constant angular velocity ω about the x-axis reads

$$ \overline{\mathbf{Q}}=\left( \begin{array}{ccccccccccc} 1 & 0 & 0\\ 0 & cos(\omega (t-t_{0})) & sin(\omega (t-t_{0}))\\ 0 & -sin(\omega (t-t_{0})) & cos(\omega (t-t_{0})) \end{array}\right). $$
(26)

Therefore, the reference level-set field initialized from the STL data remains unchanged at all times. To keep the accuracy of the reference level-set field, the level-set mesh is not adapted within the initial solution band. To rotate the embedded boundary the level-set function is evaluated according to Eq. 23 and the global cell ID of the cell containing x i n t and its sub-domain ID are stored for each cell inside the solution band and are updated at each time step by checking whether the stored cell contains the point x i n t . This allows restarting the solution procedure at any instant in time using an arbitrary number of processors. At a time when the point x i n t leaves the corresponding cell, all direct neighbors are searched to find the new corresponding cell and the stored global cell ID is updated. If x and x i n t are located in the same sub-domain, no communication is required. However, if the new corresponding cell is a halo cell, the global cell ID of its corresponding window cell located on the neighbor sub-domain and the ID of the sub-domain are stored. In the next time step, the coordinates x i n t and the global cell ID of the stored window cell are sent directly to the stored sub-domain. Then, it is checked whether the window cell still contains the point x i n t , otherwise its neighbors are searched. Subsequently, the level-set function ϕ 2 is interpolated based on values at the vertices of the identified corresponding cell and sent back to the sub-domain which requested this information. This approach is applied to each cell located inside the solution band and avoids a global search in all sub-domains which is very expensive. After the interpolation, the level-set fields ϕ 1 and ϕ 2 are combined to the level-set field ϕ 0, which is then exchanged with the computational mesh used to solve the conservation equations to compute the cut cells. Using this approach the inner cylinder can be rotated. It is exemplarily shown in Fig. 3 for three angles of rotation, i.e., 0, 45, and 90.

Fig. 3
figure 3

Illustration of the x = 0, y-z plane, i.e., the cross section through at the center of the cylinder; the level-set field ϕ 0, which is a combination of the level-set field ϕ 1 and the propagated level-set field ϕ 2 for three angles of rotation, i.e., 0, 45, and 90; the colors correspond to the value of the respective level-set function; black solid lines denote the zero level-set contour ϕ 0

To quantify the geometric error, three mesh resolutions inside the solution band are used, i.e., h/D o = 0.0114, h/D o = 0.0228, and h/D o = 0.0456. For all cases, the zero level-set contours ϕ 0 are exported as triangular surface grids \({\Gamma }_{h}^{LVS}\) at each time step. The zero level-set contour ϕ 0 of the finest mesh, i.e., h/D o = 0.0114, at time step t 0, which is reconstructed from the level-set field initialized by the STL data, is denoted \({\Gamma }_{h}^{ref}\) and used as reference. To compute the error, we define the distance \(dist(\mathbf {x}_{v},{\Gamma }_{h}^{ref})\) between a point x v belonging to a surface \({\Gamma }_{h}^{LVS}\), \(\mathbf {x}_{v} \in {\Gamma }_{h}^{LVS}\) with the superscript LVS meaning level set, and the reference surface \({\Gamma }_{h}^{ref}\)

$$ dist(\mathbf{x}_{v},{\Gamma}_{h}^{ref})=\min_{\mathbf{x}_{q} \in {\Gamma}_{h}^{ref}} ||\mathbf{x}_{v} -\mathbf{x}_{q}||_{2}, $$
(27)

where ||⋅||2 denotes the Euclidian norm. Furthermore, we require \(\mathbf {x}_{v} \in {\Gamma }_{h}^{LVS}\) to be a grid vertex, while \(\mathbf {x}_{q} \in {\Gamma }_{h}^{ref}\) may be located on a triangle edge or surface. The mean distance based on the L1-norm of the distance field from \({\Gamma }_{h}^{LVS}\) to \({\Gamma }_{h}^{ref}\) can be computed by

$$ dist({\Gamma}_{h}^{LVS},{\Gamma}_{h}^{ref})=\frac{1}{N_{{\Gamma}_{h}^{LVS}}} {\sum}_{\mathbf{x}_{v} \in {\Gamma}_{h}^{LVS}} dist(\mathbf{x}_{v},{\Gamma}_{h}^{ref}), $$
(28)

where \(N_{{\Gamma }_{h}^{LVS}}\) is the number of grid vertices x v on \({\Gamma }_{h}^{LVS}\). Therefore, we define the geometric error e h at each time step as

$$ e_{h}=\frac{dist({\Gamma}_{h}^{LVS},{\Gamma}_{h}^{ref})}{D_{o}}, $$
(29)

which is depicted in Fig. 4 over a quarter rotation of the inner cylinder about the x-axis for three grid resolutions. The geometric error which is just defined by the interpolation error remains almost constant during the rotation of the inner cylinder. Since \({\Gamma }_{h}^{LVS}\) of the finest mesh at t 0 is used as the reference surface grid \({\Gamma }_{h}^{ref}\) and due to the Cartesian structure of the level-set mesh, the geometric error is zero at 0 and 90 for h/D o = 0.0114. The interpolation error decreases, as the mesh is refined. To quantify the convergence rate of the geometric error, it is averaged over a quarter rotation

$$ e_{avg}=\frac{2}{\pi}{\int}_{0}^{\pi/2} e_{h} d \theta. $$
(30)

Figure 5 evidences the second-order convergence of the mean geometric error.

Fig. 4
figure 4

L1-norm of the geometric error e h over time for a rotation of the inner cylinder by 90 about the x-axis for three grid resolutions, i.e., h/D o = 0.0114, h/D o = 0.0228, and h/D o = 0.0456

Fig. 5
figure 5

L1-norm of the geometric error averaged over a quarter rotation e a v g of the inner cylinder about the x-axis for three grid resolutions, i.e., h/D o = 0.0114, h/D o = 0.0228, and h/D o = 0.0456; the solid line indicates a second-order slope

Note that the method is not restricted to rotational motions at a constant angular velocity ω. It can be easily applied to arbitrary translational and rotational motions using \(\mathbf {x}_{int}=\overline {\mathbf {Q}}(\mathbf {x}-\mathbf {x}_{ref})+\mathbf {x}_{ref}-\mathbf {v} (t-t_{0})\), with \(\overline {\mathbf {Q}}\) from Eq. 26, where the angular velocity ω(T) and the translational velocity v(t) can vary in time.

5 Results

Having described the method to numerically simulate the rotating embedded boundaries for a generic case, we now turn to the discussion of an industrially relevant flow problem using the multiple grid Cartesian cut-cell/level-set method. The flow over a rotating ducted axial fan with a stationary turbulence generating grid at the inflow is computed. The flow configuration is a standardized fan test rig, which has been used for acoustic measurements by, e.g., Sturm and Carolus [48]. The axial fan is a low pressure rotor-only fan and has five twisted blades made up from standard NACA 0010-63 airfoil sections with a maximum camber of 4% at midchord. The chord length of the blades varies between 67.7 mm and 90.5 mm. The trailing edge thickness is 0.6 mm and the diameter of the outer casing 300 mm. The Reynolds number based on the relative velocity π D o n and the diameter of the outer wall is \(Re=\frac {\rho \pi {D_{o}^{2}} n}{\eta }=9.36 \times 10^{5}\) and the Mach number is \(M=\frac { \pi D_{o} n}{a}=0.136\), where n=3000 rpm.

The geometry of the configuration visualized by the zero level-set contour ϕ 0 and two axial cross sections through the computational mesh are shown in Fig. 6. The mesh has approx. 275 Mio. cells and is adapted according to the relative location of the turbulence generating grid and the fan blades. The analysis is performed at a fixed operating point defined by the flow rate coefficient \({\Phi }=\frac {4\dot {V}}{\pi ^{2} {D_{o}^{3}} n}= 0.165\) and the tip-gap width s/D o = 0.01. The ratio between the diameter of the outer casing wall and the inner diameter of the hub is D o /D i = 20/9. The turbulence generating grid consists of perpendicular rods with a quadratic cross section. The geometric quantities defining the turbulence grid a/D o = 0.05 and b/D o = 0.2 are shown in Fig. 6.

Fig. 6
figure 6

Geometry of the axial fan configuration visualized by the zero level-set contour ϕ 0 and axial cross sections through the computational mesh for the fluid flow; simulation of the relative rotation between the turbulence generating grid and the fan blades

Due to a 90 periodicity of the turbulence generating grid geometry and 72 periodicity of the fan blades geometry in the azimuthal direction, a periodic boundary condition, which has been imposed in previous investigations of the axial fan flow [22, 23], where only one out of five blades has been resolved, cannot be used for the current configuration. Therefore, a 360 full-fan computation is conducted. The grid convergence study in [22] has shown that approx. 1 billion cells are required to accurately resolve all flow phenomena around one fan blade. When considering all five blades and a much larger axial extent of the computational domain due to the turbulence generating grid located 1.25D o upstream of the fan blades, which not only increases the number of cells, but also the number of time steps to obtain a fully developed flow field, the computational costs for an accurate resolution of the flow field are enormous. Therefore, this analysis is not aimed at resolving all the detailed flow physics such as the vortical structures inside the tip-gap or the transition phenomena on the suction side. The reason for this investigation is twofold. On the one hand, the applicability of the kinematic motion level-set interface method to real turbomachinery flows is to be demonstrated and on the other hand, the impact of the interaction of the turbulence grid and the rotating fan on the flow field upstream of the rotating blades, i.e., the definition of the inflow data, is to be shown.

In this study, the size of the finest cells at the wall is approx. Δx i = 8.0 × 10−4 D o , the size of the coarsest cells off the wall is approx. Δx i = 32.0 × 10−4 D o , and the time step is Δt π n = 1.064 × 10−4. In total, six full rotations of the rotor are simulated. Data of the last two rotations are used for the statistical analysis of the flow field. The computation has been performed on 4608 CPUs and the total CPU time to simulate 6 full rotations is approx. 340 h.

In Fig. 7 the instantaneous vortical structures of the flow field are visualized by the contours of the Q-criterion and colored by the relative Mach number in the frame of reference of the fan blades. The maximum relative Mach number is located near the tip-gap region due to the rotation of the blades. The grid generated vortical structures and the turbulent fluctuations, which are generated by the flow separating from the rectangular rods, decay in the axial direction due to turbulent mixing such that a more homogeneous turbulent flow field develops. Several flow phenomena, i.e., passage vortices at the hub of the blades, which lead to a turbulent transition of the boundary layer, and tip-gap vortices at the blade tips, which are generated by the tip-leakage flow inside the tip gap and produce highly unsteady turbulent wakes, are observed. Note that the details of those phenomena have been discussed in [22, 23]. Turbulent transition on the suction side of the blades has been also observed in [22] under the same operating conditions. This mechanism is not captured in the current solution due to the underresolution of the near-wall flow.

Fig. 7
figure 7

Contours of the Q-criterion of the instantaneous flow field colored by the relative Mach number in the frame of reference of the fan blades

Figure 8 shows the impact of the turbulence generating grid on the flow field over the axial fan. The contours of the vorticity magnitude \(|\vec {\omega }|/\pi n\) of the instantaneous flow field at Θ = −45 for the 72 computation using periodic boundary conditions in the circumferential direction without a turbulence generating grid on a mesh with approx. 50 Mio. cells from [22] (top) are compared with the current 360 computation including a turbulence generating grid at the inflow (bottom). Note that the off-wall mesh resolution is identical in both cases. A major impact on the overall flow field upstream of the rotating blades is evident, which also affects the flow field near the tip-gap region and downstream of the fan blades. Without the turbulence generating grid, the inflow is free of vorticity fluctuations. The main vortical structures are generated by the fan blades in the tip-gap regions by the tip-gap vortices and their highly unsteady turbulent wakes, downstream of the blades by the turbulent wakes generated at their trailing edges, and at the hub by the turbulent boundary layer. With the turbulence generating grid, high vorticity is generated upstream of the fan, which affects the flow field around the blades and increases the vorticity especially in the tip-gap regions and the blade wake regions.

Fig. 8
figure 8

Contours of the vorticity magnitude \(|\vec {\omega }|/\pi n\) of the instantaneous flow field at Θ = −45 for the 72 computation using periodic boundary conditions in the circumferential direction without a turbulence generating grid from [22] (top) and the current 360 computation with a turbulence generating grid at the inflow (bottom); the dashed line denotes the axial location x/D o = 0.0

Figure 9a–c clearly show the strong impact of the turbulence generating grid on the flow field inside the tip gap. Compared to the case without inflow turbulence, which shows a positive axial velocity close to the blades tip surface Fig. 9a, due to the separation bubble inside the tip gap, for the case with the grid generated turbulence the separation bubble reattaches closer to the pressure side such that no positive axial velocity is observed over the entire gap width. This effect is also reflected in the radial distributions of the pressure fluctuations Fig. 9b and the turbulent kinetic energy Fig. 9c, where the peaks close to the blade-tip surface disappears for the case with inflow turbulence. However, as mentioned before, for a reliable quantitative analysis of the impact of the turbulence generating grid on the tip-leakage flow dynamics and the unsteady vortical flow features in the tip-gap region, a higher grid resolution is required [22, 23].

Fig. 9
figure 9

Radial distribution of the time-averaged axial velocity (a), turbulent kinetic energy (b) and pressure fluctuations (c) inside the tip-gap; without a turbulence generating grid (—); with a turbulence generating grid at the inflow (- - -)

The instantaneous contours of the axial Mach number M x at Θ = −45 and at three time steps, i.e, t 0, t 0 + ΔT, and t 0 + 2ΔT with \({\Delta } T \pi n=\frac {\pi }{15}\) which corresponds to 24 rotation angle of the blades, in Fig. 10 show that the flow is accelerated due to the displacement defined by the rods and deadwater regions are generated downstream of each rod, which results in multiple free-shear layers that become unstable and strongly mix further downstream of the turbulence generating grid. This leads to an almost homogenous turbulent flow that interacts with the blades. In addition, Fig. 11 illustrates instantaneous contours of the axial Mach number M x at x/D o = 0.617, i.e., this cross section cuts fan blades, and the same three time steps. The dashed line denotes the location of the plane at Θ = −45 from Fig. 10 and the turbulence generating grid is indicated by the black solid lines. The visualization of the flow field shows that the large-scale structures hardly change as a function of time and possess an azimuthal periodicity which is related to the five blades of the fan.

Fig. 10
figure 10

Instantaneous contours of the axial Mach number M x at Θ = −45 and at three time steps, i.e, t 0, t 0 + ΔT, and t 0 + 2ΔT with \({\Delta } T \pi n=\frac {\pi }{15}\) which corresponds to 24 rotation angle of the blades; the dashed line denotes the axial location x/D o = 0.0

Fig. 11
figure 11

Instantaneous contours of the axial Mach number M x at x/D o = 0.617 and at three time steps, i.e, t 0, t 0 + ΔT, and t 0 + 2ΔT with \({\Delta } T \pi n=\frac {\pi }{15}\) which corresponds to 24 of rotation; the black solid lines indicate the relative position of the turbulence generating grid; the dashed line denotes the location of the plane at Θ = −45 from Fig. 10

The present computational results are compared to experimental data from [49] in Fig. 12 where the pressure coefficient \({\Psi }={\Delta } p/(\frac {\pi ^{2}}{2}\rho {D_{o}^{2}} n^{2})\) is shown as a function of the flow coefficient \({\Phi }=\frac {4\dot {V}}{\pi ^{2} {D_{o}^{3}} n}\) with Δp being the average pressure increase over the fan blades. In addition, previous numerical results from [22, 23] are depicted. It is evident that a good agreement between the LES and the experimental data is achieved.

Fig. 12
figure 12

Pressure coefficient \({\Psi }=\frac {\Delta p}{(\frac {\pi ^{2}}{2}\rho {D_{o}^{2}} n^{2})}\) versus flow rate coefficient \({\Phi }=\frac {4\dot {V}}{\pi ^{2} {D_{o}^{3}} n}\); experimental data for s/D o = 0.01 and s/D o = 0.005 from [49] compared previous numerical results from [22, 23] without a turbulence generating grid and to present numerical results considering a turbulence generating grid

Furthermore, in Fig. 13 experimental and numerical data of the radial distributions of the time-averaged velocity \(u/u_{\infty }\) (left) and the velocity fluctuations \(u_{rms}/u_{\infty }\) at x/D o = 0.0 are juxtaposed for the present case. This comparison also evidences the good experimental-numerical agreement.

Fig. 13
figure 13

Radial distributions of the time-averaged velocity \(u/u_{\infty }\) (left) and the velocity fluctuations \(u_{rms}/u_{\infty }\) at x/D o = 0.0; experimental data (∙) [49] compared to present numerical results (—)

6 Concluding Remarks

A Cartesian cut-cell/level-set method in an unstructured hierarchical Cartesian setup based on a multiple grid approach to simulate rotor-stator interactions in turbulent turbomachinery flows has been presented. The sharp representation of the complex moving boundaries being embedded in the computational domain are described by multiple level-sets. This ensures a strict conservation of mass, momentum, and energy and allows the simulation of multiple relatively rotating boundaries in a fixed frame of reference. An efficient kinematic motion level-set interface method for the rotation of the embedded boundaries, which are described by multiple level-set fields on a computational domain distributed across several processors, has been introduced. Unlike the sliding interface concept the relative rotation of the surfaces to each other can be arbitrary, i.e., the mesh does not have to satisfy constraints being imposed by the predefined relative motion of the boundaries to ensure conservativity.

First, the kinematic motion level-set interface method has been developed by analyzing the generic flow problem of a ducted rotating cylinder. Then, this method has been applied to a large-scale application, i.e, a rotating ducted axial fan with a stationary turbulence generating grid at the inflow to demonstrate its efficiency and applicability to real industrial turbomachinery flows. The results show the good agreement of the numerical and experimental data and a dominant impact of the turbulence generating grid on the flow field upstream of the fan which also affects the flow field near the tip-gap region and downstream of the fan.