Threedimensional CFD simulations with large displacement of the geometries using a connectivitychange moving mesh approach
 802 Downloads
 1 Citations
Abstract
This paper deals with threedimensional (3D) numerical simulations involving 3D moving geometries with large displacements on unstructured meshes. Such simulations are of great value to industry, but remain very timeconsuming. A robust moving mesh algorithm coupling an elasticitylike mesh deformation solution and mesh optimizations was proposed in previous works, which removes the need for global remeshing when performing large displacements. The optimizations, and in particular generalized edge/face swapping, preserve the initial quality of the mesh throughout the simulation. We propose to integrate an Arbitrary Lagrangian Eulerian compressible flow solver into this process to demonstrate its capabilities in a full CFD computation context. This solver relies on a local enforcement of the discrete geometric conservation law to preserve the order of accuracy of the time integration. The displacement of the geometries is either imposed, or driven by fluid–structure interaction (FSI). In the latter case, the six degrees of freedom approach for rigid bodies is considered. Finally, several 3D imposedmotion and FSI examples are given to validate the proposed approach, both in academic and industrial configurations.
Keywords
Moving mesh Dynamic mesh Connectivity change Compressible flows ALE: Arbitrary Lagrangian Eulerian Discrete geometric conservation law Fluid–structure interaction 6DOF1 Introduction
Fluid–structure interaction (FSI) simulations are required for a wide variety of subjects, from the simulation of jellyfish [23] to the releasing of a missile [47]. The recent development of computing capacities has made it possible to run increasingly complex simulations where moving bodies interact with an ambient fluid in an unsteady way. However, engineers are still far from performing such simulations on a daily basis, largely due to the difficulty of handling the moving meshes induced by the moving geometries.
When the displacement of the geometry is small enough, slightly deforming the original mesh [9, 19] can generally be acceptable. But when large deformation of the boundaries is considered, the mesh quickly becomes distorted and the numerical error due to this distortion quickly becomes too great, until the elements of the mesh finally become invalid, and the simulation has to be stopped. Specific strategies need to be developed to deal with large displacement moving boundary problems. In the case of FSI problems, another difficulty arises from the fact that the displacement of the boundaries is by definition an unknown, and the deformation of the mesh cannot be imposed a priori. Addressing the issue of the mesh movement cannot be separated from addressing the issue of the solver that will compute on these moving meshes. Depending on the strategy employed to deal with the movement, specific numerical methods must be designed to take into account the displacement of the mesh. The question this paper focuses on is: how can we efficiently move the mesh for large displacement 3D FSI simulations and what numerical schemes need to be associated to such a strategy?
Three main approaches to address the mesh movement problem can be found in the literature. The first approach consists in having a single bodyfitted mesh [11, 29], and moving it along with the moving boundaries. The mesh may thus undergo large deformation. The second approach is the Chimera (or overset) method [12], in which each moving body has its own bodyfitted submesh, and the submeshes move rigidly together with their body and can overlap one another. Finally the embedded boundary approach [14, 39] uses meshes that are not bodyfitted at all: the bodies are embedded in a fixed grid, and techniques such as levelsets are used to recover their moving boundaries. All three approaches have their own strengths and weaknesses. This paper is aligned with our previous works on anisotropic mesh adaptation, with the ultimate goal to use moving geometries in our adaptation framework [8]. For this reason, we focus on bodyfitted approaches with one single mesh.
The first strategy to handle bodyfitted moving meshes is simply to move the mesh for as long as possible, and remesh (i.e., generate a whole new mesh or a part of it) when the mesh quality becomes critical [11, 29]. For each remeshing, the simulation has to be stopped, a new mesh must be generated, and the solution must be transferred to the new mesh. This approach can be efficient, especially when small displacements are considered and very few remeshings are necessary, because the solver and the meshing aspects are decoupled, and between two remeshings the simulation is fully ALE and free from interpolation errors. However, for larger displacements, the number of remeshings increases to prevent invalid elements from appearing, and this can both be costly and result in poor accuracy due to the solution transfer step. Hence a second strategy has been developed [16, 20], based on the use of local remeshing operations, such as vertex insertion, vertex collapse, connectivity changes and vertex displacements, to preserve a good mesh quality throughout the simulation. The advantage of this method is that it maintains an acceptable mesh quality without needing to stop, remesh and resume the simulation. However, it requires fully dynamic mesh data structures that are permanently updated, which can lead to a loss of CPU efficiency, and the numerous mesh modifications can lead to a loss of accuracy.
Our approach tries to overcome to these drawbacks and is described in detail in [1]. It aims at moving meshes with large displacements of the geometry without ever having to remesh. [By remeshing, we mean stopping the simulation, generating a new mesh (the entire mesh or part of it) and interpolating the solution on the new mesh.] A limited set of mesh modifications are used to preserve the mesh quality throughout the simulation: only connectivity changes (edge swaps) and vertex displacement are performed. This is for several reasons. Notably, performing local mesh modifications within the solver is far simpler than remeshing globally, and connectivity changes can be relatively simply interpreted in terms of evanescent cells for purposes of Arbitrary Lagrangian Eulerian (ALE) numerical schemes. In many bodyfitted moving mesh strategies, a lot of CPU time is dedicated to computing the displacement of the mesh, in order to make it follow the moving boundaries. Thanks to frequent mesh optimizations, the cost of this step is reduced by computing the mesh deformation for a large number of solver time steps (i.e., we do it only a few times during the simulation). It is important to note that this approach works best if vertexcentered solvers are considered, because the connectivity changes preserve the number of degrees of freedom.
Some studies try to impose a mesh motion that is directly adapted to the physical phenomena in question, using for instance either socalled Moving Mesh PDEs [32] or a Monge–Ampère equation [15]. However, interesting these approaches may be, they still seem to be timeconsuming, especially in 3D, due to the solution of a nonlinear equation, and it is unsure whether they can handle complex 3D geometries. Therefore we prefer to prescribe arbitrary movements to the mesh, and use our mesh adaptation framework [42] when necessary.
Regarding numerical solvers, we consider a classic framework for moving meshes: the Arbitrary Lagrangian Eulerian (ALE) framework, which is based on a formulation of the equations that takes into account an arbitrary movement of the vertices. This technique was introduced in the 1970s in [21, 31, 33]. Since then, so many developments have been made in that field that a complete list of them would not fit in this paper. However, one may in particular refer to [11, 24, 25, 29, 30, 46, 49], which mainly focus on improving temporal schemes for ALE simulations.
To our knowledge, very few examples of ALE solvers coupled with connectivitychange moving mesh techniques can be found in literature. In [36] a conservative interpolation is proposed to handle the swaps. In [28, 51] an ALE formulation of the swap operator is built. However, these studies are limited to 2D. Driven by the requirements of industry, we are interested in designing a method that works in 3D. In this paper, a linear interpolation is carried out after each swap instead of using a specific ALE formulation, and we will evaluate the numerical error due to these swaps.
The goal of the present paper is to demonstrate that threedimensional FSI simulations can be run efficiently by coupling an ALE solver to our connectivitychange moving mesh strategy. The first part of this paper focuses on recalling important aspects of the moving mesh algorithm. The second, third and fourth parts describe in detail the solver used. In the fifth part, some validation test cases are presented, and finally some examples of complex 3D ALE simulations are given and analyzed. In this paper, we only focus on rigid movements that are involved in rigidbody FSI.
2 Meshconnectivitychange moving mesh strategy

