Skip to content

Tolosa-lib Presentation

The Tolosa computational software is developed around the Tolosa-lib library to numerically solve PDE on unstructured meshes in a CPU MPI parallel environment. It is used to derive numerical resolution of some models in other repositories using the git submodule feature.

Every Tolosa model is developed around Tolosa-lib. This library contains a set of tools, structures, and variables to ease the development of numerically resolved models. Therefore, Tolosa-lib is not a model.

Tolosa-lib manages a number of features:

A Mesh structure type(msh) and routines to:

  • Load 2D unstructured meshes in gmsh format (triangle, quadrangle, or mixed)
  • Or generate structured meshes in an unstructured view
  • Generate mesh partitioning to use MPI for parallel computation using the Scotch library
  • Generate all MPI subdomain local connectivities, including the boundaries with periodic possibility, with special attention on spatial and temporal localities to maximize computational efficiency when performing loops on the 3 basic geometrical elements of a mesh: the nodes, the cells and the edges

A Structure type(cli) to manage arguments such passing a default value, loading them in a text file, or overriding the same arguments at the command line interface.

Example: ./exe -nx 1000 -ny 100 -ts 1.

A Structure type(yaml_file) to read and write YAML files in order to read complex configuration files.

  • A Structure type(vec2d) for vectors
  • A Structure type(tens2d) for tensors

These enhance numerical implementation facilities and lisibility.

A Structure type(timer) to track the computational times in routines.

Passing a mesh according to the structure type(msh) and some fields associated, some structures to write generically:

  • type(VTK_file) for VTK format in ASCII or binary format
  • type(Tecplot_file) Tecplot format in ASCII or binary format

Continue to:

  • Getting Started - Learn how to compile and run Tolosa-lib examples
  • Mesh - Deep dive into the mesh structure
  • MPI - Understand parallel computation features