freeCappuccino - An Open Source Software Library for Computational Continuum Mechanics

  • Nikola MirkovEmail author
  • Nenad Vidanović
  • Gordana Kastratović
Conference paper
Part of the Lecture Notes in Networks and Systems book series (LNNS, volume 54)


The paper describes development of an open-source library ( 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.


Engineering software Computational fluid dynamics Finite volume method Parallel computing High-performance computing 



Support of the Ministry of Education, Science and Technological Development of republic of Serbia, trough project TR-33036 is greatly acknowledged.


  1. 1.
    Ince, D.C., Hatton, L., Graham-Cumming, J.: The case for open computer programs. Nature 482, 485–488 (2012)CrossRefGoogle Scholar
  2. 2.
    Ferziger, J.H., Perić, M.: Computational Methods for Fluid Dynamics, 2nd edn. Springer, Berlin (1999)CrossRefGoogle Scholar
  3. 3.
    Weller, H.G., Tabor, G., Jasak, H., Fureby, C.: A tensorial approach to computational continuum mechanics using object oriented techniques. Comput. Phys. 12(6), 620–631 (1998)CrossRefGoogle Scholar
  4. 4.
    Jasak, H., Jemcov, A., Tuković, Ž.: OpenFOAM: a C++ library for complex physics simulations. In: International Workshop on Coupled Methods in Numerical Dynamics IUC, Dubrovnik, Croatia, 19th–21th September 2007Google Scholar
  5. 5.
    Vidanović, N., Rašuo, B., Kastratović, G., Maksimović, S., Ćurčić, D., Samardžić, M.: Aerodynamic-structural missile fin optimization. Aerosp. Sci. Technol. 65, 26–45 (2017)CrossRefGoogle Scholar
  6. 6.
    Bangerth, W., Heister, T.: What makes computational open source software libraries successful? Comput. Sci. Discov. 6(1), 015010 (2013). CrossRefGoogle Scholar
  7. 7.
    Wang, Z.J.: Improved formulation for geometric properties of arbitrary polyhedra. AIAA J. 37(10), 1326–1327 (1999)CrossRefGoogle Scholar
  8. 8.
    Bartlett, R.E.: A simple convention for the specification of linear algebra function prototypes in C++. ACM Trans. Math. Softw. 1–6 (2015).
  9. 9.
    Mirkov, N., Rašuo, B., Kenjereš, S.: On the improved finite volume procedure for simulation of turbulent flows over real complex terrains. J. Comput. Phys. 287, 18–45 (2015)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Saad, Y.: Iterative Methods for Sparse Linear Systems, 2nd edn. Society for Industrial and Applied Mathematics, Philadelphia (2003)CrossRefGoogle Scholar
  11. 11.
    Library of Iterative Solvers for linear systems (LIS).
  12. 12.
    Mirkov, N., Stevanović, Ž.: New non-orthogonality treatment for atmospheric boundary layer flow simulation above highly non-uniform terrains. Therm. Sci. 20(Suppl. 1), 223–233 (2016)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Nikola Mirkov
    • 1
    Email author
  • Nenad Vidanović
    • 2
  • Gordana Kastratović
    • 2
  1. 1.Institute of Nuclear Sciences – Vinča, Laboratory for Thermal Engineering and EnergyUniversity of BelgradeBelgradeSerbia
  2. 2.Faculty of Traffic EngineeringUniversity of BelgradeBelgradeSerbia

Personalised recommendations