Computing the mesh deformation Inner vertices are assigned a trajectory depending on the displacement of the boundaries, and thus a position for future time steps.

Optimizing the mesh The trajectories computed in the mesh deformation phase are corrected, and the connectivity of the mesh is modified to preserve the quality of the mesh.
2.1 Linear elasticity mesh deformation method
During the mesh deformation step, a displacement field is computed for the whole computational domain, given the displacement of its boundaries. Trajectories can thus be assigned to inner vertices, or in other words, positions at a future solver time step.
Several techniques can be found to compute this displacement field: implicit or direct interpolation [13, 44], or solving PDEs—the most common of which being Laplacian smoothing [40], a spring analogy [19] and a linear elasticity analogy [6]. It is this last method that we selected, due to its robustness in 3D [58]. The computational domain is assimilated to a soft elastic material, which is deformed by the displacement of its boundaries.
2.2 Improving mesh deformation algorithm efficiency
The computation of the mesh deformation—here the solution of a linear elasticity problem—is known to be an expensive part of dynamic mesh simulations, and the fact that it is usually performed at every solver time step makes it all the more so.
We propose to combine several techniques to improve the time efficiency of this step. Some regions are rigidified, more specifically a few layers around tiny complex details of the moving bodies, with very small elements. They are moved with exactly the same rigid displacement as the corresponding body, thus avoiding very stiff elements in the elasticity matrix. On the other hand, the elasticity can be solved only on a reduced region, if the domain is big compared to the displacement. A coarse mesh can also be used to solve the elasticity problem, the displacement of the vertices then being interpolated on the computational mesh.
The major improvement we proposed is to reduce the number of mesh deformation computations: the elasticity problem is solved for a large time frame of length \(\Delta t\) instead of doing it at each solver time step \(\delta t\). While there is a risk of a less effective mesh displacement solution, it is a worthwhile strategy if our methodology is able to handle large displacements while preserving the mesh quality. Solving the previously described mesh deformation problem once for large time frame could be problematic in the case of: (1) curved trajectories of the boundary vertices and (2) accelerating bodies. To enhance the mesh deformation prescription, acceleratedvelocity curved, i.e., highorder, vertex trajectories are computed.
2.3 Local mesh optimization
In order to preserve the mesh quality between two mesh deformation computations, it has been proposed [1] to couple mesh deformation with local mesh optimization using smoothing and generalized swapping to efficiently achieve large displacement in moving mesh applications. Connectivity changes are really effective in handling shear and removing highly skewed elements. Here, we briefly recall the mesh optimization procedure.
The second mesh optimization tool to improve mesh quality is generalized swapping/localreconnection (Fig. 1). Let \(\alpha\) and \(\beta\) be the two tetrahedra vertices opposite the common face \(P_1P_2P_3\). Face swapping consists of suppressing this face and creating the edge \(\mathbf e = \alpha \beta\). In this case, the two original tetrahedra are deleted and three new tetrahedra are created. This swap is called \(2\rightarrow 3\). The reverse operator can also be defined by deleting three tetrahedra sharing such a common edge \(\alpha \beta\) and creating two new tetrahedra sharing face \(P_1P_2P_3\). This swap is called \(3\rightarrow 2\).
A generalization of this operation exists and acts on shells of tetrahedra [1, 26]. For an internal edge \(\mathbf {e} = \alpha \beta\), the shell of \(\mathbf {e}\) is the set of tetrahedra having \(\mathbf {e}\) as common edge. The different edge swaps are generally denoted \(n \rightarrow m,\) where n is the size of the shell and m is the number of new tetrahedra. In this work, edge swaps \(3\rightarrow 2\), \(4\rightarrow 4\), \(5\rightarrow 6\), \(6\rightarrow 8\) and \(7\rightarrow 10\) have been implemented. In our algorithm, swaps are only performed if they improve the quality of the mesh.
These operations are wellknown in the field of mesh generation [26, 56], but are not necessarily efficient in the context of this work. Notably, performing too many of them results in slow codes, whereas the use of bad quality functions results in poor quality meshes. The interest of the method used in this paper lies how and when optimizations are performed. The mesh optimizations are performed element by element, and only when they are needed. Smoothing is performed for every vertex, provided it increases the quality of the corresponding ball. Swaps are only performed, i.e., when the quality of an element decreases and passes a certain threshold. Tetrahedra are treated in quality order from the worst to the best one. The operation is performed only if it verifies quality criteria on the current position of the mesh and on the final position given by the mesh deformation. A key to performing efficient swaps in the moving mesh context is to allow a slight quality degradation in the future. Details on this optimization step can be found in [1].
2.4 Handling of boundaries
The mesh of the boundaries is moved rigidly, and the vertices are not usually moved on the surface (no displacement in the tangential directions). However, in some cases, such as when a body is moving very close to the bounding box of the domain, it can be useful to move the vertices of the bounding box as well. In this case, we can allow tangential displacement on the boundary. The risk of deforming a curved surface being too great, we only do this for planes aligned with the Cartesian frame. To do so, the displacements along the tangential axes are simply considered as new degrees of freedom. For instance, for a plane (x, y), the displacements along the xaxis and the yaxis are considered as degrees of freedom and are added to the elasticity system. The displacement along the zaxis is still set to 0, and thus is not added to the system.
2.5 Moving mesh algorithm
The overall connectivitychange moving mesh algorithm is described in Algorithm 1, where the different phases described above are put together. When coupled with a flow solver (see Sect. 3), the flow solver is called after the optimization phase. In this algorithm, \(\mathcal {H}\) stands for meshes, \(\mathcal {S}\) for solutions, Q for quality (see Relation (2)), \({\mathbf d}_{\arrowvert \partial \Omega _h}\) for the displacement on the boundary, and \(\mathbf v\) and \(\mathbf a\) for speed and acceleration. \(\Delta t\) and \(\delta t\) are time steps whose meaning is detailed below.
In Algorithm 1, three time steps appear: a large one \(\Delta t\) for the mesh deformation computation, a smaller one \(\delta t^{opt}\) corresponding to the steps where the mesh is optimized, and the solver time step \(\delta t^{solver}\). \(\Delta t\), is currently set manually at the beginning of the computation. After each mesh deformation solution, the quality of the mesh in the future is analyzed: if the quality is too low, the mesh deformation is problem is solved again with a smaller \(\Delta t\) (Algorithm 1 step 2(d)). Moreover, if the mesh quality degrades, a new mesh deformation solution is computed (Algorithm 1 step 3(g)). \(\delta t^{opt}\) is computed automatically, using the \({\rm CFL}^{geom}\) parameter as described below. Determining \(\delta t^{solver}\) will be discussed in Sect. 3. If the solver time step \(\delta t^{solver}\) is greater than the optimization time step, then the solver time step is truncated to follow the optimizations. If \(\delta t^{solver}\) is smaller than the optimization time step—which is almost always the case—several iterations of the flow solver are performed between two optimization steps.
2.6 Moving mesh time steps
3 Arbitrary Lagrangian Eulerian flow solver
An Arbitrary Lagrangian Eulerian (ALE) flow solver has been coupled to the moving mesh process described in Algorithm 1. In this section, we discuss in detail the implemented solver, and all the choices that were made from the numerous possibilities available in the literature.
3.1 Euler equations in the ALE framework
3.2 Spatial discretization
As regards spatial discretization of the solver, we use an edgebased finitevolume approach, with an HLLC Riemann approximate solver and secondorder MUSCL gradient reconstruction. The main difference when translating these schemes from the standard formulation to the ALE formulation is the addition of the mesh velocities in the wave speeds of the Riemann problem.
3.2.1 Edgebased finite volume solver
The domain \(\Omega\) is discretized by a tetrahedral unstructured mesh \(\mathcal {H}\). The vertexcentered finite volume formulation consists in associating a control volume denoted \(C_i(t)\) with each vertex \(P_i\) of the mesh and at each time t. The dual finite volume cell mesh is built by the rule of medians. The common boundary \(\partial C_{ij}(t)=\partial C_i(t) \cap \partial C_j(t)\) between two neighboring cells \(C_i(t)\) and \(C_j(t)\) is decomposed into several triangular interface facets. The normal flux \({\mathbf F}_{ij}(t)\) along each cell interface is taken to be constant (not in time but in space), just like the solution \({\mathbf W}_{ij}\) on the interface.

