Solving PDEs with SolverLab

SolverLab is a geometrical and numerical C++/Python library designed for numerical analysts who work on the discretisation of partial differential equations on general geometries and meshes and would rather focus on high-level scripting. The goal is to provide simple MATLAB style functions for the generation and manipulation of meshes, fields, and matrices. The library is based on the MEDCoupling C++/Python library of the SALOME project for the manipulation of meshes and fields, and on the C++ library PETSc for the handling of matrices and linear solvers.

SALOME provides the functionalities of SolverLab library via the module SOLVERLAB.

The module includes PDE systems arising from the modeling of nuclear reactor cores which involves fluid dynamics, heat and neutron diffusion as well as solid elasticity. It is a simple environment intended for students and researchers to teach and promote new numerical methods on general geometries with unstructured meshes. The main research objectives of SOLVERLAB are the study of:

  • numerical schemes for compressible flows at low Mach numbers on general meshes
  • well balanced schemes for stiff source terms (heat source, phase change, pressure drop)
  • numerical handling of flow inversion, phase disappearance and counter-currents in two phase flows
  • numerical handling of stiff porosity or cross section functions
  • schemes that preserve the phasic volume fraction α ∈ [0, 1]
  • convergence of finite volume methods
  • new preconditioners for implicit methods for two phase flows
  • the coupling of fluid models or multiphysics coupling (e.g. thermal hydraulics and neutronics or thermal hydraulics and solid thermics)

The library is currently maintained and distributed by the SALOME development team on various Linux distributions (Ubuntu, CentOS, Fedora, Debian).