Software
Software list
A parallel mesh-adaptive computational platform requires the development of several software. This page presents software I am working on:
Solvers
  • Wolf: 2D and 3D Mixed-Element-Volume solvers for compressible Euler and Navier Stokes equations.

    The Euler or Navier-Stokes system is solved with a vertex-centered Mixed-Element-Volume scheme on unstructured triangular or tetrahedral meshes. The proposed scheme is second-order accurate in space and time. The flow solver employes a Roe or HLLC approximate Riemann solver to compute numerical fluxes. High-order scheme is derived according to a MUSCL type method using downstream and upstream simplex combined with a generalization of the Superbee limiter with three entries to guarantee the TVD property of the scheme. For time integration, either explicit (SSP Runge-Kutta) or implicit matrix-free (LU-SGS, Hybrid LU-SGS or GMRES+LU-SGS) time stepping algorithm are available.

    Below, some results obtained with Wolf for steady (pictures) and unsteady (pictures and/or videos) flows in 2D and 3D .
    o Steady flows:
    Bloodhound Supersonic Car
    Supersonic flow for the Bloodhound Supersonic Car (SSC)
    Falcon business jet
    Transonic flow for a Falcon business jet
    SuperSonic Business Jet
    Supersonic flow for a SuperSonic Business Jet (SSBJ)

    o Unsteady flows:

    2D Blast waves in a city
    4-slips Riemann problem
    2D 4-slips Riemann problem
    Solution at final time


    Blast waves in a city geometry


  • SonicBoom: compute the sonic boom associated to an initial pressure distribution.

    Developing sonic boom model requires the coupling of CFD equations for the near field simulation with waves propagation equations for the far field. Once the near field signature has been computed, the pressure distribution is propagated down to the ground with a simplified model by means of a one-dimensional wave propagation scheme. The propagation code used a ray tracing algorithm based upon the waveform parameter method developed by Thomas. It takes into account different type of atmosphere, winds and ground reflexion.

    Near Field Pressure
    Near Field Pressure
    Sonic Boom Signature
    Sonic Boom Signature


Mesh adaptation
  • Interpol : fields transfer or interpolation between meshes in 2D and 3D. Download the documentation.

    Solution transfer or solution interpolation is one stage of mesh adaptation schemes. It links the mesh generation and the numerical flow solver. After generating a new (possibly adapted) mesh, the aim is to recover the solution field on this new mesh to pursue the computation. This code proposes P1, P2 and P3 classical interpolation scheme. It also perform conservative P1 interpolation and metric field interpolation.

  • Metrix: compute 2D and 3D metric field based on a priori error estimate. Download the documentation.

    In mesh adaptation, a metric field is required to govern the mesh generation. Metrics are constructed from error estimates (a priori or a posteriori) applied to the numerical solution. Metrix computes metric fields from scalar solutions by controlling the Lp norm of the interpolation error (feature-based error estimate) or using a goal-oriented error estimate (adjoint-based error estimate). It also computes the metric of a level set by controlling its curvature and its thickness, and it extracts the metric associated to a given mesh. Finally, it performs some metric operations such as: metric gradation, metric smoothing and metric intersection.

    Below, some results obtained with Metrix for isotropic, anisotropic and interface mesh adaptation in 2D and 3D.


    o 3D feature-based error estimate for isotropic mesh adaptation
    Transonic ONERA M6 wing
    Transonic ONERA M6 wing
    Blast waves in a city
    Blast waves in a city



    o 3D feature-based error estimate for anisotropic mesh adaptation
    Supersonic flow for a SuperSonic business jet
    Supersonic flow for a SuperSonic business jet
    Supersonic flow for a SuperSonic business jet
    Supersonic flow for a SuperSonic business jet. Zoom
    Transonic flow for a Falcon business jet
    Transonic flow for a Falcon business jet
    Transonic flow for a Falcon business jet
    Transonic flow for a Falcon business jet. Zoom



    o 3D adjoint-based error estimate for anisotropic mesh adaptation
    Supersonic flow for a SuperSonic business jet
    Supersonic flow for a SuperSonic business jet
    Supersonic flow for a F15 fighter with the QuietSpike concept
    Supersonic flow for a F15 fighter with the QuietSpike concept
    Blast waves in a city
    Blast waves in a city



    o 3D interface-based error estimate for anisotropic mesh adaptation to bi-fluid flows
    3D water wave on a dam
    3D water wave on a dam
    2D water wave on a dam
    3D water wave on a dam


  • Shrimp: a fast mesh renumbering and domain partitioning method a priori error estimate. Download the documentation.

    The main issues addressed by Shrimp are the reduction of cache misses by mesh renumbering, the improvement of shared memory parallel machine by mesh renumbering and domain splitting for parallel runs on distributed memory parallel machine. All the algorithms are based on space filling curves. It also handles parallel mesh adaptation associated with a compatible mesh generator. Currently, it is coupled with Mmg3d, Gamanic and Feflo.a. Shrimp deals with 2D triangular, 3D tetrahedra and 3D triangular surface meshes.

    o Examples of mesh partitions of a 3D anisotropic adapted mesh.
    Mesh partition 1 Mesh partition 2
    Mesh partition 3 Mesh partition 4


