Skip to content

Initialization and Finalization

This page describes the initialization and finalization procedures in Tolosa-lib applications.

Every Tolosa-lib application must initialize the library before use. This includes:

  • MPI initialization - Setting up parallel environment
  • Mesh loading - Reading mesh files and generating connectivity
  • Domain decomposition - Partitioning mesh for parallel computation
  • Timer setup - Initializing performance monitoring
program main
use m_tolosa_lib
implicit none
! Initialize MPI
call MPI_Init(ierr)
! Initialize Tolosa-lib
call tolosa_init()
! Load mesh
call mesh_load('my_mesh.msh')
! Your simulation code here
! ...
! Finalize
call tolosa_finalize()
call MPI_Finalize(ierr)
end program main

Proper finalization ensures:

  • All output files are closed correctly
  • Memory is deallocated
  • MPI communicators are freed
  • Performance statistics are written
  1. Close all output files
  2. Deallocate mesh structures
  3. Print timing reports
  4. Finalize MPI