\({\mathbf W}_i(t)\) is the mean value of state \({\mathbf W}\) in cell \(C_i\) at time t

\(V_i\) is the set of all neighboring vertices of \(P_i\), i.e., the mesh vertices connected connected to \(P_i\) by an edge

\({\mathbf n}_{ij}\) is the outward normalized normal (with respect to cell \(C_i\)) of cell interface \(\partial C_{ij}\)

\({\mathbf F}_{ij}(t) = {\mathcal F}({\mathbf W}_{ij}(t)) \cdot {\mathbf n}_{ij}(t)\) is an approximation of the physical flux through \(\partial C_{ij}(t)\).

\(\displaystyle \sigma _{ij}(t) = \frac{1}{\partial C_{ij}(t)} \int \nolimits _{\partial C_{ij}(t)} \varvec{w}_{ij}(t) \cdot {\mathbf n}_{ij}(t) {\mathrm d}\varvec{s}\) is the normal velocity of cell interface \(\partial C_{ij}(t)\)

\(\displaystyle {\varvec{\Phi }}_{ij}\left( {\mathbf W}_i(t),{\mathbf W}_j(t),{\mathbf n}_{ij}(t),\sigma _{ij}(t)\right) \approx {\mathbf F}_{ij}(t) ~~ {\mathbf W}_{ij}(t)\sigma _{ij}(t)\) is the numerical flux function used to approximate the flux at cell interface \(\partial C_{ij}(t)\).
3.2.2 HLLC numerical flux
3.2.3 Highorder scheme
3.2.4 Limiter
3.2.5 Boundary conditions
3.3 Time discretization
Temporal discretization is a more complex matter. In this work, we chose an explicit time discretization, which is simpler than implicit discretizations. Our time discretization is compliant with the discrete geometric conservation law, which can be used to rigorously determine when the geometric parameters that appear in the fluxes should be computed.
3.3.1 The geometric conservation law
The role of the GCL in ALE simulations has been analyzed in [22]. It has been shown that the GCL is neither a necessary nor a sufficient condition to preserve time accuracy; however, violating it can lead to numerical oscillation [46]. In [24] the authors show that compliance with the GCL guarantees an accuracy of at least the first order in some conditions. Therefore, most would agree that the GCL should be enforced at the discrete level for a large majority of cases.
3.3.2 Discrete GCL enforcement
A new approach to enforcing the discrete GCL was proposed in [46, 57, 58], in which the authors proposed a framework to build ALE highorder temporal schemes that reach approximately the design order of accuracy. The originality of this approach consists in precisely defining which ALE parameters are true degrees of freedom and which are not. In contrast to other approaches [35, 38, 48], they consider that the times and configurations at which the fluxes are evaluated do not constitute a new degree of freedom to be set thanks to the ALE scheme. To maintain the design accuracy of the fixedmesh temporal integration, the moment at which the geometric parameters, such as the cells’ interfaces’ normals or the upwind/downwind tetrahedra must be computed, is entirely determined by the intermediate configurations involved in the chosen temporal scheme. The only degree of freedom to be set by enforcing the GCL at the discrete level is \(\sigma\). Incidentally, it is implicitly stated that \(\varvec{w}\) is never involved alone but only hidden in the term \(\sigma \Vert {\mathbf n} \Vert\) which represents the instantaneous algebraic volume swept.
In practical terms, the interfaces normal speeds are found by simply rewriting the scheme for a constant discrete solution, which leads to a small linear system that is easily invertible by hand. This procedure is detailed in the next section for one Runge–Kutta scheme. Any fixedmesh explicit RK scheme can be extended to the case of moving meshes thanks to this methodology, and the resulting RK scheme is naturally DGCL. Even if this has not been proven theoretically, the expected temporal order of convergence has also been observed numerically for several schemes designed using this method [57].
3.3.3 RK schemes
3.3.4 Application to the SSPRK(4,3) scheme
Butcher and Shu–Osher representations of the thirdorder 4step Runge–Kutta scheme (SSPRK(4,3))
Butcher representation  Shu–Osher representation  \(t^s = t^n + c_s\,\tau\) 

