1 Introduction

The interaction between a fluid and a deformable structure, which appears in a very large field of industrial problems, has recently received increasing attention from the scientific community. Numerical simulations of such problems remain a challenging task.

A first difficulty comes from the fact that the whole system is the assembling of two subsystems of different natures. We can then either consider the full system as a whole part and write a variational formulation that comprises the fluid and the structure equations or we can use appropriate solvers for each of these subsystems. The first approach is called monolithic approach [22]. In the sequel, we considered the second approach called partitioned approach [12]. We solve separately the structure and the fluid equations at each time step. A possibility would have been, inside a time step, to iterate between the structure and the fluid solvers to reach an equilibrium between those states. This would have given a strong coupling at an increased computational cost. However, for small enough time steps, a weak coupling is sufficient [10, 15].

Another challenge is to handle the fluid domain that changes over time. This is indeed a difficulty as most of the numerical methods use fitted meshes, i.e. meshes such that the physical boundary is composed of cell faces. Hence, if we want to use such a fitted mesh, we need to change it at every time step to fit the moving boundary. Some algorithms such as the Arbitrary Lagrangian Eulerian (ALE) approach make it possible with small computation costs for small deformations of the fluid domain [13]. However, for large deformations of the domain, a complete remeshing is needed, which is highly expensive.

In order to avoid any change of the mesh during the computation, we consider a fictitious domain approach, i.e. the boundary of the physical domain can arbitrary cut the mesh. Several methods are included in this framework, for instance the immersed boundary method [8, 19, 20] or the penalization method [2, 16, 18].

This kind of method has already been used for fluid–structure interaction in [1, 14, 17]. A recent review can be found in [4].

In the present work, we use a XFEM type method that can also be found under the name of cutFEM. This method has been developed in the context of crack propagation in fatigue mechanics [9]. The main characteristic of this method is the use of a level-set function to locate an interface in the domain and an enrichment of the finite element basis with functions depending on the position of the interface. In the fluid–structure context, the interface will be the boundary between the fluid and the structure. We adapt and investigate a recent method of that type that is theoretically analyzed for the Stokes problem only in [11]. We focus our attention on determinant implementation stages that are non-standard.

We present the considered model in Sect. 2, the partitioned process in Sect. 3, the XFEM in Sect. 4 and the handling of the moving domain in Sect. 5. Numerical simulations are given in Sect. 6. Finally, Sect. 7 is a summary of the article.

2 The Problem

The system we are interested in corresponds to the 2D interaction of a fluid and a deformable structure that can be assimilated to a steering gear depending on two parameters that we denote \(\theta _{} = (\theta _{1} , \theta _{2}) \in \mathbb {R}^2\).

The whole system is enclosed in a box representing a wind tunnel Ω. The boundary of that box can be decomposed as ∂Ω = Γ i ∪ Γ w ∪ Γ N, where Γ i, Γ w and Γ N are parts of the boundary where inflow Dirichlet boundary conditions, homogeneous Dirichlet boundary conditions and Neumann-like boundary conditions are respectively imposed (see Fig. 1).

Fig. 1
figure 1

The domain configuration: the whole domain (a wind tunnel) is decomposed as \(\varOmega = \mathrm {S}(\theta _{}) \cup \mathscr {F}(\theta _{})\) (the structure and the fluid)

We consider the incompressible Navier–Stokes equations for the fluid and a virtual work principle for the structure, see [6, 7]. The structure and fluid domains depend on the parameters θ, we denote them respectively S(θ) and \(\mathscr {F}(\theta _{})\). We denote \(\mathrm {Q}_{\theta _{}} = \cup _{t \in (0,T)} \{t\} \times \mathscr {F}(\theta _{}(t))\), \(\varSigma _{\theta _{}} = \cup _{t \in (0,T)} \{ t \} \times \partial \mathrm {S}(\theta _{}(t))\), Σ i = (0, T) × Γ i, Σ w = (0, T) × Γ w and Σ N = (0, T) × Γ N.

The equations considered for the fluid are the following ones

this system is completed by the following equation for the structure