Mesh generation
  • Bloom : is a boundary layer mesh generator for complex geometries. The boundary layer mesh can be composed only of tetrahedra or of multi-elements, i.e., tetrahedra, hexahedra, prisms and pyramids. Layers of the mesh are proposed by an advancing-front method using surface normals. Each layer of the mesh is pushed (inserted) inside the mesh using a moving mesh technology. The key point of this approach is to handle efficiently the collision of several layers.

    Below, some examples of boundary layer generation obtained with Bloom are presented.

    o Landing Gear Geometry
    Landing gear boundary layer mesh Landing gear boundary layer mesh Landing gear boundary layer mesh



    o Falcon Business Jet Geometry
    Falcon business jet boundary layer mesh Falcon business jet boundary layer mesh Falcon business jet boundary layer mesh


Moving mesh
  • MovMsh : use an innovative changing-topology moving mesh technology to displace body-fitted object inside the computational mesh. The mesh deformation problem is solving thanks to an elasticity-like PDE. Vertices trajectories are enhance using curved-accelerated path. To maintain a high quality mesh throughout the displacement, the mesh deformation is coupled with a mesh optimization procedure using vertex smoothing and edge-face swapping. This approach remains in the Arbitrary-Lagrangian-Eulerian framework which is crucial for flow solver accuracy.

    Below, some moving mesh example done with MovMsh are presented. Click on the picture to watch the animation

    Ejected high-pressurized cabin door


    Two F117 fighters crossing each other



    Space Shuttle ejecting its two Solid Rocket Boosters




Geometric mesh intersection
  • Wolf-XFEM : geometric mesh intersection between a surface mesh and a volume mesh.
    The XFEM method requires the evaluation of integrals over cut-elements. This is a consequence of the fact that, for consistency, the fluid equations are integrated only in the physical zone. This is a non-standard implementation problem which demands a specific track of the interface intersections, namely:
    • evaluation of the intersections between the unfitted fluid and solid meshes, i.e., the computation of the cut-elements
    • evaluation of the integrals over the cut-elements
    Therefore, Wolf-XFEM outputs a conformal mesh of the intersection for the surface and the volume mesh to apply the XFEM.


    o 2D simulation of an idealized closed valve in an artery
    Resulting intersected mesh
    Resulting intersected mesh between a closed valve (black) and an artery (grey). The cut-elements subdivisions is represented in red.
    Steady state pressure
    Steady state pressure approximation and deformed solid configuration with the unfitted method (XFEM) for the closed valve test case.


    o 2D simulation of an idealized open valve in an artery
    Resulting pressure
    Resulting pressure for the idealized open valve problem with XFEM (unfitted approach).
    Resulting vertical velocity
    Resulting vertical velocity for the idealized open valve problem with XFEM (unfitted approach).