\(\displaystyle {\mathbf Y_i}^{0} = {\mathbf Y_i}^n\)  \(\displaystyle \displaystyle {\mathbf Y_i}^{0} = {\mathbf Y_i}^n\)  \(\displaystyle c_0 =0, \quad \,t^0=t^n\) 
\(\displaystyle {\mathbf Y_i}^{1} = {\mathbf Y_i}^0 + \frac{\tau }{2}{\mathbf f}^0_i\)  \(\displaystyle \displaystyle {\mathbf Y_i}^{1} = {\mathbf Y_i}^0 + \frac{\tau }{2}{\mathbf f}^0_i\)  \(\displaystyle c_1 = \frac{1}{2},\quad t^1 = t^n + \frac{1}{2}\tau \phantom {\frac{\frac{\tau }{2}}{2}}\) 
\(\displaystyle {\mathbf Y_i}^{2} = {\mathbf Y_i}^0 + \frac{\tau }{2}\left( {\mathbf f}^0_i+{\mathbf f}^1_i\right)\)  \(\displaystyle {\mathbf Y_i}^{2}= {\mathbf Y_i}^1+ \frac{\tau }{2}{\mathbf f}^1_i\)  \(\displaystyle c_2 = 1, \quad \,t^2 = t^{n+1} \phantom {\frac{\frac{\tau }{2}}{2}}\) 
\(\displaystyle {\mathbf Y_i}^{3} = {\mathbf Y_i}^0 + \frac{\tau }{6}\left( {\mathbf f}^0_i+{\mathbf f}^1_i+{\mathbf f}^2_i\right)\)  \(\displaystyle {\mathbf Y_i}^{3}= \frac{2}{3}{\mathbf Y_i}^{0} + \frac{1}{3}{\mathbf Y_i}^{2} + \frac{\tau }{6}{\mathbf f}^2_i\)  \(\displaystyle c_3 = \frac{1}{2},\quad t^3 = t^n + \frac{1}{2}\tau \phantom {\frac{\frac{\tau }{2}}{2}}\) 
\(\displaystyle {\mathbf Y_i}^{4} = {\mathbf Y_i}^0 + \frac{\tau }{2}\left( \frac{1}{3}{\mathbf f}^0_i+\frac{1}{3}{\mathbf f}^1_i+\frac{1}{3}{\mathbf f}^2_i + {\mathbf f}^3_i\right)\)  \(\displaystyle {\mathbf Y_i}^{4}= {\mathbf Y_i}^{3} + \frac{\tau }{2}{\mathbf f}^3_i\)  \(\displaystyle c_4 = 1, \quad \,t^4 = t^{n+1} \phantom {\frac{\frac{\tau }{2}}{2}}\) 
3.3.5 Practical computation of the volumes swept
At configuration \(t^s = t^0 + c_s \, \tau\), (with \(t^0 = t^n\)), the outward nonnormalized normal \(\varvec{\eta }_{ij}^s\) and the volume swept \(A_{ij}^s\) are computed as described in [49]. As the cell interface is made up of several facets, the total swept volume is the sum of the volumes swept by each facet.
3.3.6 Volumes swept by boundary interfaces
The pseudonormals and swept volumes of boundary faces are computed in a similar way. Let \(K = (P_0\, ,P_1\, ,P_2)\) be a boundary triangle, as in Fig. 3. Let \(M_0\), \(M_1\) and \(M_2\) be the middles of the edges and G the center of gravity of K. The triangle is made up of three quadrangular finite volume interfaces: \((P_0\, ,M_2\, ,G\, ,M_1)\) associated with cell \(C_0\), \((P_1\, ,M_0\, ,G\, ,M_2)\) with \(C_1\) and \((P_2\, ,M_1\, ,G\, ,M_0)\) with \(C_2\). Each boundary interface \(I_i\) is made of two subtriangles, noted \(T_{ij}\) and \(T_{ik}\) with \(j,k \ne i\).
3.3.7 MUSCL approach and RK schemes
Regarding spatial accuracy, we have seen that the order of accuracy can be enhanced using the MUSCLtype reconstruction with upwinding. However, in the ALE context, one must determine how and when upwind/downwind elements should be evaluated to compute upwind/downwind gradients which are necessary for the \(\beta\)schemes. This question is neither answered in the literature and generally approximations are carried out. For instance, some papers propose to use upwind and downwind elements at \(t^n\) for the whole Runge–Kutta process. However, this choice should be consistent with the considered time integration scheme. Following the framework of [57], it is clear that preserving the expected order of accuracy in time imposes that the upwind/downwind elements and the gradients are computed on the current Runge–Kutta configuration, i.e., on the mesh at \(t^s\). Therefore, similarly to geometric parameters, the upwind/downwind elements and the gradients should be reevaluated at each step of the Runge–Kutta stage.
3.3.8 Computation of the time step
3.3.9 Handling the swaps
An ALE formulation of the swap operator, satisfying the DGCL, was proposed in 2D in [51], but its extension to 3D is very delicate because it requires to handle 4D geometry, and it has not been carried out yet. Instead of considering an ALE scheme for the swap operator, our choice in this work is to perform the swaps between two solver iterations, i.e., at a fixed time \(t^n\). This consequently means that during the swap phase, the mesh vertices do not move, and thus the swaps do not impact the ALE parameters \(\mathbf {\eta }\) and \(\varvec{w}\), unlike [51] where the swaps are performed during the solver iteration, i.e., between \(t^n\) and \(t^{n+1}\). After each swap, the solution should be updated on the new configuration. Two interpolation methods are considered here.
The first, and simplest, one is to perform a linear interpolation to recover the solution. As only the connectivity changes and not the vertices positions, the solution at the vertices does not change, i.e., nothing has to be done. This interpolation is DGCL compliant, since the constant state is preserved (in fact, any linear state is preserved), but it does not conserve the mass ( i.e., it does not conserve the integral of the conservative variable) which is problematic for conservative equations when discontinuities are involved in the flow.
The second method is the \(P^1\)exact conservative interpolation following [2, 5]. It is a simplified version of the latter because the cavity of the swap configuration is fixed. The mass conservation property of the interpolation operator is achieved by element–element intersections. The idea is to find, for each element of the new configuration, its geometric intersection with all the elements of the previous configuration it overlaps and to mesh this geometric intersection with simplices. We are then able to use a Gauss quadrature formula to exactly compute the mass which has been locally transferred. Highorder accuracy is obtained through the reconstruction of the gradient of the solution from the discrete data and the use of some Taylor formulae. Unfortunately, this highorder interpolation can lead to a loss of monotonicity. The maximum principle is recovered by correcting the interpolated solution in a conservative manner, using a limiter strategy very similar to the one used for finite volume solvers. Finally, the solution values at vertices are reconstructed from this piecewise linear by element discontinuous representation of the solution. The algorithm is summarized in Algorithm 2, where \(m_K\) stands for the integral of any conservative quantities (density, momentum and energy) on the considered element. This method is also compliant with the DGCL.
Moreover, after each swap, the data of the finite volume cells (volume and interface normals) are updated, together with the topology of the mesh (edges and tetrahedra). This requires to have a flow solver with dynamic data. In Sects. 6.1 and 6.2, we will quantify the error due to the use of swaps in numerical simulations.
4 FSI coupling
The moving boundaries can have an imposed motion, or be driven by fluid–structure interaction. A simple solid mechanics solver is coupled to the flow solver described previously. The chosen approach is the 6DOF (6 Degrees of Freedom) approach for rigid bodies.
4.1 Movement of the geometries

Physical quantities Its boundary \(\partial B\) and its associated inward normal \({\mathbf n}\), its mass m assumed to be constant, its \(d \times d\) matrix of inertia \({\mathcal J}_G\) computed at G which is symmetric and depends only on the shape and physical nature of the solid object.^{2}

