ndjinga / SOLVERLAB

PDE solver lab using SALOME/MEDCoupling meshes and PETSc matrices
GNU Lesser General Public License v2.1
20 stars 3 forks source link

logo

SOLVERLAB

Introduction

SOLVERLAB is a geometrical and numerical C++/Python library designed for numerical analysts who work on the discretisation of partial differential equations on general shapes 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 MEDcoupling, and C++/python library of the SALOME project for the handling of meshes and fields, and on the C++ library PETSC for the handling of matrices and linear solvers.

SOLVERLAB 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 meant at students and researchers for teaching and promote new numerical methods on general geometries with unstructured meshes.

The main research objectives of SOLVERLAB are the study of :

The library is currently maintained and distributed by the SALOME developpement team on various linux distributions (Ubuntu, CentOS, Fedora, Debian) and on Windows-10. The corresponding binary files can be found here.

Examples of use

User guide of the CoreFlows module

The user guide is organized as follows :

Run SOLVERLAB from SALOME

The easiest way to run SOLVERLAB is to launch the SOLVERLAB module of the SALOME platform :

The new GUI of SOLVERLAB is based on the library PACKAGESPY developped in the framework of SALOME.

Use of SOLVERLAB in a terminal/console

Running Python scripts

If you are not in the SALOME console you first need to load the SOLVERLAB environment in your terminal using the command

Then to run SOLVERLAB with your Python code main.py, simply type in your terminal or your SALOME console

Launching SOLVERLAB graphic interface from a terminal

If you are not in a SALOME console you first need to load the SALOME environment in your terminal using the command

Then to use the Graphical User Interface of SOLVERLAB, simply type in your terminal

Running C++ scripts

If performance or parallelism is an issue for your simulations and python is too slow for your needs, you can link your C++ or Fortran code with SOLVERLAB librairies :

SOLVERLAB environment variables

The SOLVERLAB environment variables consist in :

Standalone compilation from sources

However the SALOME binary file can be very large (up to 5GB). Compilation of SOLVERLAB from source files can provide a faster alternative using less disk and memory space.

In order to build SOLVERLAB on your system you will need

Detailed instructions for compilation and use of standalone SOLVERLAB can be found in the page Standalone compilation from sources.