Tolosa-lib Presentation
Presentation
Section titled “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 repertories using the git submodule feature.
Every Tolosa model is developped 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 partitionning 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 Stucture
type(vec2d)for vectors and a structuretype(tens2d)for tensors in order to 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 genetically:type(VTK_file)for VTK format in ASCII or binary format.type(Tecplot_file)Tecplot format in ASCII or binary format.