Kinematic quantities The position of its center of gravity \({\mathbf x}_{\mathbf G} = (x(t), y(t), z(t))\), its angular displacement vector \(\varvec{\theta }=\varvec{\theta }(t)\) and its angular speed vector \(\displaystyle \mathrm {d}\varvec{\theta }/\mathrm {d}t\).
4.2 Discretization
The equation governing the position of the center of gravity of the body is easy to solve since it is linear. Its discretization is straightforward. However, the discretization of the second equation, which controls the orientation of the body, is more delicate. Since the matrix of inertia \({\mathcal J}_{G}\) depends on \(\varvec{\theta }\), it is a nonlinear secondorder ODE. The chosen discretization is extensively detailed in [50] and is based on rewriting of the equations in the frame of the moving body.
4.3 Explicit coupling
As the geometry must be moved in accordance with the fluid computation, the same time integration scheme has been taken to integrate the fluid and the solid equations. Therefore, timeadvancing of the rigid bodies ODE System is performed using the same RKSSP scheme as the one used to advance the fluid numerical solution. The coupling is loose and explicit as the external forces and moments acting on rigid objects are computed on the current configuration.
5 Implementation and parallelization
Most parts of the code are parallelized with pthreads using an automatic pthread parallelization library [45] coupled with a space filling curve renumbering strategy [4]. The Hilbert space filling curve based renumbering strategy is used to map mesh geometric entities, such as vertices, edges, triangles and tetrahedra, into a onedimensional interval. In numerical applications, it can be viewed as a mapping from the computational domain onto the memory of a computer. The local property of the Hilbert space filling curve implies that entities which are neighbors on the memory 1D interval are also neighbors in the computational domain. Therefore, such a renumbering strategy has a significant impact on the efficiency of a code. We can state the following benefits: it reduces the number of cache misses during indirect addressing loops, and it reduces cacheline overwrites during indirect addressing loops, which is fundamental for shared memory parallelism.
The automatic parallelization library cuts the data into small chunks that are compact in terms of memory (because of the renumbering), then uses a dynamic scheduler to allocate the chunks to the threads to limit concurrent memory accesses. In the case of a loop performing the same operation on each entry of a table, the loop is split into many subloops. Each subloop will perform the same operation (symmetric parallelism) on equallysized portions of the main table and will be concurrently executed. It is the scheduler’s job to make sure that two threads do not write on the same memory location simultaneously. When indirect memory accesses occur in loops, memory write conflicts can still arise. To deal with this issue, an asynchronous parallelization is considered rather than of a classic gather/scatter technique, i.e., each thread writes in its own working array and then the data are merged.
Our moving mesh strategy performs frequent mesh optimizations that impact the ALE speeds of the vertices, so it is much more efficient to have the whole moving mesh part included in the solver code. To handle the moving mesh, semidynamic data structures are necessary. Since we do not do vertex insertion or deletion, only some of the data structures have to be dynamic (edge and tetrahedra lists), whereas some remain static (the list of vertices, as well as all the data associated to vertices). In the case of dynamic data, the appropriate organization of the memory which reduces concurrent accesses can be lost, and thus imposes resorting the data according to the Hilbert numbering from time to time in order to maintain a good speedup.
Some parts of the code have not yet been parallelized, in particular the elasticity solution and the mesh optimization step. The optimizations are difficult to parallelize because they are greatly dependent on the order in which they are performed. Although changing this order leads to the same overall result, it is not exactly the same, and thus, the dynamic handling of the library makes each run non reproducible. To have a parallel and reproducible mesh optimization step, the operators should be rewritten with different algorithms to make them independent of the process order. Such algorithms are generally less efficient in terms of CPU time.
6 Verification of the solver
In the following section, we present academic test cases in order to assess the behavior of the different parts of the solver: the fluid ALE solver, the rigid body dynamic solver and the FSI coupling.
6.1 Static vortex in a rotating mesh
The first test case is used to validate the ALE solver, and study the impact of the moving mesh on the accuracy of the solution. We study the conservation of a static vortex (similar to [34]) on a rotating mesh.
6.1.1 Space convergence
Test case of the static vortex without swaps. Sizes of the meshes used and number of solver time steps performed
Mesh 1  Mesh 2  Mesh 3  Mesh 4  Mesh 5  Mesh 6  Mesh 7  Mesh 8  Mesh 9  

# vertices (\(\times 10^3\))  12  44  138  185  256  371  585  965  1825 
# tetrahedra (\(\times 10^3\))  48  211  691  942  1330  1965  3122  5287  10,218 
# time steps  4673  7280  15,608  14,321  14,321  17,275  29,996  32,245  44,680 
6.1.2 Time convergence
This study was carried out in 2D for reasons of efficiency. Our goal was to study the impact of the Runge–Kutta schemes used and the CFL parameter. We consider a disc of radius 5, with the same initial solution as previously (Eq. 27) and rotating with the same speed. Three time discretizations are used: a standard firstorder explicit scheme (SSPRK(1,1)), a fivestep secondorder Runge–Kutta scheme (SSPRK(5,2)) and a fourstep thirdorder Runge–Kutta scheme (SSPRK(4,3)) described in Sect. 3.3.4. Four CFL numbers are set for each case: \({\rm CFL}_\mathrm{max}\), \(3/4\times {\rm CFL}_\mathrm{max}\), \(1/2\times {\rm CFL}_\mathrm{max}\) and \(1/10\times {\rm CFL}_\mathrm{max}\). \({\rm CFL}_\mathrm{max}\) is, respectively, 1, 4 and 2 for the schemes SSPRK(1,1), SSPRK(5,2) and SSPRK(4,3).
Influence of swaps
It is important to study the impact of edge/face swaps on the solution accuracy in 3D. However, it is difficult to set up a meaningful test case with swaps. The number of swaps should be constant (in proportion to the size of the mesh), and they should also be uniformly distributed in both time and space.
Test case of the static vortex with swaps. Number of swaps for each mesh. On the last line, the number of swaps is close to one swap per time step and per 10,000 tetrahedra for all the meshes
Mesh 1  Mesh 2  Mesh 3  Mesh 4  Mesh 5  Mesh 6  Mesh 7  Mesh 8  Mesh 9  

