Abstract

The paper describes development of an open-source library (www.github.com/nikola-m/freeCappuccino) for computational fluid dynamics and in general computational continuum mechanics. The code is based on finite volume method on arbitrary unstructured polyhedral meshes. The interfaces to highly abstract data types such as arbitrary order tensor fields on discretized finite volume domains, and scalar and vector sparse linear systems resulting from finite volume discretization of partial differential equations are provided. Explicit manipulation of tensor fields through high level, highly abstract programming syntax is explained. Also, implicit operation over tensor fields pertinent to discretization of partial differential operators is provided and explained. The library is developed in modern version of Fortran. Code parallelization is achieved through domain decomposition and implemented using MPI and OpenMP. While avoiding the usual class syntax of object-oriented programming, the code has essentially object oriented design. Comparison is made with the well-known OpenFOAM library. The purpose of the ongoing development is providing researchers with a tool for easy transfer of mathematical operations of their physical models into functional and efficient simulation software based on finite volume method. The guiding principle of development is exchange of ideas and reproducibility in computational science in general.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call