Tolosa-lib Presentation
Tolosa-lib Presentation
Section titled “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.
Features
Section titled “Features”Tolosa-lib manages a number of features:
Mesh Structure
Section titled “Mesh Structure”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
Command Line Interface
Section titled “Command Line Interface”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.
YAML Configuration
Section titled “YAML Configuration”A Structure type(yaml_file) to read and write YAML files in order to read complex configuration files.
Vector and Tensor Operations
Section titled “Vector and Tensor Operations”- A Structure
type(vec2d)for vectors - A Structure
type(tens2d)for tensors
These enhance numerical implementation facilities and lisibility.
Timer Management
Section titled “Timer Management”A Structure type(timer) to track the computational times in routines.
File Output
Section titled “File Output”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 formattype(Tecplot_file)Tecplot format in ASCII or binary format
Acknowledgments
Section titled “Acknowledgments”Next Steps
Section titled “Next Steps”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