# tetrahedra (\(\times 10^3\))  48  211  691  942  1330  1965  3122  5287  10,218 
# time steps  2338  3647  7788  7493  7367  8948  12,040  16,085  21,449 
# swaps (\(\times 10^3\))  21  114  763  996  1337  2319  5204  10,838  26,719 
# swaps/time step/tet (\(\times 10^{4}\))  1.80  1.49  1.42  1.41  1.36  1.32  1.38  1.27  1.22 
To sum up, this static vortex test case allowed us to validate our ALE solver. We asymptotically reach an order of convergence of 2 for the spatial error, and we made sure there was no additional error introduced by the ALE terms. As regards temporal convergence, the importance of a highorder Runge–Kutta scheme was established. Finally, we showed that edge/face swapping—artificially created in this case, but mandatory to preserve the quality of the mesh (and thus the accuracy of the solution) when complex geometric displacements are involved—only creates a small error, even if used without a specific conservative treatment.
6.2 Sod’s shock tube with a rotating circle
6.3 Piston
In practice, the domain at \(t=0\) is a rectangular box of dimensions \([1, 0.2]\times [0.5, 0.5]\times [0.5,0.5]\). The vertical face at \(x=0.2\) is mobile, and all the other faces are fixed, which corresponds to \(l_0 = 1\) and \(u_0 = 0.2\). The piston rigidity is set to \(k_p= 10^7\ \mathrm{N}\,\mathrm{m}^{1}\), and a variety of piston masses (and thus frequencies) are considered: \(m_p=4\) kg, 10 kg, 100 kg and 1000 kg, corresponding, respectively, to frequencies \(f_p=252\) Hz, 159 Hz, 50 Hz and 16 Hz. The other parameters are: \(\rho _0=1.1615\ \mathrm{kg}\,\mathrm{m}^{3}\), \(p_0=10^5\) Pa, \(\mathbf {u}_0=0\ \mathrm{m}\,\mathrm{s}^{1}\).^{3} Slipping conditions are imposed on all the boundary faces (fixed and mobile). From a moving mesh point of view, it is essential to allow tangential movement of the vertices on the moving faces of the box.
Piston test case. Natural frequencies and periods for the different masses used
\(m_p\) (kg)  4  10  100  1000 
\(f_p\) (Hz)  252  159  50  16 
\(T_p\) (s)  0.004  0.00628  0.0199  0.0628 
7 Some application examples
Finally, we analyze the behavior of our strategy on two more complex, industriallike, examples of simulations in three dimensions. These examples are challenging due both to the size of the meshes considered, and to the large displacement of the geometries. Note that a linear interpolation was used after edge/face swaps as no shocks are present in the flowfield, and it does not alter the conclusions of these examples.
7.1 Two F117 aircraft crossing flight paths
The first example models two notional F117 aircraft with crossing flight paths. This problem illustrates well the efficiency of the connectivitychange moving mesh algorithm in handling large displacements of complex geometries without global remeshing. When both aircraft cross each other, the mesh deformation encounters a large shearing due to the opposite flight directions. The connectivitychange mesh deformation algorithm easily handles this complex displacement thanks to the mesh local reconnection. Therefore, the mesh quality remains very good during the whole displacement, without any remeshing step.
As concerns the fluid simulation, the aircraft are moved with an imposed motion of translation and rotation at a speed of Mach 0.4, in an initially inert uniform fluid: at \(t=0\) the speed of the air is null everywhere. Transmitting boundary conditions are used on the sides of the surrounding box, while slipping conditions are imposed on the two F117 bodies. After a short phase of initialization, the flow is established when the two F117s pass each other, and the density fields around the aircraft and in their wake interact. Acoustic waves are created in front of the F117s due to the instantaneous setting in motion of the aircraft. This is not realistic, but our aim was to validate our moving mesh approach rather than run a physically realistic simulation. In Fig. 13, a zoom on the geometry of the two aircraft is shown. In Fig. 14, we show both the moving mesh aspect of the simulation and the flow solution at different time steps.
The mesh is composed of 585,000 vertices and (initially) 3.5 million tetrahedra. The whole simulation requires 22 elasticity solutions and 1600 optimization steps for a total of 2,500,000 swaps. The final mesh average quality of 1.4 is excellent and we notice that 99.8% of the elements have a quality smaller than 2 and only 52 elements have a quality higher than 5.
7.2 Ejected cabin door
The last example is the FSI simulation of the ejection of the door of an overpressurized aircraft cabin. This test case has been proposed by aircraft designers, and the aim is to evaluate when the door hinge will yield under cabin pressure. Generally, such experiments are done in a hangar and numerical simulations must be able to predict if the door will impact the observation area.
From a purely moving mesh point of view, the difficulty is that the geometry is anisotropic and rolls over the elements while progressing inside a uniform mesh composed of 965,000 vertices. Another difficulty lies at the beginning of the movement when the door is ejected from its frame. The gap between the door and the frame is very small, and the mesh is sheared in the interstice; see Fig. 15. However, no remeshing is needed. The connectivitychange moving mesh strategy is able to get rid of these skewed elements quite rapidly to finally achieve an excellent quality throughout the door displacement.
From the FSI point of view, we present a simplified version of the case—and thus probably not very representative of the actual physics involved. However, we make sure that the solution is physically coherent with the simplified initial conditions. At time \(t=0\), the volume is divided into two parts: outside and inside the cabin; see Fig. 15. The inside of the cabin and the outside are not insulated, so the pressurized air leaks out of the cabin. The small volume surrounding the door is considered initially as being outside the cabin. The outside of the cabin is initialized to classic atmospheric values at 10,000 m (\(\rho = 0.44\ \mathrm{kg}\,\mathrm{m}^{3}, \mathbf{u} = (0,0,0)\ \mathrm{m}\,\mathrm{s}^{1}, p = 20\) kPa). At this altitude, the air of the cabin should be pressurized to simulate an altitude of 2500 m (\(\rho = 0.96\ \mathrm{kg}\,\mathrm{m}^{3}, \mathbf{u} = (0,0,0)\ \mathrm{m}\,\mathrm{s}^{1}, p = 75\) kPa). To simulate a blast, those values are multiplied by 10 inside the cabin (\(\rho = 9.6\ \mathrm{kg}\,\mathrm{m}^{3}, \mathbf{u} = (0,0,0)\ \mathrm{m}\,\mathrm{s}^{1}, p = 750\) kPa). The mass of the door is set to 100 kg.
Snapshots of the solution at different time steps are shown in Fig. 16. We can see features similar to mach diamonds at the rear of the door, due to the high speed of the door. As concerns the door movement, the door is blown away from the cabin as expected. However, it acquires a slow rotation movement. For the time frame considered (\(T_{end} = 0.2 s\)), gravity has a negligible impact on the trajectory. The mesh is composed of 965,000 vertices and 5.6 millions of tetrahedra. Due to the difficult part where the door is moving in its frame, the whole simulation requires 29 elasticity solutions and 540 optimization steps for a total of 875,000 swaps. The final mesh average quality of 1.33 is excellent and we notice that 99.95% of the elements have a quality smaller than 2 and only 1 element has a quality higher than 5.
8 Conclusion
A strategy to run complex threedimensional simulations with moving geometries has been presented in this paper. This strategy lies first on a robust connectivitychange moving mesh algorithm, which couples an elasticitylike mesh deformation method and mesh optimizations. In particular, a reduced number of elasticity solutions improves the efficiency of the algorithm, while edge/face swapping makes it possible to deal with the strong shearing of the mesh that occurs when the geometries undergo large displacement.
To run CFD simulations on such moving meshes, a finite volumes flow solver for the compressible Euler equations has been extended to the ALE framework. As regards the temporal accuracy, the SSPRK schemes considered are based on the strict application of the discrete geometric conservation law (DGCL), which is supposed to preserve the accuracy of the schemes. The displacement of the geometries can be either imposed a priori, or governed by a 6DOF fluid–structure coupling.
The goal of the paper was to demonstrate that this strategy allows us to run complex threedimensional simulations. Challenging examples of such simulations, were presented and analyzed, with imposed motion or fully FSI. Despite the large displacement of the geometries, no global remeshing was necessary to perform the simulations, while preserving a good mesh quality. The unsteady solutions of these examples are physically coherent, and the total CPU time of the simulations is reasonable. The use of highorder Runge–Kutta schemes was shown to help reduce the cost of the simulation. Whereas the handling of the moving mesh usually takes up a large proportion of the simulation total CPU time, our connectivitychange moving mesh algorithm only accounts for a small fraction of that CPU time, most of the time being spent on actually solving the equations.
Some issues still need to be addressed. A thorough analysis of the impact of swaps on the solution accuracy needs to be carried out. We have shown that a conservative interpolation method improves significantly the accuracy of the solution in the presence of discontinuities. A comparison of this approach with the one described in [51] would probably be revealing. The elasticity time step is currently constant and fixed a priori for the whole simulation. The efficiency of the moving mesh part would be improved if this time step could be automatically adapted to the movement of the geometries. Finding such an optimal time step is harder than it seems. The case of non rigid bodies also has to be addressed: the moving mesh algorithm can handle deformable bodies [1, 7], but the FSI coupling would be much more complex.
Finally, this entire strategy was devised to fit within our metricbased mesh adaptation framework [42]. An unsteady version of the adaptation algorithm already exists [3]. It was extended to the case of moving meshes in 3D recently [8], and a goaloriented version of the process is developed.
9 Software used
Footnotes
 1.
