Sliding-Mesh SD/FR Method

Sliding mesh is handy in dealing with rotating geometries. But it introduces nonconforming interfaces between subdomain meshes. To overcome this geometric incompatibility, we have developed a curved dynamic mortar method. The figure below shows a sliding mesh for Taylor-Couette flow simulation, and the distribution of mortar elements between the two subdomains.

couette mesh mortar distribution
The first step is to map each curved sliding-mesh element to standard unit square element. This process is demonstrated in the figure below. transfinite Since the only curved face of a sliding grid element has circular shape, we employ transfinite mapping for this purpose, $$ \begin{aligned} \vec{X}(\xi,\eta) &= (1-\eta) \vec{X}_{f_1}(\xi) + \xi \vec{X}_{f_2}(\eta) + \eta \vec{X}_{f_3}(\xi) + (1-\xi) \vec{X}_{f_4}(\eta) \\[0.5em] & - (1-\xi)(1-\eta) \vec{X}_1 - \xi (1-\eta) \vec{X}_2 - \xi \eta \vec{X}_3 - (1-\xi) \eta \vec{X}_4, \end{aligned} $$ where $\vec{X}_{f_i}$ is the analytical expression of the $i$-th face, and $\vec{X}_i$ is the coordinate vector of the $i$-th corner node. For example, the circular face $\vec{X}_{f_1}$ has the following analytical expression, $$ \vec{X}_{f_1}(\xi) = \left[ \begin{matrix} \mathrm{R} \cdot \cos\big((1-\xi)\theta_1 + \xi \theta_2 \big) + x_c \\ \mathrm{R} \cdot \sin\big((1-\xi)\theta_1 + \xi \theta_2 \big) + y_c \end{matrix} \right], $$ where R and $(x_c,y_c)$ are the radius and the center of the underlying circle; $\theta_1$ and $\theta_2$ are the angles of the two nodes. The transfinite mapping represents a sliding interface exactly and introduces no geometric error at all.

The second step is to map curved cell faces and mortar elements to unit straight elements as demonstrated in the figure below. mortar mapping Here $\Omega$ and $\Xi$ denote cell face and mortar element, respectively. This process is also done using transfinite mapping, but in one-dimensional.

The third step is to project solutions from cell face to mortar elements. The figure below shows this process for the left side of a mortar. mortar mapping To ensure conservation and free-stream preservation, we require $$ \int_0^1 \left( \mathbf{Q}^{\Xi,L}(z) - \mathbf{Q}^{\Omega}(\xi) \right) h_j(z)dz = 0,~~ j=1,2,...,N, $$ where the computational space and mortar space are related as $\xi=o(t)+s(t)z$, and $o$ and $s$ are the offset and scaling of a mortar with respect to a cell face. The same process is applied to the right side of a mortar element.

The fourth step is to compute the common inviscid fluxes $\mathbf{F}_{inv}^{\Xi}$ on a mortar element. This is done using Riemann solver.

The fifth step is to project the common flux from mortars back to cell faces as demonstrated in the figure below. mortar mapping We require $$ \sum_{i=1}^{n} \int_{o_i}^{o_i+s_i} \left( \mathbf{F}_{inv}^{\Omega}(\xi) - \mathbf{F}_{inv}^{\Xi_i}(z) \right) h_j(\xi)d\xi = 0, ~~ j=1,2,...,N, $$ where $n$ is the total number of mortar elements associated with a cell face, $\mathbf{F}_{inv}^{\Omega}$ is the common inviscid flux on cell face that we are solving for.

Steps 3–5 are repeated for viscous fluxes if it is a viscous flow. It is worth mentioning that mortar and cell face connectivities need to be updated at the very beginning in every sub-time step of a time marching scheme.