$$\displaystyle \begin{aligned} M_{\theta_{}} \ddot{\theta}_{} = M_I(\theta_{},\dot{\theta}_{}) + M_A(\theta_{} , - \sigma_{\mathrm{F}}(\mathbf{u} , p) {\mathbf{n}}_{\theta_{}}) + {\mathbf{f}}_{\mathrm{S}} \quad \mathrm{on} \quad (0,T) , \end{aligned} $$
(7)

and we consider the initial conditions

(8)
(9)

In the previous equations, we denoted u the velocity field of the fluid, p the pressure field, ν the viscosity of the fluid, \({\mathbf {f}}_{\mathscr {F}}\) a source term acting as a force per unit volume, u i a Dirichlet datum on the inflow boundary Γ i, σ F(u, p) = ν(∇u + (∇u)T) − pI the stress tensor of the fluid, n the unit outward normal to Ω, u S the velocity field of the structure, f S a source term on the structure equation. These equations have to be completed with suitable expressions for \(M_{\theta _{}}\), M I, M A and u S. The matrix \(M_{\theta _{}} \in \mathbb {R}^{2 \times 2}\), which is invertible, and the vectors M I, \(M_A \in \mathbb {R}^2\) depend respectively on θ; on θ, \(\dot {\theta }_{}\); on θand the force exerted by the fluid on the structure, i.e. \(\sigma _{\mathrm {F}}(\mathbf {u} , p) {\mathbf {n}}_{\theta _{}}\), where \({\mathbf {n}}_{\theta _{}}\) is the unit normal to S(θ) pointing inward the structure. For a more general presentation of the numerical scheme, we do not specify those terms. The numerical simulations will be led with the expressions given in Sect. 6.1. For those terms, the well-posedness of Eqs. (1)–(9) has been proven in [7]. The reader can find there further information.

3 The Time-Marching Process

We describe in this section, the time-marching process which is of partitioned type. This means that we solve the structure and the fluid systems separately and one after the other.

