Software
Software list
A parallel meshadaptive computational platform requires the development of several software.
This page presents software I am working on:
 WolfNsc : CFD flow solver
 SonicBoom : acoustic wave propagation solver
 WolfInterpol : solution transfer between meshes
 Metrix : error estimate computation
 Shrimp : mesh partitioner and parallel mesh generation and mesh adaptation
 WolfBloom : boundary layer mesh generation
 WolfMovMsh : mesh modification for moving mesh algorithm
 WolfXFEM : geometric intersection between meshes
Solvers

Wolf:
2D and 3D MixedElementVolume solvers for compressible Euler and
Navier Stokes equations.
The Euler or NavierStokes system is solved with a vertexcentered MixedElementVolume scheme on unstructured triangular or tetrahedral meshes. The proposed scheme is secondorder accurate in space and time. The flow solver employes a Roe or HLLC approximate Riemann solver to compute numerical fluxes. Highorder 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 RungeKutta) or implicit matrixfree (LUSGS, Hybrid LUSGS or GMRES+LUSGS) 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:
Supersonic flow for the Bloodhound Supersonic Car (SSC)
Transonic flow for a Falcon business jet
Supersonic flow for a SuperSonic Business Jet (SSBJ)
o Unsteady flows:
2D Blast waves in a city
2D 4slips 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 onedimensional 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
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 (featurebased error estimate) or using a goaloriented error estimate (adjointbased 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 featurebased error estimate for isotropic mesh adaptation
Transonic ONERA M6 wing
Blast waves in a city
o 3D featurebased error estimate for anisotropic mesh adaptation
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. Zoom
o 3D adjointbased error estimate for anisotropic mesh adaptation
Supersonic flow for a SuperSonic business jet
Supersonic flow for a F15 fighter with the QuietSpike concept
Blast waves in a city
o 3D interfacebased error estimate for anisotropic mesh adaptation to bifluid flows
3D 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 generation

Bloom : is a boundary layer mesh generator for complex geometries.
The boundary layer mesh can be composed only of tetrahedra or of multielements, i.e., tetrahedra, hexahedra,
prisms and pyramids. Layers of the mesh are proposed by an advancingfront 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
o Falcon Business Jet Geometry
Moving mesh

MovMsh : use an innovative changingtopology moving mesh technology to
displace bodyfitted object inside the computational mesh.
The mesh deformation problem is solving thanks to an elasticitylike PDE. Vertices trajectories are
enhance using curvedaccelerated path.
To maintain a high quality mesh throughout the displacement, the mesh deformation is coupled with
a mesh optimization procedure using vertex smoothing and edgeface swapping.
This approach remains in the ArbitraryLagrangianEulerian 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 highpressurized cabin door
Two F117 fighters crossing each other
Space Shuttle ejecting its two Solid Rocket Boosters
Geometric mesh intersection

WolfXFEM : geometric mesh intersection between a surface mesh and a volume mesh.
The XFEM method requires the evaluation of integrals over cutelements. This is a consequence of the fact that, for consistency, the fluid equations are integrated only in the physical zone. This is a nonstandard 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 cutelements
 evaluation of the integrals over the cutelements
o 2D simulation of an idealized closed valve in an artery
Resulting intersected mesh between a closed valve (black) and an artery (grey). The cutelements subdivisions is represented in red.
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 for the idealized open valve problem with XFEM (unfitted approach).
Resulting vertical velocity for the idealized open valve problem with XFEM (unfitted approach).