A symmetric positive definite formulation for monolithic fluid structure interaction Avi Robinson-Mosher∗, Craig Schroeder∗, Ronald Fedkiw∗ Stanford University, 353 Serra Mall Room 207, Stanford, CA 94305 Abstract In this paper we consider a strongly coupled (monolithic) fluid structure interaction framework for incompressible flow, as opposed to a loosely coupled (partitioned) method. This requires solving a single linear system that combines the unknown velocities of the structure with the unknown pressures of the fluid. In our previous work, we were able to obtain a symmetric formulation of this coupled system; however, it was also indefinite, making it more difficult to solve. In fact in practice there have been cases where we have been unable to invert the system. In this paper we take a novel approach that consists of factoring the damping matrix of deformable structures and show that this can be used to obtain a symmetric positive definite system, at least to the extent that the uncoupled systems were symmetric positive definite. We use a traditional MAC grid discretization of the fluid and a fully Lagrangian discretization of the structures for the sake of exposition, noting that our procedure can be generalized to other scenarios. For the special case of rigid bodies, where there are no internal damping forces, we exactly recover the system of [4]. 1. Introduction Fluid structure interaction has been of increasing interest to the computational fluids community, due in part to the ability to address more computationally expensive problems with improved hardware. Researchers have found differing approaches useful for qualitatively different regimes of fluid structure interaction. Applications may involve low or high structural deformation. Problems involving low deformation can be approached with aligning fluid meshes using for instance Arbitrary Lagrangian-Eulerian (ALE) schemes. This has been quite successful for studying phenomena such as airplane wing flutter, see e.g. [10]. High structural deformation is sometimes also approached using ALE techniques, but frequent remeshing and the averaging it requires can lead to reduced accuracy and increased computational cost. More often, methods where the fluid and structure meshes are not aligned are employed (e.g. the body of work originating from [23]). In this case the interaction between fluid and structure is usually massaged via penalty methods or Lagrange multiplier formulations. Anecdotal evidence suggests that problems where either the fluid or the structure dominates the interaction are inherently more stable than those where the effect is more balanced. For example, it is more straightforward to solve problems where a kinematic structure drives the fluid or a structure is passively advected by fluid, as opposed to problems where structures and fluids have nearly equal densities (see e.g. [7]). Partitioned coupling approaches are typically explicit and staggered, for instance first imposing the fluid pressures as a force on the structure and then solving for the fluid using the structure velocities as boundary conditions in a second step. These approaches can also be iterated within a given time step for increased stability, noting that one obtains a monolithic (albeit expensive) approach if the iteration is run to convergence. Other approaches construct strongly coupled systems and then solve them in one of several ways. We follow a monolithically coupled approach, in which we model the fluid structure interaction by formulating and solving a single coupled system of equations; however, we do this in a way which is more ∗ {avir,cas43,fedkiw}@cs.stanford.edu, Preprint submitted to Elsevier Stanford University October 17, 2010 efficient as well as more likely to converge than simply iterating the partitioned approach to convergence in a simple Gauss-Seidel manner. Our approach allows the use of existing discretizations for both the fluid and the structure and requires only minor modification to existing codes. We do require that the fluid and structure solvers have certain properties, though we will argue that they ought to be true of any physically constituted system. The current formulation assumes that the fluid and structure systems are synchronized in time such that we can solve for the coupling at the synchronization points, although it is not inconceivable that one could apply asynchronous subiteration to each system. The method that we propose in this paper is similar to the previous work in [25] addressing an implicit method for two-way coupling of incompressible fluids and structures, with the chief difference being that the linear system presented in [25] was indefinite. Our main contribution is the observation in Section 5.2 that the structure damping operator can be factored and used to perform a change of variables that allows us to symmetrize the coupled system while maintaining positive definiteness. We examine the properties of the resulting linear system and demonstrate convergence of the method on several example problems from the literature. 2. Fluid Equations We address the Navier-Stokes equations for incompressible flow, ∂u + (u · ∇)u = −∇p + µ∇2 u + f ρ ∂t (1) and ∇ · u = 0, (2) in the presence of structures. Here, u is the fluid velocity, p is the pressure, µ is the dynamic viscosity, ρ is the density, and f is any external body force such as gravity. We use a standard Marker and Cell (MAC, [16]) grid discretization for the fluid. When solving in the presence of structures, some faces may not contain valid velocity samples because they are covered by structures. The vector of fluid velocity samples omitting any covered by the structure is denoted by u. Pressure samples are defined at cell centers. The divergence operator is defined to act on velocities at cell faces to yield divergences at cell centers using the standard six-point stencil in three spatial dimensions, and the gradient operator is defined as the negative transpose of the divergence. We apply the projection method of [8] to solve the discretized form of Eqs. (1) and (2), making a first order approximation in time. This splits the time integration into the computation of an intermediate velocity ignoring the pressure terms u⋆ = un − ∆t(un · ∇)un + ∆t ∆tµ 2 ∇ u+ f ρ ρ (3) followed by enforcement of incompressibility via an implicit pressure projection un+1 = u⋆ − ∆t ∇p. ρ (4) We have omitted a specification of time from the viscosity term, since the viscosity might be applied explicitly or implicitly. We postpone further consideration of viscosity until Section 7, at which point we will include it in the coupling framework. We use a semi-Lagrangian advection scheme (see e.g. [26]) to compute the convective terms in Eq. (3). In the presence of structures, this requires ghost cells or clipping since the back-cast rays may intersect the solid; we use a method based on [14] for semi-Lagrangian advection near 2 solid surfaces. We advect using the divergence free time n velocities. We enforce incompressibility as usual by plugging Eq. (4) into the discrete form of Eq. (2) to obtain ∆t ∇p = ∇ · u⋆ , ∇· ρ which we solve for p using the conjugate gradient method. 3. Structure Equations We utilize a traditional Lagrangian approach for structures. For deformable structures, we solve the equations ẋ = v and Mv̇ = F. We take a lumped mass approach where the quantities x and v are the vectors containing the position and velocity degrees of freedom for all n of the particles. The mass matrix M is a 3n × 3n diagonal matrix with each 3 × 3 diagonal block of the form mi I, where mi is the mass of particle i. The forces F = Fe + Fd contain both elastic Fe (velocity independent) and damping Fd (velocity dependent) forces. Purely elastic forces (e.g., no plasticity) can be expressed in terms of an energy potential as Fe = − ∂φ ∂x , where the energy potential φ depends only on x. Damping forces are often chosen according to a simple model Fd = Dv that is linear in velocities and has symmetric negative semidefinite D. This is true, for example, for the damping applied to a simple spring and Rayleigh damping. One particularly simple and stable way of evolving these equations is via backward Euler. We wish to solve n+1 x xn + ∆tvn+1 = . vn+1 vn + ∆tM−1 Fn+1 Taking the first order approximation Fn+1 = Fn + xn+1 vn+1 = ∂Fn n+1 ∂x (x − xn ) + xn + ∆tvn+1 n ∂F vn + ∆tM−1 (Fn + ∂x (xn+1 − xn ) + ∂Fn n+1 ∂v (v ∂Fn n+1 ∂v (v − vn ) this becomes − vn )) . Using the first equation to eliminate xn+1 in the second equation yields ∂Fn n+1 ∂Fn ∆tvn+1 + (v − vn )) vn+1 = vn + ∆tM−1 (Fn + ∂x ∂v ∂Fn ∂Fn n ∂Fn I − ∆tM−1 vn+1 = vn − ∆tM−1 − ∆t2 M−1 v + ∆tM−1 Fn ∂v ∂x ∂v n n (5) 2 −1 ∂F −1 ∂F From this we see that we must invert I − ∆tM−1 ∂F ∂v − ∆t M ∂x . The second term, −∆tM ∂v = −∆tM−1 D, is symmetric positive semidefinite under a mass weighted inner product, which can be used for ∂Fd ∂Fe solving the equation. The third term, however, can cause problems. Note that ∂F ∂x = ∂x + ∂x . The first term is symmetric since Fe = − ∂φ ∂x , but it might be indefinite. The second term need not even be symmetric under the mass weighted inner product. Another approach is a Newmark-style semi-implicit scheme n+1/2 • v⋆ = vn + n+1/2 ∆t −1 F(xn , v⋆ ) 2 M n+1/2 • xn+1 = xn + ∆tv⋆ • vn+1/2 = vn + ∆t −1 F(xn , vn ) 2 M • vn+1 = vn+1/2 + ∆t −1 F(xn+1 , vn+1 ) 2 M 3 Each time step of this scheme involves two implicit solves, bulleted steps 1 and 4. These solves differ from the fully implicit backward Euler solve in that the dependence of force on position is explicit. The first solve, if taken for a full ∆t, would look like vn+1 = vn+1 n −1 ∂F vn+1 I − ∆tM ∂v I − ∆tM−1 D vn+1 = = = vn + ∆tM−1 F(xn , vn+1 ) ∂Fn n+1 vn + ∆tM−1 (Fn + (v − vn )) ∂v ∂Fn n vn − ∆tM−1 v + ∆tM−1 Fn ∂v vn − ∆tM−1 Dvn + ∆tM−1 Fn (6) (7) We see from this that the fully implicit system Eq. (5) differs from the semi-implicit system Eq. (6) by the n presence of the extra −∆t2 M−1 ∂F ∂x term. This term was the source of the indefiniteness and asymmetry problems in the fully coupled system. This simplification comes at the price of stability, however. The fully implicit backward Euler scheme is unconditionally stable, but the semi-implicit scheme is not. Of course, this is the well-known difference between a fully implicit Newmark method and one that resembles central differencing [18]. The particular scheme used for the simulations in this paper is based on the backward Euler variant of [28], which differs from the previous scheme in that it has been rewritten so that a backward Euler step can be used for updating the final positions. That is 1. 2. 3. 4. 5. −1 v̂⋆ = vn + ∆t Fe (xn ) 2 M −1 vn+1/2 = v̂⋆ + ∆t D(xn )vn+1/2 2 M xn+1 = xn + ∆tvn+1/2 v⋆ = vn + ∆tM−1 Fe (xn+1 ) vn+1 = v⋆ + ∆tM−1 D(xn+1 )vn+1 As before, both solves lead to systems of the form Eq. (7). This scheme is first order accurate in time, limited to first order by the backward Euler step used to compute the final velocities. Our treatment of rigid bodies follows that of [28]. In general, each particle of a deformable body contributes one block to v, M, and F. Each rigid body contributes two blocks to each, with the first block corresponding to the linear part, vi , mi , and fi , and the second block corresponding to the angular part, ωi , Ii , and τ i . With this taken into account, the linear system Eq. (7) is valid for deformable and rigid bodies. The ability to treat rigid bodies using the same formulas as deformable bodies breaks down somewhat when dealing with advancing rigid body orientation. Fortunately, the coupling formulation presented here is explicit in position and therefore does not directly involve the integration of rigid body orientation, so this complication is avoided. The coupling formulation is valid when bodies are deformable, rigid, or a mixture of both. 4. Discrete Fluid Structure Coupling Equations Our goal is to write down the equations that need to be solved in full, including the coupling and any other terms such as boundary conditions. In doing this it is more useful to work from the actual discretizations than it is from the continuous equations. Therefore we will consider the MAC grid fluid discretizations and the Lagrangian structure discretizations as defined in Sections 2 and 3 and use them going forward for our notation. However, we stress that one could use other discretizations for the fluids and structures and apply the same methodology that we propose to those sets of equations. We follow a method similar to that of [25] to merge the time integration schemes described in Sections 2 and 3, 1. v̂⋆ = vn + 2. û⋆ = un + ∆t −1 Fe (xn ) 2 M ∆t 2ρ f 4 3. 4. 5. 6. Coupled solve with known quantities û⋆ , v̂⋆ , and xn and unknown quantities un+1/2 , p, and vn+1/2 xn+1 = xn + ∆tvn+1/2 v⋆ = vn + ∆tM−1 Fe (xn+1 ) u⋆ = un − ∆t(un · ∇)un + ∆t ρ f 7. Coupled solve with known quantities u⋆ , v⋆ , and xn+1 and unknown quantities un+1 , p, and vn+1 Steps 1 through 2 integrate the explicit structure forces and explicit fluid forces for ∆t/2. We leave out the convective terms in the fluid update because the coupled solve in step 3 takes positions at time n and solves for velocities at time n + 12 . The known quantities at the beginning of step 3, which replaces step 2 in Section 3, are û⋆ , v̂⋆ , and xn . The remaining unknown quantities to solve for in Eqs. (2), (4) and (7) are un+1/2 , p, and vn+1/2 . The details of the coupled solve are described later, but note that this solve takes n+1/2 is used to advance the place over only half of the time step (and thus has step size ∆t 2 ). In step 4, v n+1/2 n+1/2 structure positions to time n + 1, and then u , p and v are discarded. Steps 5 through 6 re-integrate the explicit structure forces and explicit fluid forces for ∆t, this time including the convective terms in the fluid update to get time n + 1 fluid positions, resulting in v⋆ and u⋆ . The known quantities at the beginning of step 7, which replaces step 5 from Section 3 and Eq. (4), are u⋆ , v⋆ , and xn+1 . We use xn+1 to determine the valid degrees of freedom for un+1 . The remaining unknown quantities to solve for in Eqs. (2), (4) and (7) are un+1 , p, and vn+1 . The coupled solve used in this step has the same form as that in step 3. For the sake of exposition, we consider below only the second of the two implicit steps described above (step 7), and therefore we will discuss the updates from u⋆ and v⋆ to un+1 and vn+1 , whereas the updates from û⋆ and v̂⋆ to un+1/2 and vn+1/2 will be handled independently. One can replace ∆t, xn+1 , u⋆ , v⋆ , n ⋆ ⋆ n+1/2 and vn+1/2 in the discussion that follows in order to apply the un+1 and vn+1 with ∆t 2 , x , û , v̂ , u same treatment to step 3. 4.1. Fluid Structure Coupling Constraints The modifications to the fluid and structure equations correspond to constraints that capture the behavior at the fluid structure interface. A fluid structure coupling constraint is an enforced constraint on the relative velocity of the fluid and the structure at a point in space. In our implementation, a constraint occurs when a ray cast between two adjacent MAC grid cell centers, at least one of which is in the fluid region, intersects a structure surface. The constraint is placed at the center of the MAC grid face between the two cell centers, and enforces that the projection of the fluid and structure velocities at that point in the ray direction are equal. The impulse transfer between the solid and the fluid which enforces the constraint is called λ. See Figure 1. This simple choice of constraint location is only first order accurate, since the constraint locations are located O(∆x) from the structure surface. 4.2. Modified Fluid Equations For fluid structure interaction, Eq. (4) changes due to the interaction with the structure. In Figure 1 for the x direction we have a mass in that dual cell m and a velocity u, the product of which mu is equal to mu⋆ plus the contribution from p in the fluid on the left side of the dual cell, plus a contribution from λ due to interaction with the structure. This discards the pressure on the right hand side of the dual cell due to the structure. We can neglect the dual cells that would lose two pressure contributions, those inside the structure, since they are not degrees of freedom. We write this in vector form for all of the fluid velocity terms as βun+1 = βu⋆ − Ĝp̂ + WT λ, (8) where β is the diagonal matrix of fluid dual cell masses assembled from the product of the density ρ and the volume V of each dual cell. We let p̂ = ∆tp. We define −ĜT = −V ∇T , the volume weighted divergence, with the additional modification that we drop rows from −ĜT that correspond to cells without fluid. Its negative transpose, Ĝ, is defined as the volume weighted gradient. −ĜT is simpler to describe directly than 5 p u, λ Figure 1: A dual cell requiring an equal velocity constraint is depicted above intersecting the solid depicted by the dashed line. The fluid pressure on the left face of the dual cell will be balanced by the constraint-maintaining impulse λ applied at the equal velocity constraint location. Ĝ, since every row of −ĜT has the same stencil while the stencils for rows of Ĝ differ because some pressure samples fall inside the structure. WT is the matrix of 1s and 0s which maps λ to the appropriate fluid velocity scalars, which will be discussed in more detail below. The discrete form of the incompressibility constraint is −ĜT un+1 = 0 (9) Our discretizations of W, Ĝ, and −ĜT are first order accurate since the constraint locations used in their definition are only first order accurate. We note that even were Ĝ a higher order accurate approximation of the gradient operator it would not necessarily imply that −ĜT would be a compatible and higher order accurate approximation of the divergence. Unlike the second order discretizations [11, 22], it is not sufficient in this context to discretize the Poisson operator with higher order accuracy. The discretizations of gradient and divergence in [22] do not satisfy the negative transpose relationship, so using them in this formulation would produce an asymmetric linear system. 4.3. Modified Structure Equations To write the modified equations for the structure, one needs to consider the fact that the fluid and structure degrees of freedom are defined at different spatial locations. This is quite important as constraints must be applied to co-located fluid and structure velocities, and the equal and opposite forces applied to the fluid and the structure must be applied at the same location in space so as not to introduce a net torque. We define an operator J which interpolates from structure degrees of freedom to fluid velocity locations. Its transpose JT is a conservative redistribution from fluid velocity locations to structure velocity degrees of freedom. J can be decomposed into three matrices, J = NĴR. The matrix R is comprised of blocks Rpb , where body b is sampled by particle p. For particles within a deforming body, the particles are the samples, and Rpb = I. If b corresponds to a rigid body, then there is a sample point p at each nearby fluid velocity location. If such a sample point p is displaced from the rigid body’s center of mass by rpb , the velocity at the sample point is v v ∗T I r (10) = R vp = vb + r∗T ω = pb pb b pb ω b ω b 6 ∗ ∗ so that Rpb = I r∗T pb , where r represents the matrix such that r u = r × u for any u. P The operator Ĵ interpolates particle velocity samples p to a MAC grid face f as p αf p vp , so that P the blocks of Ĵ are Ĵf p = αf p I. Since Ĵ is an interpolation operator, p αf p = 1. The coefficients αf p are defined based on local geometric information associated with the face f and the particle p such as the control volume around f and structure faces incident on p. For the rigid body, R is used to sample the rigid body velocities at sample points, and the most logical positions for sample points are the fluid velocity locations at the centers of faces. In that sense, if only one rigid body was present near a face, locally the Ĵ operator is the identity for that degree of freedom. However multiple rigid bodies or particles may influence the same face, in which case an averaging of the velocities would be required, making Ĵ nontrivial. Finally, N extracts the appropriate scalar velocity component from the vector velocity constructed via R and Ĵ. The matrix N is block diagonal, where each block Nf f corresponds to a grid face f with normal nf . These blocks are formed as Nf f = nTf . Our discretization of the operator J is limited to first order accuracy since it depends on the first order accurate structure interface location. Since Eq. (8) applies an impulse to the fluid at MAC grid face locations, the equal and opposite impulse must be applied to the structure at those same locations, guaranteeing conservation of angular momentum. For the case of rigid bodies, one can apply impulses to the rigid body from any location in space and therefore the method does conserve angular momentum. However, in the case of deformable bodies ĴT contains a spatial redistribution of the impulse which, while being a fully conservative remapping with columns summing to 1 and thus conserving linear momentum, will not conserve angular momentum. P In summary, NT maps impulse magnitudes from dual cells to impulse vectors normal to the face. Since p αf p = 1, ĴT conservatively distributes these impulses to different spatial sample locations in the case of deformable bodies. For rigid bodies the spatial location does not change although the impulse can still be conservatively distributed among multiple rigid bodies influencing that face. Finally RT conservatively applies those sample impulses to the structure degrees of freedom. This mapping is trivial for deformable particles, but for rigid bodies it converts the impulse sample into linear and angular impulses at the body’s center of mass. We note that [2] proposed a method which allows the solid and fluid domains to be non-coincident, coupled via interpolation and Lagrange multipliers, similar to our use of W and J. The full modified structure equations are Mvn+1 = Mv⋆ + ∆t Dvn+1 − JT WT λ (11) where M is the structure mass matrix and Dvn+1 is the implicit contribution of structure forces. The last term is the constraint impulse mapped first by WT from constraint locations to fluid velocity degrees of freedom and then by JT to structure velocity degrees of freedom. The coupling momentum WT λ is subtracted from the structure equation since it was added to the fluids equation. W has a number of columns equal to the number of fluid scalar velocity samples and a number of rows equal to the number of constraints. WT therefore maps to every MAC grid face but puts zero on every face which is not coupled. As a consequence, JT only needs to be nonzero for the faces which are coupled, even though it has a number of columns equal to the number of fluid scalar velocity samples. JT WT then maps from the fluid degrees of freedom that are coupled to the structure degrees of freedom that are coupled. Although Eqs. (8) and (11) indicate how momentum is conservatively transferred between the fluid and the structure, this still leaves open the question of how much momentum is transferred. That is, we have introduced a new degree of freedom λ and have not yet provided the equations to govern these new degrees of freedom. In order to do this we consider the equal velocity constraints that the fluid and the structure should move with the same velocity, or for inviscid flow the same velocity in the normal direction. One way of governing these degrees of freedom is to set the difference between the fluid velocity and the interpolated structure velocity equal to zero at every fluid velocity degree of freedom as indicated in Figure 1. This can be expressed as the equation W(u − Jv) = 0, (12) noting that J maps zero to all the face locations that are not influenced by the structure and that W filters all of these locations out. Note that one can use Eq. (12) and its variants in order to model a wide range 7 of physical phenomena. For example, one could use W(u − J(v − s)) = 0 in order to model an arbitrary source term with inflow and outflow from the structure. One might also wish to constrain the velocities at other locations than the faces of the MAC grid or to constraint limited components such as the normal component as was done in [24] in order to achieve better slip boundary conditions. In this sense W may not be simply defined as a trivial restriction matrix and may instead be thought of as a general interpolation operator mapping from the faces of the MAC grid to constraint locations. This would not change the inputs of W, but the outputs would no longer necessarily correspond to the MAC grid faces but could instead be at arbitrary locations. Note that the formulation of our equations does not rule out any of these approaches, but for the sake of exposition we will deal with Eq. (12) going forward. 5. Numerical Approach We can write our system in symmetric form as T −1 Ĝ β Ĝ −ĜT β −1 WT 0 p̂ −Wβ−1 Ĝ Wβ −1 WT −WJ λ = vn+1 0 −JT WT −M + ∆t D The first equation, ĜT u⋆ −Wu⋆ . −Mv⋆ ĜT β−1 Ĝp̂ − ĜT β−1 WT λ = ĜT u⋆ (13) is obtained by substituting Eq. (8) into Eq. (9). The second equation, −Wβ−1 Ĝp̂ + Wβ −1 WT λ − WJvn+1 = −Wu⋆ (14) is obtained by substituting Eq. (8) into Eq. (12). The third equation, −JT WT λ − Mvn+1 + ∆t Dvn+1 = −Mv⋆ (15) is a rearrangement of Eq. (11). If we make some assumptions about W and J, we can eliminate λ. If W takes on the particularly simple form described in Sections 4.2 and 4.3, then WWT = I. If J has nonzero rows only for constraint faces, then WT WJ = J. If we also take densities to be constant at all constraint faces, then WT Wβ −1 = β−1 WT W. Multiplying Eq. (14) by WT produces −WT Wβ−1 Ĝp̂ + WT Wβ−1 WT λ − WT WJvn+1 −WT Wβ −1 Ĝp̂ + β−1 WT λ − Jvn+1 = = WT Wu⋆ WT Wu⋆ (16) Adding ĜT times Eq. (16) to Eq. (13) yields (ĜT β−1 Ĝ − ĜT WT Wβ−1 Ĝ)p̂ + (−ĜT β−1 WT + ĜT β −1 WT )λ − ĜT Jvn+1 ĜT (I − WT W)β −1 Ĝp̂ − ĜT Jvn+1 = ĜT u⋆ − ĜT WT Wu⋆ = ĜT (I − WT W)u⋆ Adding JT β times Eq. (16) to Eq. (15) yields −JT βWT Wβ−1 Ĝp̂ + (−JT WT + JT WT )λ + (∆t D − M − JT βJ)vn+1 −JT Ĝp̂ + (∆t D − M − JT βJ)vn+1 These together form a symmetric system similar to that of [25], T Ĝ (I − WT W)β −1 Ĝ −ĜT J p̂ = vn+1 −JT Ĝ −JT βJ − M + ∆t D 8 = −Mv⋆ + JT βWT Wu⋆ = −Mv⋆ + JT βu⋆ T Ĝ (I − WT W)u⋆ . −Mv⋆ + JT βu⋆ Both of these systems are symmetric indefinite. Although numerical methods exist for solving such systems, faster methods are available for systems which are symmetric positive definite. In this paper, we propose a novel approach which leads to a symmetric positive definite system. We begin by forming the system T −1 Ĝ β Ĝ −ĜT β−1 WT 0 p̂ ĜT u⋆ −Wβ−1 Ĝ Wβ −1 WT + WJM−1 JT WT −∆t WJM−1 D λ = WJv⋆ − Wu⋆ (17) vn+1 v⋆ 0 M−1 JT WT I − ∆t M−1 D where the second equation, −Wβ−1 Ĝp̂ + Wβ−1 WT λ + WJM−1 JT WT λ − ∆t WJM−1 Dvn+1 = WJv⋆ − Wu⋆ , is obtained by substituting Eq. (8) and Eq. (11) into Eq. (12). The first equation is Eq. (13), and the third equation is Eq. (15) multiplied through by M−1 . An obvious way to symmetrize this system is to multiply the third equation through by −∆tD. Though this system is symmetric it is only positive semidefinite. The conditioning of the original structure system is typically quite good, since I − ∆t M−1 D has eigenvalues clustered near one for small ∆t. This symmetrized version looks more like D, which will often have significantly worse conditioning. A particularly interesting way of symmetrizing the system is to factor D. 5.1. Factoring Damping Matrix If D is symmetric negative semidefinite, then it can be factored as −∆t D = CT C. We rely on this property of D to apply our method, noting that although there are instances where D will not have this property and in those cases our approach based on factoring D is not applicable, there are a wide range of models in which this property holds (see below). If D is a damping matrix, and the force is given by f = Ma = −∇φ + Dv, then the energy is E = φ + 21 vT Mv and Ė = (∇φ)T v + vT Ma = (∇φ)T v + vT (−∇φ + Dv) = vT Dv. Then, a non-positive change in energy leads to negative definiteness of D. T T Furthermore, if D is decomposed into its symmetric and antisymmetric parts, D+D and D−D respectively, 2 2 T v = 0 shows that the antisymmetric part does not contribute damping. Therefore, damping then vT D−D 2 matrices gain little by containing asymmetric parts. These facts lead to the conclusion that for most purposes a damping matrix D can be considered to be symmetric negative semidefinite. On the other hand, if you consider the backward Euler formulation at the beginning of Section 3, where n D would be augmented by linearizations of elastic terms ∂F ∂x in the process of carrying out the NewtonRaphson iterations, then much of this would not be true. The current factorization is therefore limited to a semi-implicit treatment of the structure, where elastic terms are handled explicitly. Moreover, a fully implicit treatment would have the further complication of moving the locations of the constraints and changing W during the solve, which we do not address. For the sake of exposition, consider the case of a linear spring which connects two particles p1 and p2 . The magnitude of the damping force f is proportional to the difference in particle velocities along the spring direction d, multiplied by a damping constant kd . The force is then applied in opposite directions to p1 and p2 . The damping matrix for this single spring would be D = −∆tkd T d d , −d −d which can be factored into Ci = D = T p d ∆tkd −d −CTi Ci . For the case of n springs and an arbitrary number of particles, C is formed by stacking up rows of the form Ci and the same factorization applies. 9 Rayleigh damping is commonly used along with finite element constitutive models. In practice, we have found that our routines for applying damping forces are naturally partially factored. The implementation follows the framework of [20]. Below is a description of what the implementation looks like in the case of a single element and an isotropic constitutive model and how it lends itself to efficient factorization. In this framework, the deformation gradient is factored into its polar singular value decomposition as F = UF̂VT , where U and V are rotations and F̂ is diagonal, in order to compute the elastic forces. Define two operators x1 x1 x2 x2 = x1 − x4 x2 − x4 x3 − x4 . x x x G = S 1 2 3 x3 x3 x4 −x1 − x2 − x3 If xm are the material space positions of the element, then Dm = G(xm ) and Ds = G(x) are the locations of three vertices of the element relative to the fourth in material and world space. The damping force application routine consists of the steps 1. Compute the relative velocities, Ḋs = G(v). 2. Compute the deformation gradient, Ḟ = Ḋs D−1 m . ˆ = UT ḞV. 3. Rotate the deformation gradient into the diagonalized coordinate system, Ḟ ˆ + β Ḟ ˆ+ 4. Compute the first Piola-Kirchhoff stress in the diagonalized coordinate system, P̂ = αtr(Ḟ)I ˆ T , where α and β are parameters of the constitutive model. β Ḟ 5. Rotate back to compute the first Piola-Kirchhoff stress, P = UP̂VT . 6. Compute forces the element applies on three of the tetrahedron faces as Ĝ = −PN, where N are the area weighted face normals. These normals can be computed as N = − 21 det(Dm )D−T m . To see that this is correct, note that 31 NT Dm = −V I, where V is the volume of the tetrahedron. The negative sign is because N need to point outwards. Note that, if we computed it, Ĝ4 = −PN4 = −P(−N1 − N2 − N3 ) = −Ĝ1 − Ĝ2 − Ĝ3 . 7. Distribute the forces from faces to vertices. The force f1 at the first vertex is one third of the forces on the faces around it, or f1 = 13 (Ĝ2 + Ĝ3 + Ĝ4 ) = − 31 Ĝ1 . Noting that the forces sum to one, the forces are finally obtained as f = S(− 31 Ĝ). Several observations make the process of factoring this force application simpler. The first observation is that each of these steps can be regarded as a linear operator between vector spaces, where the matrices are taken to be flattened into vectors. In this way, the operators S and G are transposes, so that ignoring the factor of − 31 , the operator described by step 7 is the transpose of step 1. Similarly, step 6 is 12 det(Dm ) times the transpose of step 2. Step 3 is the transpose of step 5. Let P (α, β) represent the linear operator applied in step 4. The damping force application can be written as steps 1 through 3, followed by − 16 det(Dm )P (α, β), followed by the transpose of steps 1 through 3. Finally, the operation C is just steps 1 through 3, followed by the square root of 61 ∆t det(Dm )P (α, β). It remains only to determine what this square root is. Assume that the square root has the form P (α′ , β ′ ). Then, ˆ = P (α′ , β ′ )Ḟ ˆ = P (α′ , β ′ )2 Ḟ = = β′ = α′ = ˆT ˆ + β ′ Ḟ ˆ + β ′ Ḟ α′ tr(Ḟ)I ˆ T )T ˆ + β ′ Ḟ ˆ T ) + β ′ (α′ tr(Ḟ)I ˆ + β ′ Ḟ ˆ + β ′ Ḟ ˆ T ) + β ′ (α′ tr(Ḟ)I ˆ + β ′ Ḟ ˆ + β ′ Ḟ ˆ + β ′ Ḟ α′ Itr(α′ tr(Ḟ)I 2 ˆ + 2β ′ 2 Ḟ ˆ + 2β ′ 2 Ḟ ˆT (3α′ + 4α′ β ′ )tr(Ḟ)I 2 2 ˆ P (3α′ + 4α′ β ′ , 2β ′ )Ḟ r 1p 1 2β ∆t det(Dm ) 6 2 r p 1 p 1 3α + 2β − 2β ∆t det(Dm ) 6 3 Since the operator P (α′ , β ′ ) is symmetric, this construction results in the operator C, and routines to apply both C and CT are readily constructed with only minor modifications to the existing code. 10 5.2. SPD Formulation Assuming a factorization of the form −∆t D = CT C allows us to left multiply the third row of Eq. (17) by C and subsequently factor C out of the third column into the solution vector to obtain T −1 Ĝ β Ĝ −ĜT β−1 WT 0 p̂ ĜT u⋆ −Wβ−1 Ĝ Wβ −1 WT + WJM−1 JT WT −∆t WJM−1 D λ = WJv⋆ − Wu⋆ vn+1 v⋆ 0 M−1 JT WT I − ∆t M−1 D T −1 −ĜT β −1 WT 0 Ĝ β Ĝ p̂ ĜT u⋆ −Wβ−1 Ĝ Wβ−1 WT + WJM−1 JT WT WJM−1 CT C λ = WJv⋆ − Wu⋆ vn+1 −v⋆ 0 M−1 JT WT I + M−1 CT C T −1 Ĝ β Ĝ −ĜT β −1 WT 0 p̂ ĜT u⋆ −Wβ −1 Ĝ W(β −1 + JM−1 JT )WT WJM−1 CT λ = WJv⋆ − Wu⋆ v̂ Cv⋆ 0 CM−1 JT WT I + CM−1 CT where v̂ = Cvn+1 represents the new unknowns. Note that the substitution of Eq. (11) into Eq. (12) to derive Eq. (17) allowed us to place a D into the third column of the coefficient matrix in Eq. (17), leading to the factorization of C out of the coefficient matrix and into the unknowns, and this was the reason for that extra substitution. The resulting system is obviously symmetric, and we can recover vn+1 from v̂ by replacing ∆tDvn+1 with −CT Cvn+1 = −CT v̂ in Eq. (11) Mvn+1 = Mv⋆ − CT v̂ − JT WT λ. The symmetrized system can be expressed as the sum of three matrices that are evidently symmetric positive semidefinite as T −1 Ĝ β Ĝ −ĜT β −1 WT 0 0 0 0 0 0 0 −Wβ−1 Ĝ Wβ −1 WT 0 + 0 WJM−1 JT WT WJM−1 CT + 0 0 0 0 CM−1 JT WT CM−1 CT 0 0 I 0 0 0 from which the symmetric positive semidefiniteness of the coupled system follows. To consider the rank of this matrix, note that any vector in the nullspace of the coupled system, consisting of three parts p̂, λ, and v̂ must necessarily be in the nullspace of each of these three matrices. From the third matrix, we conclude that this requires v̂ = 0. Assuming v̂ = 0 and looking at the second matrix leads one to consider only requirements for λ. The second matrix factors as T 0 0 WJ M−1 WJ C C It is necessary for M−1 JT WT λ = 0, which implies that the constraint impulses have absolutely no effect on any degrees of freedom of the structure. The first matrix factors as T T ĜT Ĝ −W β −1 −W 0 0 A nontrivial nullspace of this matrix satisfies β−1 Ĝp̂ − β−1 WT λ = 0, which implies that the combination of constraints and pressures cancels to give no effect on the final fluid velocities un+1 as can be seen by inspecting Eq. (8). This immediately gives the cases β −1 Ĝp̂ = 0 (Neumann region) and WT λ = 0 (redundant constraints), both of which will lead to nullspaces of the full coupled system by placing zeros in the remaining entries. 11 The right hand side of our equations must be in the range of the coefficient matrix in order for the system to be solvable. Comparing the form of our right hand side to the requirements that a nullspace must satisfy, we find that it is sufficient but not necessary condition for consistency for v⋆ to contain no nullspace components of M−1 and u⋆ to contain no nullspace components of β−1 . A Neumann region will result in inconsistency if there is a net flux in u⋆ through the region boundary, so we enforce consistency by summing up the net flux and subtracting it evenly from the u⋆ on the region boundary faces. Clearly constraints which apply only to nullspace components of M−1 and β −1 will result in inconsistency and must be avoided. Fluid velocities which are constrained only to nullspace components of M−1 are in effect Neumann grid faces and must be taken into account in detection of Neumann regions. Isolated rigid bodies within a fluid region also do not prevent a region from being a Neumann region. A region that contains deformable bodies does not behave as a Neumann region, since the bodies can change volume to accommodate a net flux into the region. 5.3. Note On Forming SPD System Many problems can be formulated as a KKT system of the form M + CT C B T u b = , B 0 λ 0 (18) where M is an SPD matrix that is easily inverted. Dissipative systems, such as fluid viscosity or structure damping, produce terms of the form M + CT C. Evolving such systems subject to constraints, such as the incompressibility constraint or the constraint that the solid and fluid velocities be equal at their interface, then leads to a KKT system in the form of Eq. (18). Multiplying the first row of Eq. (18) by CM−1 produces Cu + CM−1 CT Cu + CM−1 BT λ = CM−1 b. (19) Multiplying the first row of Eq. (18) by BM−1 and simplifying using the second row produces BM−1 CT Cu + BM−1 BT λ = BM−1 b. These are then combined into the SPD system using the definition û = Cu to produce I + CM−1 CT CM−1 BT û CM−1 b = . BM−1 CT BM−1 BT λ BM−1 b (20) (21) Finally, u is obtained from the first row of Eq. (18) using u = M−1 b − M−1 CT û − M−1 BT λ. (22) To demonstrate that this is in fact equivalent to Eq. (18), we show that we can derive Eq. (18) from û = Cu, Eq. (21) and Eq. (22). The first row of Eq. (18) is obtained by substituting û = Cu into Eq. (22). The constraint row is obtained by subtracting the second row of Eq. (21) from B times Eq. (22). Thus, the indefinite KKT formulation is equivalent to the SPD formulation. 6. Note On Conditioning In the absence of coupling (W = 0), the structure system looks like vn+1 = v⋆ + ∆t M−1 Dvn+1 vn+1 − ∆t M−1 Dvn+1 (I + M−1 CT C)vn+1 = = v⋆ v⋆ The modified structure system looks like (I + CM−1 CT )v̂ 12 = Cv⋆ These two systems have the same eigenvalues. To see this (I + M−1 CT C)v −1 T C(I + M C C)v (I + CM−1 CT )v̂ = αv = = Cαv αv̂ so that if v is an eigenvector with eigenvalue α in the original system, then v̂ is an eigenvector of the modified system with the same eigenvalue. Note also that, though modifying the system in this way may introduce new eigenvalues (since the system may be larger), none of these eigenvalues will be visible to a Krylov solver. This is because the right hand side is of the form Cv⋆ and application of the matrix results in vectors that are also of this form. The modified system may have fewer eigenvalues, however (caused by rank deficiency of C). The important point is that this modification to the structure system will not adversely affect its convergence properties with a Krylov solver. 7. Viscosity Applying viscosity as a separate step in the time evolution does not yield a fully coupled time integration scheme, since viscous forces cannot apply momentum to structures. This can be overcome by adding viscosity directly into the coupled formulation. With this in mind, we redefine the intermediate velocity u⋆ = un − ∆t(un · ∇)un + ∆t f. ρ (23) Assume that the fluid viscosity µ is constant and ignore the coupling term. Then, the fluid momentum equation becomes u⋆ = un − ∆t(un · ∇)un + ∆t f ρun+1 = ρu⋆ − ∆t∇p + ∆tµ∇2 un+1 . ρ (24) The viscous terms introduce a new gradient operator, which acts on face velocities. The gradient operator itself is discretized using central differences. The boundary conditions at structures are Dirichlet conditions, noting that these velocities are constrained implicitly using W and remain degrees of freedom rather than being moved to the right hand side as would normally be done. The discretization of W used above is not suitable for viscosity, however, since it does not couple to structures in the tangential direction. This is resolved by locating faces adjacent to those in W and adding them to W as shown in Figure 2. Domain boundary conditions can be discretized in the usual way. For simplicity of implementation, however, we treat domain walls as infinitely massive structures and add terms to W, J, and M−1 accordingly. This discretization is √ limited to first order accuracy since it uses the first order accurate constraint locations. Let Gµ = ∆tµV ∇ be the discretized gradient operator that acts on face velocities, where the scaling factors are pulled into the resulting matrix to simplify the presentation. Substituting this into Eq. (24) and adding back the coupling term produces the momentum equation βun+1 = βu⋆ − Ĝp̂ − GTµ Gµ un+1 + WT λ. (25) Define û = Gµ un+1 . Then, multiplying Eq. (25) through by both ĜT β −1 (using Eq. (9)) and Gµ β −1 produces ĜT β−1 Ĝp̂ + ĜT β −1 GTµ û − ĜT β −1 WT λ Gµ β −1 Ĝp̂ + (I + Gµ β −1 GTµ )û − Gµ β −1 T W λ = ĜT u⋆ (26) = ⋆ (27) Gµ u . Multiplying Eq. (25) through by Wβ −1 and substituting in Eq. (12) followed by Eq. (11), −∆tD = CT C and Cvn+1 = v̂ produces Wβ −1 Ĝp̂ + Wβ −1 GTµ û − W(β −1 + JM−1 JT )WT λ − WJM−1 CT v̂ 13 = Wu⋆ − WJv⋆ . (28) Figure 2: The hashed region is the rasterized structure, and the thick faces at its boundary are the original coupling faces in W. For viscosity, the dashed faces are added to W to allow tangential forces to be exchanged between fluid and structure. Combining these with Eq. (11) produces T −1 ĜT β −1 GTµ −ĜT β−1 WT Ĝ β Ĝ Gµ β−1 Ĝ I + Gµ β −1 GT −Gµ β −1 WT µ −1 T −1 −Wβ−1 Ĝ −Wβ Gµ W(β + JM−1 JT )WT 0 0 CM−1 JT WT 0 p̂ ĜT u⋆ û 0 Gµ u⋆ = ⋆ ⋆ (29) −1 T λ WJv − Wu WJM C v̂ Cv⋆ I + CM−1 CT This equation has a structure very similar to what was obtained without viscosity, and it can be shown to be symmetric positive semidefinite in exactly the same way. Stokes Flow. When the Reynolds number is very small, the viscosity term dominates the inertial terms. Because viscosity and pressure are fully coupled in a single linear system, our scheme does not experience difficulties at high viscosity. In this case, one may also approximate the Navier-Stokes equations with those of Stokes flow by omitting the inertial terms. We can simulate the unsteady Stokes flow equations directly in our framework by omitting advection terms for the fluid (Step 6) and the structure (Step 4). This renders the entire first half of the update unnecessary, and our evolution scheme reduces to 1. v⋆ = vn + ∆tM−1 Fe (xn+1 ) 2. u⋆ = un + ∆t ρ f 3. Coupled solve with known quantities u⋆ , v⋆ , and xn+1 and unknown quantities un+1 , p, and vn+1 We demonstrate our ability to simulate with high viscosity and Stokes flow in Section 9.2. As discussed in [25], the indefinite system of equations derived for fluid-structure interaction has many similarities to the Stokes equations as both are dissipative systems combined with constraints (see Section 5.3). Indeed, we produce an SPD formulation for both. If no structures are present then W = 0, C = 0 and J = 0, and Eq. (29) simplifies to ! T ⋆ ĜT β−1 Ĝ ĜT β −1 GTµ p̂ Ĝ u = . (30) û Gµ u⋆ Gµ β −1 Ĝ I + Gµ β −1 GTµ This system provides an SPD treatment of unsteady Stokes flow. If convection is handled explicitly, this formulation also provides an SPD treatment of Navier-Stokes. Fully implicit Navier Stokes. We could take a fully implicit approach to the full nonlinear Navier-Stokes equations by using a Newton-Raphson iteration method, where we linearize at each Newton step to get a system of the form in Eq. (30). The equation to be iterated is n+1 n+1 n un+1 (i+1) = u − ∆t(u(i) · ∇)u(i) + 14 ∆t (−∇p + µ∇2 un+1 (i+1) + f ), ρ n+1 n where un+1 fluid velocity after the ith Newton iteration and we let un+1 (i) is the time t (0) = u . The inner iterations are performed by solving the symmetric and positive definite system Eq. (30). For each outer iteration, a new system is set up using the new estimate of the final velocity to recompute the advection term. A similar approach could be explored for treatment of fully implicit coupled fluid-structure evolution. 8. Note on Stability We have found the proposed monolithic implicit coupling scheme described in this paper to be quite stable. We have never observed stability problems due to this simple choice. In the example from Figure 9, we consider the structure discretization to be exact and refine only the fluid discretization. This results in a grid spacing much smaller than the lengths of edges in the structure mesh, which has never been observed to cause stability problems. We also tried running examples with a fixed resolution fluid mesh, refining the structure so that the grid spacing was over 30 times the lengths of the structure edges, again without noticing any stability problems. We have tried making structures a billion times less dense than the fluid and a billion times more dense than the fluid, and neither modification lead to stability problems. We also note that solving the coupled linear system and applying the resulting update to the velocities of the structure and the fluid has the property that it never increases total kinetic energy. Since positions are not changed during this process, potential energy is unchanged. Let T 0 0 0 0 p̂ Ĝ 0 ⋆ Gµ 0 I 0 0 u β 0 û 0 K= B= w= z= P= −W WJ 0 0 0 0 λ 0 M v⋆ 0 0 0 I v̂ 0 C Eq. (29) reduces to (KB−1 KT + P)z = Kw. The new velocities are w − B−1 KT z. Finally, the change in kinetic energy is 2KE n+1 − 2KE ⋆ = = = = (w − B−1 KT z)T B(w − B−1 KT z) − wT Bw −2wT KT z + (KT z)T B−1 (KT z) −2zT (KB−1 KT + P)z + zT KB−1 KT z −zT (KB−1 KT + 2P)z ≤ 0 This does not imply that we always decrease kinetic energy in a full time step, since elastic forces added to the structures or gravity added to fluids may both increase kinetic energy. In particular, we are still explicit on elastic forces, and this continues to impose a CFL restriction. On the other hand, if there is no potential energy (e.g., rigid bodies without forces between them), and the remaining steps in the time integration scheme make a similar guarantee on kinetic energy, the resulting scheme would be unconditionally stable. We also note that if there is neither damping nor viscosity, then P = 0, and the process of obtaining the final velocities from the intermediate velocities w is described by the mass-symmetric projection matrix I − B−1 KT (KB−1 KT )−1 K, which is exactly the property that would be desired in this case. 9. Examples The SPD formulation merely gives an analytically equivalent expression of the indefinite form of the equations. What we expect to illustrate in these examples is that the method is numerically stable. We examine several common examples from the fluid structure interaction literature to demonstrate the convergence properties of our method. We choose our time step size to be the minimum of the time step size required for fluids alone and the time step size required for structures alone. The fluid time step size is computed using a CFL number of 0.9 for all of our examples. Except in the stability test described below, the structures in our examples are not refined, so the time step size computed for the structures will not change significantly from resolution 15 -0.6 -0.8 log10(error) -1 -1.2 -1.4 -1.6 -1.8 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 log10(resolution) Figure 3: Analytic test with a structure flowing through a channel. The errors are computed as the difference between the steady state velocity of the moving structure and the analytic solution. The error depends on the grid resolution mod 3 since this value determines how the structure aligns with the domain. The convergence order of the errors is fit as .93. to resolution. For higher resolutions, the fluid time step restriction will dominate. We note that since all of our examples converge to nonzero velocities under refinement, we effectively refine with ∆t ∝ ∆x. Thus, the first order convergence demonstrated in our examples implies that our scheme is at least first order accurate in space and time. We do not test convergence order separately for space and time, since we do not expect to achieve better than first order. 9.1. Analytic example Figure 3 shows a simple setup designed to mimic an infinite channel with a rigid structure flowing through it and centered in the channel. The density of the fluid is ρ = 100kg m−2 , and the mass of the rigid body is M = 150kg. The height of the fluid domain is h = 1m, and the total domain width of 1m is divided into two fluid regions with width w = 13 m with the central 13 m occupied by the structure. The fluid viscosity is µ = 100kg s−1 . Both the fluid and structure experience gravity g = −9.8ms−1 . We elongate the rigid body to extend slightly beyond the domain and periodically reset its position, providing the illusion of an infinitely long rigid body and allowing the simulation to be run long enough to reach steady state. Altering the dimensions of the structure does not affect the analytic solution, provided its mass is not altered. We derive the analytic solution by considering the structure to be a boundary condition to the fluid, and then solving for the structure’s velocity using conservation of energy. The analytic velocity profile for ρg x(x − w) + vws x, where the v is the vertical fluid the left fluid region Ω = [0, w] × [0, h] is u = 0 and v = 2µ velocity component and vs is the vertical component of the structure velocity. The fluid experiences no pressure gradient. The only unknown remaining is vs , the velocity of the structure. Taking into account the symmetry of the system, conservation of energy R implies that the viscous dissipation equals the total work R applied by gravity, so that 2 Ω (τ · ∇)u dV = 2 Ω ρgv dV + M gvs . Solving this equation yields the analytic gw solution vs = −(M + ρwh) 2hµ . 9.2. Rigid cylinder falling under gravity Motivated by [30, 1], a rigid cylinder is allowed to fall under an externally applied gravitational force. The fluid domain has dimensions 2L × 8L, and the cylinder has radius r. If the fluid density is ρf and the solid density is ρs , then the terminal velocity is [30] r r 2 r 4 (ρs − ρf )gr2 − ln − 0.9157 + 1.7244 . vterm = − 1.7302 4µ L L L It is instructive to note the origin of this analytic solution. Consider a fluid domain consisting of an infinite 2D channel with parallel walls separated by a distance of 2L. In the middle of this channel is a cylinder with 16 (a) Navier-Stokes, µ = 0.1 kg s−1 (b) Navier-Stokes, µ = 0.5 kg s−1 (c) Stokes flow, µ = 0.1 kg s−1 Figure 4: Steady state velocity field. 40x160 80x320 160x640 analytic 0.4 40x160 80x320 160x640 analytic 0.2 0.35 0.15 0.25 Velocity (m/s) Velocity (m/s) 0.3 0.2 0.1 0.15 0.1 0.05 0.05 0 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 Time (s) (a) Navier-Stokes, µ = 0.1 kg s−1 1.2 1.4 1.6 1.8 2 (b) Navier-Stokes, µ = 0.2 kg s−1 40x160 80x320 160x640 analytic 0.08 40x160 80x320 160x640 analytic 0.4 0.07 0.35 0.06 0.3 0.05 0.25 Velocity (m/s) Velocity (m/s) 1 Time (s) 0.04 0.2 0.03 0.15 0.02 0.1 0.01 0.05 0 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 Time (s) 0.5 1 1.5 2 2.5 3 3.5 Time (s) (c) Navier-Stokes, µ = 0.5 kg s−1 (d) Stokes flow, µ = 0.1 kg s−1 Figure 5: Velocity of a falling cylinder in a channel over time. 17 4 4.5 5 Equations N-S N-S N-S N-S N-S N-S N-S Stokes Viscosity (kg s−1 ) 0.1 0.2 0.5 1.0 2.0 5.0 10.0 0.1 Analytic −0.3501 −0.1750 −0.07002 −0.03501 −0.01750 −0.007002 −0.003501 −0.3501 Terminal Velocities (ms−1 ) 40 × 160 80 × 320 −0.1716 −0.1882 −0.1254 −0.1359 −0.05983 −0.06438 −0.03052 −0.03264 −0.01533 −0.01635 −0.006148 −0.006547 −0.003013 −0.003279 −0.2945 −0.3241 160 × 640 −0.1966 −0.1417 −0.06721 −0.03399 −0.01702 −0.006828 −0.003417 −0.3390 Convergence order 0.85 1.01 0.92 1.22 0.91 1.26 0.91 1.38 1.14 1.40 1.10 1.23 Figure 6: Terminal velocity of a falling cylinder and convergence orders. radius a moving with a constant velocity vs along the axis of the channel. Under the simplifying assumption of Stokes flow, the resistive force experienced by the cylinder is approximately [15] F = 4πµvs − ln r L − 0.9157 + 1.7244 r 2 L − 1.7302 . r 4 L Note that because of the Stokes flow assumption, fluid advection and movement of the cylinder are assumed to be insignificant and dropped. The steady state solid velocity is obtained by balancing the resistive force against the net gravitational force F = (ρs − ρf )gπr2 on the solid (taking into account buoyancy). We use the same parameters as [30]: g = 9.8 ms−1 , r = 5 × 10−3 m, L = 2 × 10−2 m, µ = 0.1 kg s−1 , ρf = 1 × 103 kg m−2 , and ρs = 2 × 103 kg m−2 . The top of the fluid domain has a zero pressure Dirichlet boundary condition, and the sides and bottom are no-slip walls. Our results are shown in Figure 5(a). We note that our results do not agree with those in [30], and we note that their velocity profile does appear to reach a terminal velocity. We converge to a value significantly lower than the analytic solution. Noting that the analytic solution was derived under the assumption of Stokes flow, we also ran with higher viscosities: µ = 0.2 kg s−1 (Figure 5(b)), µ = 0.5 kg s−1 (Figure 5(c)), µ = 1.0 kg s−1 , µ = 2.0 kg s−1 , µ = 5.0 kg s−1 , and µ = 10.0 kg s−1 . We obtain close agreement with the analytic solution for µ = 0.5 kg s−1 and higher viscosities. We also repeated the the original test µ = 0.1 kg s−1 using Stokes flow and converge to the analytic terminal velocity as shown in Figure 5(d). The results from all of these simulations are summarized in Figure 6, and the steady state velocities are shown in Figure 4. The velocity profile shown in Figure 7 of [1] does show a faster initial increase in velocity followed by the velocity profile reaching a plateau, which is consistent with the behavior we observe. Their method, like ours, is first order accurate, and their figure shows two velocity profiles for each of two methods corresponding to a factor-of-four refinement. This suggests that the close fit shown in their highest resolution may be coincidental and that their scheme will actually converge to a value somewhat higher than the predicted value. 9.3. Laminar flow past a cylinder In this example, we consider a simple one-way coupled setup and directly compare our technique against a different scheme. For the comparison scheme, we use standard Chorin splitting [8]. We then choose a sample point at a time and position which exhibits dynamic behavior and demonstrate that the two schemes converge to the same velocity at that point. This demonstrates that we are consistent with an existing scheme from the literature in the simpler case where structures are only one-way coupled to the fluid. For this comparison we use laminar flow across a fixed cylinder. The domain is [0 m, 4 m] × [0 m, 4 m] with a cylinder of radius 0.5 m located at (2, 2). The cylinder has no-slip boundary conditions. The top and bottom walls have slip boundary conditions. The right wall has the condition p = 0, and the left wall has the boundary condition u1 = 1 and a slipping boundary condition for u2 . The density is ρ = 1kg m−2 , and the viscosity is µ = 0.1 kg s−1 . The initial fluid velocity is u = 0. The setup is illustrated in Figure 7(a). 18 (4, 4) A(3, 2.25) (2, 2) 0.5 (0, 0) (a) Domain configuration (units in m) (b) Velocity field -0.7 -1.6 -0.8 -1.8 -0.9 -1 -2 log10(error) log10(error) -1.1 -1.2 -1.3 -2.2 -2.4 -1.4 -2.6 -1.5 -1.6 -2.8 -1.7 -1.8 -3 1.6 1.8 2 2.2 2.4 2.6 1.6 1.8 log10(resolution) 2 2.2 log10(resolution) (c) Convergence of u1 at A. (d) Convergence of u2 at A. Figure 7: Laminar flow around a fixed cylinder. 19 2.4 2.6 The fluid velocity is sampled at the point (3, 2.25) at time 0.5s using linear interpolation. The fluid velocity is far from steady state at this time, so this comparison also tests dynamic behavior. The Chorin splitting implementation at resolution 640 × 640 is taken to be the exact solution. The example was then run using the proposed method at resolutions 40 × 40, 80 × 80, 160 × 160, and 320 × 320. The differences for each velocity component are plotted in Figure 7(c) and Figure 7(d). The convergence order for u1 is 0.89, and the convergence order for u2 is 1.07. The final velocity profile is shown in Figure 7(b). 9.4. Vortex shedding In this example we demonstrate Kármán vortex shedding around a cylinder and compare the dynamic behavior of our method in the case of low viscosity and one-way coupling against the results that others have obtained and against our implementation of Chorin splitting. Our setup is based on that of [17, 6], except that we employ slightly different boundary conditions. Our domain is [−2.5 m, 15.0 m] × [−3.5 m, 3.5 m] with a fixed cylinder of radius 0.5 m centered at the origin. The top and bottom of the domain walls have slip 3 2 1 0 -1 -2 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 8 9 10 11 12 13 14 (a) Proposed method 3 2 1 0 -1 -2 -3 -2 -1 0 1 2 3 4 5 6 7 (b) Chorin splitting Figure 8: Vorticity contours demonstrating vortex shedding. Contours are provided for the range [−2.5, 2.5] in increments of 0.25. 20 -1 -1.1 log10(distance) -1.2 -1.3 -1.4 -1.5 -1.6 -1.7 1.5 (a) Fluid velocities for flow over deforming beam 1.55 1.6 1.65 1.7 1.75 1.8 log10(resolution) 1.85 1.9 1.95 2 (b) Position error kx − xex k. Figure 9: Velocity profile and position error for the top right particle of the deforming beam at time 1 s. The position of the particle at the highest resolution is taken to be the exact value xex . boundary conditions. The left boundary has a source term u1 = 1 ms−1 with a slipping boundary condition for u2 . The right boundary has the boundary condition p = 0. The flow has Re = 100 with ρ = 1kg m−2 and µ = 0.01 kg s−1 . We used a 400 × 160 grid for our proposed method and for Chorin splitting. Our vorticity contours for our proposed method and Chorin splitting are shown in Figure 8. Our vorticity contours exhibit the same characteristics as those shown in [17, 6] as well as being quite similar to each other. We note that the contour plot for the proposed method has an additional zero contour near the left side. The vorticity in this region is quite small, reaching its peak at roughly 1% of the separation between two contour lines. At resolution 200 × 80, the vorticity peaks at roughly 3% of the separation between two contour lines, indicating that the extra contour line will go away under refinement. For the proposed method, the frequency and Strouhal number are f = 0.160 Hz and St = 0.160. For the Chorin splitting implementation, f = 0.166 Hz and St = 0.166. These compare favorably with [6], which reported St = 0.164 − 0.173 depending on the details of their mesh. 9.5. Flow past deformable beam This problem deals with a deformable beam immersed in fluid, similar to problems investigated by [3, 31, 29, 30, 9, 27, 19, 32]. The fluid domain was [0 m, 2 m] × [0 m, 1 m] with velocity boundary conditions of 0.25 ms−1 on the left side, slip walls on the top and bottom, and a p = 0 boundary condition on the right wall. The beam has no-slip boundary conditions. The fluid density is 100 kg m−2 , and the coefficient of dynamic viscosity is µ = 1 kg s−1 . The structure is discretized as a triangle mesh using a mass-spring model with 20 particles in the vertical direction and 5 in the horizontal, each of mass 0.1 kg except for the bottom row of particles, which are treated as infinitely massive. The mesh is initially rectangular, with extent from [0.95 m, 1.05 m] × [0 m, 0.5 m]. Edge springs with Young’s modulus E = 166 kg m−1 s−2 and overdamping fraction 2 along with altitude springs with Young’s modulus E = 400 kg m−1 s−2 and overdamping fraction 2 were used as the structure constitutive model. (If considered in isolation, a spring can be made critically damped by choosing a specific damping constant. When we refer to an overdamping fraction of 2, we mean that the damping coefficient on the spring is twice the value that would result in a critically damped spring. Isolated springs with an overdamping fraction greater than one are overdamped, and isolated springs with an overdamping fraction less than one are underdamped. The analogy does not extend to systems of springs, but we find this approach to be more intuitive for describing the amount of damping present.) Altitude springs [21] create a spring between each particle of a triangle and a virtual node projected onto the opposite face and are used to give volumetric structure and prevent inversion. Note for the purposes of our convergence analysis we take the structure to be a discrete system and refine only the fluid grid resolution. We examine convergence with fluid grid resolution and time step size in Figure 9(b). The error is computed assuming the simulation with resolution 256 × 128 is the exact solution. We plot the convergence of kx − xex k, where xex is the position in the exact solution configuration, for the 21 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 (a) t = 0 s 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (b) t = 0.200 s (Maximum deformation) 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 (c) t = 0.500 s 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (d) t = 1.00 s Figure 10: Streamlines in the oscillating disk example. The fluid grid resolution is 128 × 128 and the structure is composed of 2400 triangles. top right particle of the beam at time 1 s in Figure 9(b). The convergence order is 1.42. The velocity profile is shown in Figure 9(a). 9.6. Oscillating disk We have implemented the oscillating disk example from [32], where a circular deformable body is placed within a fluid domain of dimensions [0 m, 1 m] × [0 m, 1 m] with periodic boundary conditions and an initial velocity defined for both the fluid and the structure by the stream function ψ = ψ0 sin(kx x)sin(ky y), with ψ0 = 0.05m2 s−1 and kx = ky = 2πm−1 . We used a neo-Hookean constitutive model as described in [5] for the structure with Poisson’s ratio ν = 0.475, shear modulus G = 1 P a, and Rayleigh damping coefficient 0.005. The structure and fluid densities were set to ρ = 1 kg m−2 and the coefficient of dynamic viscosity was µ = 0.001 kg s−1 . We ran the simulation for a period of 1 s. For comparison to [32] we rasterize the structure velocities onto the fluid grid and display the streamlines and structure deformation (Figure 10). The frequency of the oscillator is similar to that in [32] as can be seen from the energy plots in Figure 11. We note that our simulation is more damped than theirs. Our extra damping is due to our use of semi-Lagrangian advection on the fluid and Rayleigh damping on the structure. 10. Conclusions and Future Work We have presented a method for formulating strongly coupled fluid structure interaction problems as a symmetric positive definite linear system. The method is based on factoring the structure damping matrix 22 0.025 Kinetic energy Potential energy Energy (N-m) 0.02 0.015 0.01 0.005 0 0 0.2 0.4 0.6 0.8 1 Time (s) Figure 11: Energy over time for the oscillating disk shown in Figure 10. and performing a change of variables in the structure unknowns. It can be applied to arbitrary linearized structure constitutive models, but requires a semi-implicit time discretization for the structure equations where elastic terms are handled explicitly and damping terms are handled implicitly. For the special case of only rigid structures and no other rigid-rigid forces we recover exactly the method of [4]. The numerical experiments on problems common in the fluid structure interaction literature demonstrate that the method is convergent with grid resolution. Second order accuracy for fluid structure interaction has been achieved by some authors, such as the formally second order methods [13, 12]. We note, however, that second order accuracy came well after the original method and that the additional accuracy comes at the cost of additional complexity. An approach which attempts to be second order accurate in space might resolve the boundary between the fluid and structure more accurately by placing constraints at the structure surface rather than at MAC face centers or otherwise take advantage of the available geometric information. Second order accuracy in time would be more difficult to achieve, as it would require finding second order accurate integration schemes for the fluid and the structure that retain that accuracy when coupled. Instead of attempting to address second order accuracy in this paper, we leave the problem of higher order accuracy for future work. Compared to standard Chorin splitting (without structures), our evolution will be significantly slower. Chorin splitting with implicit viscosity requires the solution of one well-conditioned viscosity system per dimension and a single poorly-conditioned Poisson system for which preconditioning has been well studied. We replace these with a single linear system that, due to the Poisson matrix it contains, is also poorly conditioned. We have observed its conditioning to be significantly worse at high viscosity than low viscosity, and we have also observed poor conditioning to result from underresolved regions. In particular, we have observed poor convergence when the structure is much coarser than the fluid grid and we add extra coupling faces to W as described in Section 7, possibly due to overconstraint. Increasing the resolution of the structure improves convergence in these cases, but a more careful treatment of boundary conditions might avoid the issue entirely. Conditioning with deformable structures becomes worse with lower density and higher damping. The conditioning improves significantly when all structures are one-way coupled. The system is symmetric positive definite, making it suitable for solution with methods like conjugate gradient and generally easier to precondition and solve than other types of linear systems. The solution of this system is still expensive in our implementation as we have not developed an effective preconditioner for it and have not made significant effort to optimize our routines. We leave the problem of finding a good preconditioner for future work. Solving the linear systems dominates the cost of our time evolution. The algorithm compares favorably with [25], which has an indefinite system that we have observed to converge much slower in practice. 23 Acknowledgments Research supported in part by a Packard Foundation Fellowship, an Okawa Foundation Research Grant, ONR N0014-06-1-0393, ONR N00014-06-1-0505, ONR N00014-05-1-0479 for a computing cluster, NIH U54GM072970, NSF ACI-0323866, NSF IIS-0326388, and King Abdullah University of Science and Technology (KAUST) 42959. C.S. was supported in part by a Stanford Graduate Fellowship. References [1] S.V. Apte, M. Martin, and N.A. Patankar. A numerical method for fully resolved simulation (FRS) of rigid particle–flow interactions in complex flows. J. Comput. Phys, 228(8):2712–2738, 2009. [2] F.P.T. Baaijens. A fictitious domain/mortar element method for fluid-structure interaction. Intl. J. for Num. Meth. in Fluids, 35(7):743–761, 2001. [3] K.J. Bathe and H. Zhang. Finite element developments for general fluid flows with structural interactions. International Journal for Numerical Methods in Engineering, 60(1), 2004. [4] C. Batty, F. Bertails, and R. Bridson. A fast variational framework for accurate solid-fluid coupling. ACM Trans. Graph. (SIGGRAPH Proc.), 26(3):100, 2007. [5] J. Bonet and R. Wood. Nonlinear continuum mechanics for finite element analysis. Cambridge University Press, Cambridge, 1997. [6] T.M. Burton and J.K. Eaton. Analysis of a fractional-step method on overset grids. J. of Comput. Phys., 177(2):336–364, 2002. [7] P. Causin, J.-F. Gerbeau, and F. Nobile. Added-mass effect in the design of partitioned algorithms for fluid-structure problems. Comp. Meth. Appl. Mech. Engng., 194(42-44), 2005. [8] A. Chorin. A numerical method for solving incompressible viscous flow problems. J. Comput. Phys., 2:12–26, 1967. [9] D. Dos Santos, N. Miguel, J.F. Gerbeau, and J.F. Bourgat. A partitioned fluid-structure algorithm for elastic thin valves with contact. Computer Methods in Applied Mechanics and Engineering, 2006. [10] C. Farhat, M. Lesoinne, and P. Le Tallec. Load and motion transfer algorithms for fluid/structure interaction problems with non-matching discrete interfaces: momentum and energy conservation, optimal discretization and application to aeroelasticity. Computer methods in applied mechanics and engineering, 157(1-2):95–114, 1998. [11] F. Gibou, R. Fedkiw, L.-T. Cheng, and M. Kang. A second-order-accurate symmetric discretization of the Poisson equation on irregular domains. J. Comput. Phys., 176:205–227, 2002. [12] B.E. Griffith, R.D. Hornung, D.M. McQueen, and C.S. Peskin. An adaptive, formally second order accurate version of the immersed boundary method. J. of Comput. Phys., 223(1):10–49, 2007. [13] B.E. Griffith and C.S. Peskin. On the order of accuracy of the immersed boundary method: higher order convergence rates for sufficiently smooth problems. J. Comput. Phys., 208(1):75–105, 2005. [14] E. Guendelman, A. Selle, F. Losasso, and R. Fedkiw. Coupling water and smoke to thin deformable and rigid shells. ACM Trans. Graph. (SIGGRAPH Proc.), 24(3):973–981, 2005. [15] J. Happel and H. Brenner. Low Reynolds number hydrodynamics: with special applications to particulate media. Kluwer Academic Print on Demand, 1991. 24 [16] F. Harlow and J. Welch. Numerical Calculation of Time-Dependent Viscous Incompressible Flow of Fluid with Free Surface. Phys. Fluids, 8:2182–2189, 1965. [17] W.D. Henshaw. A fourth-order accurate method for the incompressible Navier-Stokes equations on overlapping grids. J. of Comput. Phys., 113(1):13–25, 1994. [18] T. J. R. Hughes. The Finite Element Method: Linear Static and Dynamic Finite Element Analysis. Dover, 2000. [19] SR Idelsohn, J. Marti, A. Limache, and E. Onate. Unified lagrangian formulation for elastic solids and incompressible fluids: Application to fluid–structure interaction problems via the PFEM. Computer Methods in Applied Mechanics and Engineering, 197(19-20):1762–1776, 2008. [20] G. Irving, J. Teran, and R. Fedkiw. Invertible finite elements for robust simulation of large deformation. In Proc. of the ACM SIGGRAPH/Eurographics Symp. on Comput. Anim., pages 131–140, 2004. [21] N. Molino, R. Bridson, J. Teran, and R. Fedkiw. A crystalline, red green strategy for meshing highly deformable objects with tetrahedra. In 12th Int. Meshing Roundtable, pages 103–114, 2003. [22] Y.T. Ng, C. Min, and F. Gibou. An efficient fluid-solid coupling algorithm for single-phase flows. J. of Comput. Phys., 228(23):8807–8829, 2009. [23] C. Peskin. Numerical analysis of blood flow in the heart. J. Comput. Phys., 25:220–252, 1977. [24] A. Robinson-Mosher, R.E. English, and R. Fedkiw. Accurate tangential velocities for solid fluid coupling. In Proc. of ACM SIGGRAPH/Eurographics Symp. on Comput. Anim., pages 227–236, 2009. [25] A. Robinson-Mosher, T. Shinar, J.T. Grétarsson, J. Su, and R. Fedkiw. Two-way coupling of fluids to rigid and deformable solids and shells. ACM Trans. on Graphics, 27(3):46:1–46:9, August 2008. [26] A. Selle, R. Fedkiw, B. Kim, Y. Liu, and J. Rossignac. An unconditionally stable MacCormack method. J. of Sci. Comp., 35(2):350–371, 2008. [27] X. Shi and S.P. Lim. A LBM–DLM/FD method for 3D fluid–structure interactions. J. Comput. Phys, 226(2):2028–2043, 2007. [28] T. Shinar, C. Schroeder, and R. Fedkiw. Two-way coupling of rigid and deformable bodies. In SCA ’08: Proceedings of the 2008 ACM SIGGRAPH/Eurographics symposium on Computer animation, pages 95–103, 2008. [29] H. Wang and T. Belytschko. Fluid-structure interaction by the discontinuous-galerkin method for large deformations. International Journal for Numerical Methods in Engineering, 77(1), 2009. [30] H. Wang, J. Chessa, W.K. Liu, and T. Belytschko. The immersed/fictitious element method for fluid– structure interaction: Volumetric consistency, compressibility and thin members. Int. J. Numer. Meth. Engng, 74:32–55, 2008. [31] Z. Yu. A DLM/FD method for fluid/flexible-body interactions. J. Comput. Phys., 207(1):1–27, 2005. [32] H. Zhao, J.B. Freund, and R.D. Moser. A fixed-mesh method for incompressible flow–structure systems with finite solid deformations. J. Comput. Phys., 2007. 25

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising