FVLib code


The Great Finite Volume Library

The FVLib code is a library of advanced computational algorithms and numerical methods to solve partial differential equations within the finite volume philosophy. The project aims to deliver high-accurate, high-performance, and high-efficient simulations of a wide range of physics and mechanics problems in relevant aerospace, manufacturing, environmental, and biomedical applications.

The FVLib code is the result of years of dedication and passion for applied mathematics and scientific computing, and the ambition of pushing the limits of numerical simulation even further in serving the scientific knowledge and technological innovation.


Modern object-oriented Fortran (2003/2008 standards)

The FVLib code is programmed in modern Fortran (2003/2008 standards) with an object-oriented paradigm for better code reuse, maintenance, and readability. Its architecture is organised in three levels:

Snapshot of applications level.
Snapshot of cases setup.

Highly accurate schemes in space and time

The discretisation methods implemented in the FVLib code are highly accurate in space and time, effectively achieving up to the eighth-order of convergence. Comprehensive benchmarking proves that high-order accurate schemes benefit from a better trade-off between accuracy and efficiency than the counterpart lower-order accurate ones. This property can be exploited in different ways:

Error versus number of unknowns.
Error versus execution time.

Unstructured meshes for complex geometries

Complex geometries arise in many real-world problems of physics and engineering applications, for which domain fitted unstructured meshes are still the preferred approach for its flexibility and robustness, especially in 3D.

Intricate curved geometry.
Unstructured piecewise linear mesh.

Snapshot of Gmsh with geometry.
Snapshot of Gmsh with mesh.

Snapshot of Gmsh with solution.
Snapshot of Gmsh with post-processing.

Parallel computing for HPC environments

The FVLib code multi-processing capabilities are implemented based on the shared-memory and message-passing parallel programming models through the OpenMP and OpenMPI application programming interfaces. It allows the development and deployment of portable and scalable large-scale parallel applications that take advantage of modern HPC systems.


Contributing

The FVLib code is not currently an open-source project. However, anyone willing to contribute to the project and/or making use of its capabilities on a collaboration basis is welcome. If you are interested in using it or need further details, you can always contact me.