The COOLFluiD framework: design solutions for high performance object oriented scientific computing software

  • Authors:
  • Andrea Lani;Tiago Quintino;Dries Kimpe;Herman Deconinck;Stefan Vandewalle;Stefaan Poedts

  • Affiliations:
  • Aerospace Dept., Von Karman Institute, Sint-Genesius-Rode, Belgium;Aerospace Dept., Von Karman Institute, Sint-Genesius-Rode, Belgium;Computer Science Dept., Catholic University Leuven, Leuven, Belgium;Aerospace Dept., Von Karman Institute, Sint-Genesius-Rode, Belgium;Computer Science Dept., Catholic University Leuven, Leuven, Belgium;Center for Plasma-Astrophysics, Catholic University Leuven, Leuven, Belgium

  • Venue:
  • ICCS'05 Proceedings of the 5th international conference on Computational Science - Volume Part I
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The numerical simulation of complex physical phenomena is a challenging endeavor. Software packages developed for such purpose should combine high performance and extreme flexibility, in order to allow an easy integration of new algorithms, models and functionalities, without penalizing run-time efficiency. COOLFluiD is an object-oriented framework for multi-physics simulations using multiple numerical methods on unstructured grids, aiming at satisfying these needs. To this end, specific design patterns and advanced techniques, combining static and dynamic polymorphism, have been employed to attain modularity and efficiency. Some of the main design and implementation solutions adopted in COOLFluiD are presented in this paper, in particular the Perspective and the Method-Command Patterns, used to implement respectively the physical models and the numerical modules.