Lecture Notes in Computer Science vol:3514 pages:279-286
International Conference on Computational Science location:Atlanta, GA, USA date:May 22-25, 2005
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.