Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing
Electrochemical modelling and software genericity
Modern software tools for scientific computing
Increasing the efficiency and reliability of software development for systems of PDEs
Modern software tools for scientific computing
Efficient C++: performance programming techniques
Efficient C++: performance programming techniques
More exceptional C++: 40 new engineering puzzles, programming problems, and solutions
More exceptional C++: 40 new engineering puzzles, programming problems, and solutions
The C++ Programming Language
Effective C++ CD
C++ Templates
The COOLFluiD parallel architecture
PVM/MPI'05 Proceedings of the 12th European PVM/MPI users' group conference on Recent Advances in Parallel Virtual Machine and Message Passing Interface
ICCS'05 Proceedings of the 5th international conference on Computational Science - Volume Part I
ICCS'05 Proceedings of the 5th international conference on Computational Science - Volume Part II
Run-time automatic instantiation of algorithms using C++ templates
International Journal of Computational Science and Engineering
Hi-index | 0.00 |
Object-oriented platforms developed for the numerical solution of PDEs must combine flexibility and reusability, in order to ease the integration of new functionalities and algorithms. While designing similar frameworks, a built-in support for high performance should be provided and enforced transparently, especially in parallel simulations. The paper presents solutions developed to effectively tackle these and other more specific problems (data handling and storage, implementation of physical models and numerical methods) that have arisen in the development of COOLFluiD, an environment for PDE solvers. Particular attention is devoted to describe a data storage facility, highly suitable for both serial and parallel computing, and to discuss the application of two design patterns, Perspective and Method-Command-Strategy, that support extensibility and run-time flexibility in the implementation of physical models and generic numerical algorithms respectively.