Softwares

Read more about the scientific computing codes I made or participated in.

WaveBox - Multi-models C++ numerical platform for water-waves equations

Keywords
DG · HDG · Saint-Venant · Boussinesq · Green-Naghdi · FV subcells
Stack
C++ · Python
Team
Fabien Marche lead · Sacha Cardonna · Arnaud Duran · Matthieu Rigal ···

WaveBox is a multi-models numerical platform initiated by Fabien Marche, dedicated to the approximations of the solutions of several shallow water asymptotics in the surface dimension d = 2 with efficient combined Hybridized Discontinuous Galerkin (HDG), Hybrid High Order (HHO), Monolithic DG/FV subcells and DG methods on general unstructured meshes (for Saint-Venant, Boussinesq and Green-Naghdi equations).

Main features are:

  • Sub-models CPU-GPU co-processing;
  • Arbitrary order of accuracy (h and p-adaptivity);
  • Robust treatment of the run-up and flooding processes (strict maximum-principle enforcement);
  • Well-balancing for motionless steady states;
  • Unstructured meshes subdivision and ALE motion;
  • Wave breaking treatment with dynamic switching strategy.
WaveBox Image 2 WaveBox Image 1
Numerical simulations

ManicoreFV - Discontinuous Galerkin code for conservation laws on surfaces

Keywords
Discontinuous Galerkin · Finite volumes · Conservation laws · Surface PDEs · Curved meshes
Stack
C++ · Python
Team
Marien Hanot · Sacha Cardonna

ManicoreFV is a C++ plaform for the numerical approximation of conservation laws on curved surfaces using Discontinuous Galerkin and finite-volume methods. It is a fork of Manicore, the code developed by Marien Hanot for the implementation of numerical schemes on manifolds with general Riemannian metrics.

Main features are:

  • Geometry-aware formulations based on the local charts, parametrizations and Riemannian metrics provided by the Manicore framework;
  • High-order Discontinuous Galerkin discretizations of scalar conservation laws on curved surfaces, from piecewise-constant to high-order polynomial approximations;
  • Explicit Runge--Kutta time integration with CFL-based time-step selection;
  • Bound-preserving limiting for discontinuous solutions while maintaining local cell averages and global mass conservation.
manicore Image 2 manicore Image 1
Numerical simulations

Bfree — Structure-preserving finite-volume solver for ideal magnetohydrodynamics

Keywords
Magnetohydrodynamics · Divergence-free schemes · Finite volumes · Semi-implicit methods · ALE
Stack
Fortran · Python
Team
Walter Boscheri lead · Mattia Lupi · Elena Bernardelli · Lidia Gude Vila · Sacha Cardonna

Bfree is a research-oriented numerical platform for the simulation of two-dimensional ideal magnetohydrodynamics and Euler–Heat flows. Its main purpose is to design structure-preserving finite-volume methods that maintain fundamental differential constraints at the discrete level: the divergence-free condition of the magnetic field for ideal MHD and the curl-free condition of the thermal impulse for the Euler–Heat model.

Main features are:

  • Divergence-free discretizations for the magnetic field in ideal MHD;
  • Curl-free discretizations for the thermal impulse in the Euler–Heat system;
  • Explicit Arbitrary Lagrangian–Eulerian (ALE) finite-volume schemes on moving meshes;
  • Semi-implicit finite-volume schemes for low Mach and low Alfvén number regimes;
  • Structure-preserving evolution of the discrete differential constraints;
  • First- and second-order accurate spatial discretizations;
  • Conservative monitoring of mass and total energy.
bfree Image 2 bfree Image 1 bfree Image 4

ShoreVPINN - Variational physics-informed neural solver for shallow-water flows

Keywords
Variational PINNs · Saint-Venant equations · Wet-dry interfaces · Wave run-up
Stack
Python · PyTorch
Team
Ali Haidar · Sacha Cardonna

ShoreVPINN is a research-oriented Python code exploring Variational Physics-Informed Neural Networks (VPINNs) for the approximation of the one-dimensional nonlinear shallow-water, or Saint-Venant, equations. Instead of relying exclusively on pointwise evaluations of the governing equations, the physical residuals are integrated against local test functions over a spatial mesh. This weak formulation is particularly well suited to flows involving variable topography and moving wet-dry interfaces.

Main features are:

  • Variational enforcement of the mass and momentum equations using local finite-element test functions;
  • Exact preservation of the initial condition through a hard-constrained neural ansatz;
  • Positivity-preserving treatment of the water depth;
  • Robust formulation of the momentum flux near wet-dry interfaces;
  • Non-uniform spatial meshes with optional local refinement in the run-up region;
  • Gauss-Legendre quadrature and stochastic batching over time slices;
  • Automatic execution on CPU, CUDA GPUs and Apple Silicon GPUs.
WaveBox Image 2 WaveBox Image 1

DG4SCL - Compact and student friendly code for DG methods on 1D SCL

Keywords
Discontinuous Galerkin · Scalar conservation laws
Stack
C++ · Python
Developer
Sacha Cardonna

During the early stages of my internship with F. Vilar and F. Marche, I embarked on the development of a compact C++ code focused on addressing Discontinuous Galerkin (DG) schemes for 1D conservation laws.

This code is a work in progress, far from being complete or flawless. Its creation was driven by my commitment to simplicity and understandability. I strived to ensure that the code's structure and implementation were as straightforward as possible, enabling users to grasp the underlying concepts with ease.

By expanding its functionality and making it more comprehensive, I aim to create a valuable resource for students seeking a simplified example of DG schemes. This endeavor stems from my own experiences as a student, where access to such a resource would have greatly facilitated my understanding and learning process.

Contact me to get the source.