The fluid step at time t n+1 will be obtained by discretizing with a semi-implicit scheme the variational formulation: Find \(({\mathbf {u}}^{n+1}, p^{n+1} , \boldsymbol {\lambda }^{n+1}) \in \left ({\mathbf {H}}^1(\mathscr {F}(\theta _{ }^{n+1})\right )\times \left ( L^2(\mathscr {F}(\theta _{ }^{n+1})) \right ) \times \left ({\mathbf {H}}^{-1/2}(\partial \mathrm {S}(\theta _{ }^{n+1})) \times {\mathbf {H}}^{-1/2}(\varGamma _{\mathrm {i}} \cup \varGamma _{\mathrm {w}}) \right )\) such that

$$\displaystyle \begin{aligned} \left\{ \begin{array}{l} \displaystyle\int_{\mathscr{F}(\theta_{}^{n+1})} \dfrac{{\mathbf{u}}^{n+1} - {\mathbf{u}}^n }{\varDelta t} \cdot \mathbf{v} + ({\mathbf{u}}^{n} \cdot \nabla) {\mathbf{u}}^{n+1} \cdot \mathbf{v} + \dfrac{\nu}{2} (\nabla {\mathbf{u}}^{n+1} + (\nabla {\mathbf{u}}^{n+1})^T) : ( \nabla \mathbf{v} + \nabla {\mathbf{v}}^T) \\ \qquad \qquad \qquad \qquad - p^{n+1} \mathrm{div} \; \mathbf{v} + \displaystyle\int_{\varGamma_{\mathrm{i}} \cup \varGamma_{\mathrm{w}} \cup \partial \mathrm{S}(\theta_{}^{n+1})} \boldsymbol{\lambda}^{n+1} \cdot \mathbf{v} = \int_{\mathscr{F}(\theta_{}^{n+1})} {\mathbf{f}}_{\mathscr{F}} (t^{n+1}) \cdot \mathbf{v} , \\ \displaystyle\int_{\mathscr{F}(\theta_{}^{n+1})} q \mathrm{div} \; {\mathbf{u}}^{n+1} = 0 , \\ \displaystyle\int_{\varGamma_{\mathrm{i}} \cup \varGamma_{\mathrm{w}} \cup \partial \mathrm{S}(\theta_{}^{n+1})} {\mathbf{u}}^{n+1} \cdot \boldsymbol{\mu} = \int_{\varGamma_{\mathrm{i}}} {\mathbf{u}}^i (t^{n+1}) \cdot \boldsymbol{\mu} + \int_{\partial \mathrm{S}(\theta_{}^{n+1})} {\mathbf{u}}_{\mathrm{S}} (t^{n+1}) \cdot \boldsymbol{\mu} , \end{array} \right. \end{aligned} $$
(10)

\(\forall (\mathbf {v} , q , \boldsymbol {\mu }) \in \left ({\mathbf {H}}^1(\mathscr {F}(\theta _{ }^{n+1})\right )\!\!\times \!\! \left ( L^2(\mathscr {F}(\theta _{ }^{n+1})) \right ) \!\!\times \!\!\left ({\mathbf {H}}^{-1/2}(\partial \mathrm {S}(\theta _{ }^{n+1})) \!\!\times \!\!{\mathbf {H}}^{-1/2}(\varGamma _{\mathrm {i}} \cup \varGamma _{\mathrm {w}}) \right )\).

A Euler scheme semi-discretizes the partial derivative w.r.t. time. It requires u n to be integrated over the domain \(\mathscr {F}(\theta _{ }^{n+1})\) (while it is defined on \(\mathscr {F}(\theta _{ }^{n})\) only). We then need an extension procedure that we expose in Sect. 4.4. Note that the Dirichlet boundary conditions have been imposed in a weak way by the use of Lagrange multipliers \(\boldsymbol {\lambda }^{n+1}= (\boldsymbol {\lambda }_{\partial \mathrm {S}(\theta _{ }^{n+1})}^{n+1}, \boldsymbol {\lambda }_{\varGamma _{\mathrm {i}} \cup \varGamma _{\mathrm {w}}}^{n+1} )\). This induces the computation of the additional variable \(\boldsymbol {\lambda }_{\partial \mathrm {S}(\theta _{ }^{n+1})}^{n+1} = - \sigma _{\mathrm {F}}({\mathbf {u}}^{n+1} , p^{n+1}) {\mathbf {n}}_{\theta _{}}\) which represents the fluid forces acting on the structure at time t n+1 and will be approximated by \(\boldsymbol {\lambda }_h^{n+1}\). The index \(\partial \mathrm {S}(\theta _{ }^{n+1})\) is dropped in the sequel. The structure evolution is computed by the following finite difference method:

where we have denoted the approximation of \(\dot {\theta }_{}(t^n)\). Note that we use \(\boldsymbol {\lambda }_h^{n}\) in the structure equations.

At each time step, we use the procedure described in Algorithm 1. The main difficulties are to compute the fluid step and to adapt the fluid domain, they are tackled respectively in Sects. 4 and 5.

Algorithm 1 The splitting scheme

4 The Discretization Method for the Fluid Equations

In this section we detail the way we approximate the evolution of the fluid state.

4.1 The Finite Element Method

We define a background mesh \(\mathbb {T}_h\) covering the whole domain \(\varOmega = \mathscr {F}(\theta _{}) \cup \mathrm {S}(\theta _{})\). This mesh will not be modified during the simulation. The mesh cells can then be cut arbitrarily by the interface S(θ). This means that the cells are either entirely contained in the fluid or the structure domain, or are shared between those two domains. For each variable, we define a finite element method on the whole triangulation \(\mathbb {T}_h\). We choose the use of Taylor–Hood elements, i.e. \(\mathbb {P}_2\) elements for u h, \(\mathbb {P}_1\) elements for p h and for λ h.

Then, the approximated functions are the trace of these polynomials on the physical domain, \(\mathscr {F}(\theta _{})\) for u h and p h, S(θ) for λ h. We depict the functional basis associated to this method in Fig. 2.

Fig. 2
figure 2

The degrees of freedom for \( \mathbb {P}_1\) finite elements

Away from the interface, we have the usual finite elements associated to usual degrees of freedom (dof). Near the interface, the elements are cut. Note that some dof of the fluid are located in the structure domain, we call them fictitious degrees of freedom in the sequel. They correspond to actual dof of the method, however, their value do not have any physical meaning. This is why we need to handle those dof carefully (see Sect. 4.4). In the structure, away from the interface, all degrees of freedom are discarded.

4.2 The Stabilization Term

Classical XFEM applied to the Navier–Stokes equations does not ensure optimal convergence rate for the Lagrange multipliers. However, to simulate accurately the dynamics of the structure, we want λ h to be a good approximation of λ.

In order to recover the optimal convergence rate, we add the following stabilization term to the variational formulation of the fluid problem (10)

$$\displaystyle \begin{aligned} - \gamma_0 h \int_{\partial \mathrm{S}(\theta_{})} (\boldsymbol{\lambda}_h + \sigma_{\mathrm{F}}(\hat{\mathbf{u}}_h , \hat{p}_h) {\mathbf{n}}_{\theta_{}}) \cdot (\boldsymbol{\mu}_h + \sigma_{\mathrm{F}}(\hat{\mathbf{v}}_h , \hat{q}_h) {\mathbf{n}}_{\theta_{}} ) \; \mathrm{d} \mathbf{x} , \end{aligned} $$
(13)

with a mesh–independent constant γ 0 > 0. It corresponds to an augmented Lagrangian approach [5].

If we choose \(\hat {\mathbf {u}}_h = {\mathbf {u}}_h\), \(\hat {p}_h = p_h\), \(\hat {\mathbf {v}}_h = {\mathbf {v}}_h\) and \(\hat {q}_h = q_h\), then we get optimal convergence rate for λ h if the mesh does not have any bad triangle. We call bad triangle a triangle that is cut by the interface and has only a tiny part of its surface in the fluid domain. For instance, in Fig. 3, T is a bad triangle.

Fig. 3
figure 3

A bad element T and a good neighbor T . The fluid domain \(\mathscr {F}(\theta _{})\) is on the right of the interface represented in blue

The coefficients of the matrices are computed by an integration of the basis functions on the fluid domain. Then, such bad elements with only a tiny part in the fluid domain induce tiny coefficients in the matrices that are then ill-conditioned.

Since we consider a fixed mesh that can be arbitrarily cut by the interface, this stabilization is not enough. For such bad triangles, we take the velocity and pressure terms \(\hat {\mathbf {u}}_h\), \(\hat {p}_h\), \(\hat {\mathbf {v}}_h\) and \(\hat {q}_h\) in (13) as the extrapolation of the values of these variables in a good neighbor T of T. Doing that way, we obtain optimal convergence for λ h even if some triangles are badly cut in the mesh, see [11].

4.3 Algebraic Formulation

We denote with U, P and Λ the coordinate vectors of the velocity, the pressure and the multiplier into the \(\mathbb {P}_2\), \(\mathbb {P}_1\) and \(\mathbb {P}_1\) Finite Element (FE) basis respectively. The FE method can be rewritten under the following matrix form:

$$\displaystyle \begin{aligned} \dfrac{1}{\varDelta t} \left( \! \begin{array}{c c c} M_{\mathbf{u} \mathbf{u}} & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{array} \! \right) \!\! \left( \! \begin{array}{c} U^{n+1} - U^{n} \\ P^{n+1} - P^n \\ \varLambda^{n+1} - \varLambda^n \end{array} \! \right) \!+\! \left( \! \begin{array}{c c c} A_{\mathbf{u} \mathbf{u}} & A_{\mathbf{u} p} & A_{\mathbf{u} \boldsymbol{\lambda}} \\ A_{\mathbf{u} p}^T & A_{p p} & A_{p \boldsymbol{\lambda}} \\ A_{\mathbf{u} \boldsymbol{\lambda}}^T & A_{p \boldsymbol{\lambda}}^T & A_{\boldsymbol{\lambda} \boldsymbol{\lambda}} \end{array} \! \right) \! \left( \! \begin{array}{c} U^{n+1} \\ P^{n+1} \\ \varLambda^{n+1} \end{array} \! \right) = \left( \! \begin{array}{c} F^{n+1} \\ 0 \\ G^{n+1} \end{array} \! \right) . \end{aligned} $$
(14)

All the matrices are given by the discretization of the terms induced by (10) and (13). The matrices A uu, A up, A uλ, \(A_{\mathbf {u} p}^T\) and \(A_{\mathbf {u} \boldsymbol {\lambda }}^T\) correspond respectively, up to a perturbation induced by the stabilization term, to νΔu, ∇p, λ, the incompressibility constraint and the Dirichlet boundary conditions, M uu is the mass matrix. The vectors F n+1 and G n+1 correspond to the source term and to the Dirichlet data at t n+1. The matrices A pp, A pλ, \(A_{p \boldsymbol {\lambda }}^T\) and A λλ would have been null if there were no stabilization terms. Since the fluid domain changes over time, we discard and compute all the matrices at every time step. Some optimizations can be made to update only the coefficients linked to the cut cells.

In order to have a stable scheme, we use the following CFL condition:

$$\displaystyle \begin{aligned} \varDelta t_{n+1} = \min \left( \mathrm{cfl} \times \dfrac{h}{V_{\mathrm{max}}^n} , \varDelta t_{\mathrm{max}} \right) , \end{aligned} $$
(15)

where cfl ∈ (0, 1), \(V_{\mathrm {max}}^n\) is the maximum velocity of the fluid in \(\mathscr {F}(\theta _{ }^n)\) and Δt max is the maximum time step allowed.

4.4 Initialization of the Fictitious Velocity Values

The time derivative has been discretized in (14) by a finite difference method. This is a natural way of discretizing it. However, it induces some difficulties. Indeed, at every time step, in order to compute \({\mathbf {u}}_h^{n+1}\), we need to provide the value of \({\mathbf {u}}_h^{n}\) at every dof considered for \(\mathscr {F}(\theta _{ }^{n+1})\). The difficulty is due to the fact that such a value is not available when that degree of freedom was discarded in \(\mathscr {F}(\theta _{ }^n)\) (see Fig. 4).

Fig. 4
figure 4

Initialization of the velocity dof. In order to tackle difficulties, all dof that are in \(\mathrm {S}(\theta _{ }^{n})\) (the fictitious and the discarded ones) are given by the velocity of the structure at time t n. Since we consider adherence conditions between the fluid and the structure, the velocity of the structure near the interface is close to the one of the fluid. This justifies the meaning of the value given to the nodes in \(\mathrm {S}(\theta _{ }^{n})\)

Moreover, as exposed above, the values of the fictitious degrees of freedom have to be carefully used since they do not have any physical meaning. Hence, a dof that is fictitious in \(\mathscr {F}(\theta _{ }^n)\) and becomes real in \(\mathscr {F}(\theta _{ }^{n+1})\) cannot be straightforwardly used. We then impose the velocity of the structure at t n to all dof that are in \(\mathrm {S}(\theta _{ }^n)\).

5 The Evolution of the Fluid Domain

In this section, we describe the method used to adapt the fluid domain at every time step. We first describe the integration over the cut cells, then we present the way we locate the interface between the fluid and the structure.

5.1 Integration over the Cut Cells

All matrices in (14) are computed with an integration on the fluid domain only. We then need to lead integrations on the mesh, in particular over cut cells. In order to make these integrations possible, we divide every cut cell in sub-triangles that are taken fitted to the interface. We then only have to integrate over the sub-triangles that are in the fluid domain (see Fig. 5). This step is implemented with the qhull library [3]. The method is classical, we recall it here for completeness of the presentation.

Fig. 5
figure 5

Subdivision of the cut cells. Note that the operation consists in sub-dividing cut cells and not remeshing. Hence, the sub-cells are used only for integration and no new degrees of freedom are defined

This process requires a level-set function to locate the interface (as the null level of this function). We describe in Sect. 5.2 the way that we compute this function.

5.2 Position of the Interface

We locate the interface as the zero of a level-set function. In the literature, most of the time, the level-set function is computed as the solution of a PDE representing its evolution [23]. This generates undesirable effects such as numerical diffusion.

In our setting, the structure position and then the interface depends only on the two parameters θ = (θ 1, θ 2). At each time step, we then compute a precise approximation of the level-set function associated to the parameters \((\theta _{1}^n , \theta _{2}^n)\) (see Fig. 6).

Fig. 6
figure 6

Computation of the level-set function. The interface is represented by a list of points (computed analytically). The distance is computed with the polygon formed by those points

We can tune the number of points considered to gain more precision. The drawback of this method is that it is time expensive. In order to mitigate the run time, we compute the level-set function only for the required nodes, i.e. the ones near the interface. A smart function chooses those nodes.

6 Numerical Simulations

In this section we detail our choices for the numerical simulations and show some results. All simulations are run with the GetFEM++ library [21].

6.1 The Structure Modelling

To represent the deformations of the structure, we introduce a diffeomorphism X(θ 1, θ 2, .) that transforms a reference configuration corresponding to θ ref = (0, 0) into a given configuration corresponding to θ = (θ 1, θ 2) (see Fig. 7).

Fig. 7
figure 7

The diffeomorphism X

More precisely, we can define this diffeomorphism by

$$\displaystyle \begin{aligned} \mathbf{X}(\theta_{1},\theta_{2},\mathbf{x}) = \left( \begin{array}{l} \left(g_1(x_1) + x_2 \dfrac{N_1(x_1)}{|\mathbf{N}(x_1)|} \right) \cos{}(\theta_{1}) - \left(g_2(x_1) + x_2 \dfrac{N_2(x_1)}{|\mathbf{N}(x_1)|} \right) \sin{}(\theta_{1}) \\ \left(g_1(x_1) + x_2 \dfrac{N_1(x_1)}{|\mathbf{N}(x_1)|} \right) \sin{}(\theta_{1}) + \left(g_2(x_1) + x_2 \dfrac{N_2(x_1)}{|\mathbf{N}(x_1)|} \right) \cos{}(\theta_{1}) \end{array} \right) , \end{aligned}$$

where \(\mathbf {N} (x_1) = (N_1 (x_1), N_2(x_1) ) = (-g_1^{\prime }(x_1) , g_2^{\prime }(x_1) )\),

$$\displaystyle \begin{aligned} g_1(\ell) &= \left\{ \begin{array}{l l} \ell & \mbox{ if } \ell \leq a , \\ a + (\ell - a) \cos{}(\theta_{2} / 2) - f(\ell) \sin (\theta_{2} /2) & \mbox{ if } \ell \in (a , b) , \\ x_{B^\prime} + (\ell - b) \cos{}(\theta_{2}) & \mbox{ if } \ell \geq b, \end{array} \right. \end{aligned} $$
$$\displaystyle \begin{aligned} g_2(\ell) &= \left\{ \begin{array}{l l} 0 & \mbox{ if } \ell \leq a , \\ (\ell - b) \sin (\theta_{2} /2) + f(\ell) \cos{}(\theta_{2} /2) & \mbox{ if } \ell \in (a , b ) , \\ y_{B^\prime} + (\ell - b) \sin{}(\theta_{2}) & \mbox{ if } \ell \geq b , \end{array} \right. \end{aligned} $$

for \(x_{B^\prime } = b + (b - a) \cos {}(\theta _{2} / 2)\), \(y_{B^\prime } = (b - a) \sin (\theta _{2} / 2)\) and

$$\displaystyle \begin{aligned}f(\ell) = \dfrac{\tan{}(\theta_{2}/2)}{b-a} (\ell - (a+b)/2)^2 - \tan{}(\theta_{2}/2)\dfrac{b-a}{4}.\end{aligned}$$

We use the values a = 0.4 and b = 0.6 in the sequel. To complete (1)–(9), we define

$$\displaystyle \begin{aligned} {\mathbf{u}}_{\mathrm{S}} (t,\mathbf{x}) = \dot{\theta}_{1} \partial_{\theta_{1}} \mathbf{X}(\theta_{1} , \theta_{2} , \mathbf{x}) + \dot{\theta}_{2} \partial_{\theta_{2}} \mathbf{X}(\theta_{1} , \theta_{2} , \mathbf{x}) , \end{aligned} $$
(16)
$$\displaystyle \begin{aligned} (M_{\theta_{}})_{ij} = (\partial_{\theta_{i}}\mathbf{X}(\theta_{1},\theta_{2},\cdot) , \partial_{\theta_{j}}\mathbf{X}(\theta_{1},\theta_{2} , \cdot))_S, \end{aligned} $$
(17)
$$\displaystyle \begin{aligned} \!\!\!\! (M_I)_{j} \! = \!\! - \! \Big(\dot{\theta}_{1}^2 \! \partial_{\theta_{1}}^2 \! \mathbf{X}(\!\theta_{1},\theta_{2}) \!+\!\! 2 \dot{\theta}_{1} \! \dot{\theta}_{2} \! \partial_{\theta_{1} \! \theta_{2}} \! \mathbf{X}(\!\theta_{1},\theta_{2}) \!+\!\! \theta_{2}^2 \! \partial_{\theta_{2}}^2 \! \mathbf{X}(\!\theta_{1} , \theta_{2}) , \!\partial_{\theta_{j}}\! \mathbf{X}(\!\theta_{1} , \theta_{2}) \! \Big)_S , \end{aligned} $$
(18)
$$\displaystyle \begin{aligned} (M_A(\theta_{},\mathbf{f}))_j = \int_{\partial \mathrm{S}(\theta_{})} \mathbf{f} \cdot \partial_{\theta_{j}}\mathbf{X}(\theta_{1},\theta_{2}, \mathbf{Y}(\theta_{1},\theta_{2},\mathbf{x})) , \end{aligned} $$
(19)

where (f, g)S = ρS(0)f ⋅g and Y(θ 1, θ 2, ⋅) is the inverse diffeomorphism of X(θ 1, θ 2, ⋅).

We have proven well-posedness of the problem (1)–(9) with (16)–(19) in [7]. The reader will find there further information about this model.

6.2 Numerical Results

The whole domain Ω = (−1.0, 8.0) × (y min, y max) with y min = −2.5 and y max = 2.1 is discretized by a triangular mesh of 35,731 cells. It is locally refined near its boundary, near the corners, in the zone where lies the structure and in the wake behind the structure. We do not consider any forces in the fluid \({\mathbf {f}}_{\mathscr {F}} = 0\). The inflow condition is a perturbed Poiseuille profile \({\mathbf {u}}^i(t,x_2) = \frac {6 U_m}{(y_{max}-y_{min})^2} (-x_2^2 + (y_{max} + y_{min}) x_2 - y_{min} y_{max}) - z_p(x_2) e^{-(t-0.5)^2}\), where U m = 1.0 and \(z_p (x_2) = 0.8 \sin {}(2 \pi (x_2 + 0.75)/1.5)\) if x 2 ∈ [−0.75, 0.75] and z p(x 2) = 0 elsewhere is a profile chosen to perturb the stationary configuration.

We use the parameters ν = 1∕120 (Reynolds number of 120), ρ = 5, γ 0 = 0.05, cfl = 0.8 and Δt max = 5 ⋅ 10−4.

The initial parameters for the structure are and . The initial velocity profile u 0 is obtained by solving the stationary Navier–Stokes equations in the initial configuration. The source on the structure f S is chosen to compensate the forces of the fluid in the initial configuration and then enforce the initial state to be a stationary state.

The evolution of the system is reported in Figs. 8 and 9. The stationary setting is perturbed by the inflow condition. The perturbation propagates in the fluid and destabilizes the structure. Von Kármán vortex street appears in the wake behind the structure.

Fig. 8
figure 8

The velocity magnitude profile (red: high, blue: low), left: whole domain, right: zoom on the structure. The pictures have been captured at t = 0s, t = 1.5s and t = 6s

Fig. 9
figure 9

The evolution of the structure parameters; left: θ 1, right: θ 2

7 Summary

In the present article, we proposed a method to compute numerically the evolution of a fluid–structure system with a fixed mesh. It is based on a finite difference method w.r.t. time and on XFEM w.r.t. space. The structure and fluid steps are partitioned. We presented some solutions to implement this method. We finally ran numerical simulations with small deformations of the structure. Since the advantage of using XFEM over ALE is to tackle large deformations, more complex test cases should be considered to fully validate this approach.