We do not enforce the numerical solution to verify \(\mathbf{u}_i . \mathbf{n}_i = \sigma _i\)
 2.
The moment of inertia relative to an axis of direction \({\mathbf a}\) passing through G where \({\mathbf a}\) is an arbitrary unit vector is given by: \(J_{(G{\mathbf a})}= {{\mathbf a}^T} {{\mathcal J}_G} {\mathbf a}\).
 3.
For more details on the description of the test in [37], see the source code referred in the paper.
Notes
Acknowledgements
This work was partially funded by the Airbus Group Foundation. The authors also gratefully acknowledge the support of EPRSC Grant EP/R029423/1.
References
 1.Alauzet F (2014) A changingtopology moving mesh technique for large displacements. Eng Comput 30(2):175–200CrossRefGoogle Scholar
 2.Alauzet F (2016) A parallel matrixfree conservative solution interpolation on unstructured tetrahedral meshes. Comput Methods Appl Mech Eng 299:116–142MathSciNetCrossRefGoogle Scholar
 3.Alauzet F, Frey P, George P, Mohammadi B (2007) 3D transient fixed point mesh adaptation for timedependent problems: Application to CFD simulations. J Comput Phys 222:592–623MathSciNetCrossRefzbMATHGoogle Scholar
 4.Alauzet F, Loseille A (2009) On the use of space filling curves for parallel anisotropic mesh adaptation. In: Proceedings of the 18th international meshing roundtable. Springer, pp 337–357Google Scholar
 5.Alauzet F, Mehrenberger M (2010) P1conservative solution interpolation on unstructured triangular meshes. Int J Numer Methods Eng 84(13):1552–1588CrossRefzbMATHGoogle Scholar
 6.Baker T, Cavallo P (1999) Dynamic adaptation for deforming tetrahedral meshes. AIAA J 19:2699–3253Google Scholar
 7.Barral N, Luke E, Alauzet F (2014) Two mesh deformation methods coupled with a changingconnectivity moving mesh method for CFD applications. In: Proceedings of the 23th international meshing roundtable, vol 82. Elsevier, pp 213–227Google Scholar
 8.Barral N, Olivier G, Alauzet F (2017) Timeaccurate anisotropic mesh adaptation for threedimensional timedependent problems with bodyfitted moving geometries. J Comput Phys 331(Supplement C):157–187MathSciNetCrossRefzbMATHGoogle Scholar
 9.Batina J (1990) Unsteady Euler airfoil solutions using unstructured dynamic meshes. AIAA J 28(8):1381–1388CrossRefGoogle Scholar
 10.Batten P, Clarke N, Lambert C, Causon D (1997) On the choice of wavespeeds for the HLLC Riemann solver. SIAM J Sci Comput 18(6):1553–1570MathSciNetCrossRefzbMATHGoogle Scholar
 11.Baum J, Luo H, Löhner R (1994) A new ALE adaptive unstructured methodology for the simulation of moving bodies. In: 32th AIAA aerospace sciences meeting. AIAA Paper 19940414, Reno, NV, USAGoogle Scholar
 12.Benek J, Buning P, Steger J (1985) A 3D chimera grid embedding technique. In: 7th AIAA computational fluid dynamics conference. AIAA Paper 19851523, Cincinnati, OH, USAGoogle Scholar
 13.Boer AD, van der Schoot M, Bijl H (2007) Mesh deformation based on radial basis function interpolation. Comput Struct 85:784–795CrossRefGoogle Scholar
 14.Bruchon J, Digonnet H, Coupez T (2009) Using a signed distance function for the simulation of metal forming process: formulation of the contact condition and mesh adaptation. From Lagrangian approach to an Eulerian approach. Int J Numer Methods Eng 78(8):980–1008CrossRefzbMATHGoogle Scholar
 15.Chacón L, Delzanno G, Finn J (2011) Robust, multidimensional meshmotion based on Monge–Kantorovich equidistribution. J Comput Phys 230(1):87–103MathSciNetCrossRefzbMATHGoogle Scholar
 16.Compere G, Remacle JF, Jansson J, Hoffman J (2010) A mesh adaptation framework for dealing with large deforming meshes. Int J Numer Methods Eng 82(7):843–867zbMATHGoogle Scholar
 17.Cournède PH, Koobus B, Dervieux A (2006) Positivity statements for a MixedElementVolume scheme on fixed and moving grids. Eur J Comput Mech 15(7–8):767–798CrossRefzbMATHGoogle Scholar
 18.Debiez C, Dervieux A (2000) MixedElementVolume MUSCL methods with weak viscosity for steady and unsteady flow calculations. Comput Fluids 29:89–118MathSciNetCrossRefzbMATHGoogle Scholar
 19.Degand C, Farhat C (2002) A threedimensional torsional spring analogy method for unstructured dynamic meshes. Comput Struct 80(3–4):305–316CrossRefGoogle Scholar
 20.Dobrzynski C, Frey P (2008) Anisotropic Delaunay mesh adaptation for unsteady simulations. In: Proceedings of the 17th international meshing roundtable. Springer, pp 177–194Google Scholar
 21.Donea J, Giuliani S, Halleux JP (1982) An arbitrary Lagrangian–Eulerian finite element method for transient dynamic fluid–structure interactions. Comput Methods Appl Mech Eng 33(1):689–723CrossRefzbMATHGoogle Scholar
 22.Etienne S, Garon A, Pelletier D (2009) Perspective on the geometric conservation law and finite element methods for ALE simulations of incompressible flow. J Comput Phys 228(7):2313–2333MathSciNetCrossRefzbMATHGoogle Scholar
 23.Etienne S, Garon A, Pelletier D, Cameron C (2010) Philiadium gregarium versus Aurelia aurita: on propulsion propulsion of jellyfish. In: 48th AIAA aerospace sciences meeting. AIAA Paper 20101444, Orlando, FL, USAGoogle Scholar
 24.Farhat C, Geuzaine P, Grandmont C (2001) The discrete geometric conservation law and the nonlinear stability of ALE schemes for the solution of flow problems on moving grids. J Comp Phys 174(2):669–694MathSciNetCrossRefzbMATHGoogle Scholar
 25.Formaggia L, Nobile F (2004) Stability analysis of secondorder time accurate schemes for ALEFEM. Comput Methods Appl Mech Eng 193(39–41):4097–4116MathSciNetCrossRefzbMATHGoogle Scholar
 26.Frey P, George P (2008) Mesh generation. Application to finite elements, 2nd edn. ISTE Ltd and John Wiley & Sons, New YorkzbMATHGoogle Scholar
 27.George P, Borouchaki H (2003) “Ultimate” robustness in meshing an arbitrary polyhedron. Int J Numer Methods Eng 58(7):1061–1089MathSciNetCrossRefzbMATHGoogle Scholar
 28.Guardone A, Isola D, Quaranta G (2011) Arbitrary Lagrangian Eulerian formulation for twodimensional flows using dynamic meshes with edge swapping. J Comput Phys 230(20):7706–7722MathSciNetCrossRefzbMATHGoogle Scholar
 29.Hassan O, Sørensen K, Morgan K, Weatherill NP (2007) A method for time accurate turbulent compressible fluid flow simulation with moving boundary components employing local remeshing. Int J Numer Methods Fluids 53(8):1243–1266MathSciNetCrossRefzbMATHGoogle Scholar
 30.Hay A, Yu K, Etienne S, Garon A, Pelletier D (2014) Highorder temporal accuracy for 3D finiteelement ALE flow simulations. Comput Fluids 100:204–217MathSciNetCrossRefzbMATHGoogle Scholar
 31.Hirt CW, Amsden AA, Cook JL (1974) An arbitrary Lagrangian–Eulerian computing method for all flow speeds. J Comput Phys 14(3):227–253CrossRefzbMATHGoogle Scholar
 32.Huang W, Russell RD (2010) Adaptive moving mesh methods, vol. 174. Springer Science & Business MediaGoogle Scholar
 33.Hughes TJR, Liu WK, Zimmermann TK (1981) Lagrangian–Eulerian finite element formulation for incompressible viscous flows. Comput Methods Appl Mech Eng 29(3):329–349MathSciNetCrossRefzbMATHGoogle Scholar
 34.Kitamura K, Fujimoto K, Shima E, Kuzuu K, Wang ZJ (2011) Validation of arbitrary unstructured CFD code for aerodynamic analyses. Trans Jpn Soc Aeronaut Space Sci 53(182):311–319CrossRefGoogle Scholar
 35.Koobus B, Farhat C (1999) Secondorder timeaccurate and geometrically conservative implicit schemes for flow computations on unstructured dynamic meshes. Comput Methods Appl Mech Eng 170(1–2):103–129MathSciNetCrossRefzbMATHGoogle Scholar
 36.Kucharik M, Shashkov M (2008) Extension of efficient, sweptintegrationbased conservative method for meshes with changing connectivity. Int J Numer Methods Fluids 56(8):1359–1365CrossRefzbMATHGoogle Scholar
 37.Lefrançois E, Boufflet J (2010) An introduction to fluid–structure interaction: application to the piston problem. SIAM Rev 52(4):747–767MathSciNetCrossRefzbMATHGoogle Scholar
 38.Lesoinne M, Farhat C (1996) Geometric conservation laws for flow problems with moving boundaries and deformable meshes, and their impact on aeroelastic computations. Comput Methods Appl Mech Eng 134(1–2):71–90CrossRefzbMATHGoogle Scholar
 39.Löhner R (2001) Applied CFD techniques. An introduction based on finite element methods. Wiley, New YorkzbMATHGoogle Scholar
 40.Löhner R, Yang C (1996) Improved ALE mesh velocities for moving bodies. Commun Numer Methods Eng 12(10):599–608CrossRefzbMATHGoogle Scholar
 41.Loseille A, Guillard H, Loyer A (2016) An introduction to Vizir: an interactive mesh visualization and modification software. EOCOE, Rome, ItalyGoogle Scholar
 42.Loseille A, Alauzet F (2011) Continuous mesh framework. Part I: wellposed continuous interpolation error. SIAM J Numer Anal 49(1):38–60MathSciNetCrossRefzbMATHGoogle Scholar
 43.Loseille A, Menier V (2013) Serial and parallel mesh modification through a unique cavitybased primitive. In: Proceedings of the 22th international meshing roundtable. Springer, Orlando, pp 541–558Google Scholar
 44.Luke E, Collins E, Blades E (2012) A fast mesh deformation method using explicit interpolation. J Comput Phys 231:586–601MathSciNetCrossRefzbMATHGoogle Scholar
 45.Maréchal L (2018) Handling unstructured meshes in multithreaded environments with the help of hilbert renumbering and dynamic scheduling. Parallel Comput (under review)Google Scholar
 46.Mavriplis D, Yang Z (2006) Construction of the discrete geometric conservation law for highorder time accurate simulations on dynamic meshes. J Comput Phys 213(2):557–573MathSciNetCrossRefzbMATHGoogle Scholar
 47.Murman S, Aftosmis M, Berger M (2003) Simulation of 6DOF motion with cartesian method. In: 41th AIAA aerospace sciences meeting. AIAAsps20031246, Reno, NV, USAGoogle Scholar
 48.Nkonga B (2000) On the conservative and accurate CFD approximations for moving meshes and moving boundaries. Comput Methods Appl Mech Eng 190(13):1801–1825CrossRefzbMATHGoogle Scholar
 49.Nkonga B, Guillard H (1994) Godunov type method on nonstructured meshes for threedimensional moving boundary problems. Comput Methods Appl Mech Eng 113(1–2):183–204CrossRefzbMATHGoogle Scholar
 50.Olivier G (2011) Anisotropic metricbased mesh adaptation for unsteady CFD simulations involving moving geometries. Ph.D. thesis, Université Pierre et Marie Curie, Paris VI, Paris, FranceGoogle Scholar
 51.Olivier G, Alauzet F (2011) A new changingtopology ALE scheme for moving mesh unsteady simulations. In: 49th AIAA aerospace sciences meeting. AIAA Paper 20110474, Orlando, FL, USAGoogle Scholar
 52.Roe P (1981) Approximate Riemann solvers, parameter vectors, and difference schemes. J Comput Phys 43:357–372MathSciNetCrossRefzbMATHGoogle Scholar
 53.Shu C, Osher S (1988) Efficient implementation of essentially nonoscillatory shockcapturing schemes. J Comput Phys 77:439–471MathSciNetCrossRefzbMATHGoogle Scholar
 54.Sod G (1978) A survey of several finite difference methods for systems of nonlinear hyperbolic conservation laws. J Comput Phys 27:1–31MathSciNetCrossRefzbMATHGoogle Scholar
 55.Spiteri R, Ruuth S (2002) A new class of optimal highorder strongstabilitypreserving time discretization methods. SIAM J Numer Anal 40(2):469–491MathSciNetCrossRefzbMATHGoogle Scholar
 56.Thompson JF, Soni BK, Weatherill NP (1998) Handbook of grid generation. CRC Press, Boca RatonzbMATHGoogle Scholar
 57.Yang Z, Mavriplis D (2005) Unstructured dynamic meshes with higherorder time integration schemes for the unsteady Navier–Stokes equations. In: 41th AIAA aerospace sciences meeting. AIAA Paper 20051222, Reno, NV, USAGoogle Scholar
 58.Yang Z, Mavriplis D (2007) Higherorder time integration schemes for aeroelastic applications on unstructured meshes. AIAA J 45(1):138–150CrossRefGoogle Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.