StabFem project

StabFem is a Matlab/Octave interface to the FreeFem++ software allowing to use this powerful PDE solver within a practical working environment. Initially developped for fluid flow instability studies, it now includes a larger class of problems (acoustics, heat transfer, direct numerical simulations of fluid flows) and is easily customizable to include your own freefem++ programs.

The capacities of StabFem include :

  • Plotting of finite-element data generated by FreeFem recognizing a number of finite-element structures (currently only 2D)
  • A generic interface to the powerful mesh generation and adaptation facilities of FreeFem++,
  • A Database manager with customizable indexing, allowing to store and reaccess all generated data to conduct easily parametric studies
  • A web publishing system allowing to share work easily through the present website (see list of currently published work) .

  • Installation and Documentation


    • An overview of the project : Presentation (FF++ days)
    • Research paper presenting theoretical concepts and implementation for instabilities of fluid flows Article

    Tutorial programs

    The best way to learn how to use StabFem is to browse the large number of cases currently published on the website (see full list) . This section presents a number of commented programs allowing to easily understand the implementation principles. The programs are published in html form but the corresponding .m files are all available from the project repository.

    Basic examples

    These three examples are adapted from the "learning by examples" section in the FreeFem documentation. They are designed to demonstrate the basic features of Stabfem for interfacing FreeFem++ programs and plotting results.

    Thermal Conduction in a L-Shape domain

    This next example shows how to solve several elementary problems, import, plot, combine the results, adapt the meshes, and use the Data Base manager.

    Fluid-structure interaction problem

    This example shows, through a simple problem consisting of a beam placed on top of a lid-driven cavity, how to manage problems involving several meshes within StabFem.

    Waves and instabilities

    This section presents a number of examples showing you how to use StabFem to investigate hydrodynamical instabilities and wave problems

    Linear stability analysis of the wake of a cylinder

    These two scripts demonstrates how to use StabFem to perform the basis steps of a linear stability analysis : generation of an adapted mesh, computation of a base flow, computation of eigenmodes, and plotting the results. Two versions of the script are provided; the first uses single-core solvers, the second is an improved version using parallel (multi-core) solvers.

    Parametric study of the instability of a rotating cylinder

    These examples show how to perform a parametric linear stability study. The considered problem is the wake of a rotating cylinders. The programs determine the marginal stability curve in the Re/Omega plane. Two methods are demonstrated here : the double-scan method and the direct threshold determination method. For each method, two scripts are provided, using either single-core or multicore solvers.

    Acoustic pipes

    This example demonstrates how to use StabFem to solve a linear acoustics problem, namely wave radiation from a cylindrical pipe opening to a semi-infinite domain.

    Sloshing

    This example shows how to use StabFem to compute eigenmodes in a free-surface problem

    Time-stepping simulations

    This section presents a number of examples showing you how to use StabFem to perform time-stepping simulations for unsteady problems

    Unsteady heat conduction (II)

    This example demonstrates the usage of the divers SF_TS_Launch and SF_TS_Check for time-stepping simulations.

    Direct Numerical Simulation (DNS) of the wake of a cylinder

    This example shows how to use StabFem to perform a DNS, using global stability computations to generate a suitable mesh and initial condition.

    Falling ellipse

    This example shows how to use the StabFem drivers for a time-stepping simulation with a dynamically adapted mesh. The example is taken from the examples available in the freefem documentation.

    Advanced examples

    This section presents a number of examples demonstrating advanced features such as parallel computing, mesh importations, etc...

    Parallel computing with PETSc

    This example shows through a simple example you how to modify your FreeFem programs to run on multiple processors using PETSc, and how to launch them through StabFem.

    Coupling with gmsh

    This example shows you how to work with a mesh generated using the gmsh software

    Publication-related programs

    This section gathers programs reproducing the main results of a number of published research papers.

    Wake of a cylinder

    These three programs reproduce all the figures from the review paper

    A practical review on linear and nonlinear global study of fluid flow instabilities" by D. Fabre et al.

    Linear oscillations of a liquid bridge

    This program reproduces the main results of the following research paper : "Oscillations of a liquid bridge resulting from the coalescence of two droplets", by V. Chireux, D. Fabre, F. Risso & P. Tordjemann (Phys. Fluids, 27(6):062103, 2015)

    Rotating-polygon instability of a free-surface swirling potential flow

    This program reproduces the main results of the following research paper : "On the instabilities of a potential vortex with a free surface", by J. Mougel, D. Fabre, L. Lacaze & T. Bohr (J. Fluid Mech. 824, 230-264 2018)

    Flow around a rotating cylinder using Arclength continuation.

    This program reproduces figure 3(c) of the following research paper : "Bifurcation scenario in the 2D flow pasty a rotating cylinder", by J. Sierra, D. Fabre, V. Citro & F. Giannetti (J. Fluid Mech., 2020)

    Pulsated jet flow through a circular aperture of zero thickness

    This program reproduces the time-stepping simulations of section 6 of the research paper : "The acoustic impedance of a laminar viscous jet througha thin circular aperture" by David Fabre, Raffaele Longobardi, Paul Bonnefis, Paolo Luchini (JFM, 2018)

    Instability of the jet flow through a circular aperture of finite thickness

    This program reproduces the main results of the following research paper : "Acoustic and hydrodynamical instability of the jet flow through a finite thicnkess hole" by D. Fabre, R. Longobarddi, V. Citro & P. Luchini (JFM, 2020)

    Impedance and instability properties of a spring-mounted cylinder

    This program reproduces figures 3 and 4 of the following research paper : "Vortex-induced vibration predition via an impedance criterion", by D. Sabino, D. Fabre, J. Leontini & D. Lo Jacono (J. Fluid Mech., 2020)

    Computation of ionic wind due to corona discharge

    This program reproduces a few figures of the following research paper : "Numerical study of ElectroAeroDynamic force and current resulting from ionic wind in emitter/collector systems", Coseru, S., Fabre, D., & Plouraboué, F., Journal of Applied Physics, 129(10), 2021.

    Contributors

    The StabFem project is hosted by the Institute of Fluid Mechanics in Toulouse (IMFT). It is developed as a collaborative project and currently involves contributors from IMFT and Università di Salerno.

    List of current contributors / users :

    - David Fabre (IMFT)

    - Maxime Pigou (IMFT)

    - Javier Sierra (IMFT)

    - Jérôme Mougel (IMFT)

    - Nabil Achour (IMFT)

    - Corentin Marion (IMFT)

    - Flavio Giannetti (UNISA)

    - Vincenzo Citro (UNISA)

    - Diogo Ferreira Sabino (ONERA / IMFT)


    Reach us

    You may reach us directly from the gitlab repository, or through our mailing-list.