Adaptive Fluid-Structure Interaction

Fluid-structure interaction (FSI) problems are of particular importance in biomedical flows, where the movements of the fluid and the surrounding tissue influence each other. Flow solvers must therefore interact with solid mechanics solvers (known in this context as structure solvers) for the deformation of tissue. To address FSI problems, and solid mechanics problems in general, we have implemented a general nonlinear elasticity solver, called cbc.twist. This solver allows a researcher to easily experiment with material models, and many standard models are provided (Mooney-Rivlin, neo-Hookean, Isihara, Biderman, Gent-Thomas and linear isotropic Hookean). Both a static and an energy-momentum preserving time-dependent solver are offered.

In fluid-structure interaction problems, the mesh must be refined based on a complex interplay between the three equations that compose the fluid-structure interaction problem: the fluid problem (Navier-Stokes), the structure problem (hyperelasticity) and an auxiliary problem that accounts for the displacement of the fluid mesh. We are currently working on an aposteriori error analysis of the fully coupled fluid-structure interaction problem and adaptive algorithms based on the error analysis. This is a very challenging problem, and to our knowledge, the first attempt to create an adaptive Arbitrary Langrangian-Eulerian FSI solver based on a rigorous mathematical framework.

As an alternative to the standard ALE (Arbitrary Lagrangean-Eulerian) formulations of fluid-structure interaction on matching meshes, where stresses may be exactly mapped from one mesh to the other, we consider the use of Nitsche's method (discontinuous Galerkin formulations) on overlapping non-matching meshes. If the structure undergoes large deformation, difficulties may arise as a result of the corresponding large deformations of the fluid mesh. A promising alternative approach is to apply Nitsche's method for overlapping non-matching meshes to allow the fluid mesh to move independently of the structure mesh. The implementation is challenging, especially in 3D, since it involves the detection of arbitrary intersections between meshes. We have recently developed new functionality for mesh intersection based on the computational geometry library CGAL, and we are continuing to implement the full set of functionality needed for realization of Nitsche's method as part of FEniCS.