Reusable object-oriented solutions for numerical simulation of PDEs in a high performance environment

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

  • Affiliations:
  • (Correspd. Tel.: +3223599611/ Fax: +3223599600/ E-mail: lani@vki.ac.be) Von Karman Institute, Aerospace Dept., Chaussee de Waterloo 72, B-1640 Sint-Genesius-Rode, Belgium;Catholic University Leuven, Computer Science Department, Celestijnenlaan 200A, B-3001 Leuven, Belgium and Von Karman Institute, Aerospace Dept., Chaussee de Waterloo 72, B-1640 Sint-Genesius-Rode, ...;Catholic University Leuven, Computer Science Department, Celestijnenlaan 200A, B-3001 Leuven, Belgium and Catholic University Leuven, Center for Plasma-Astrophysics, Celestijnenlaan 200B, B-3001 L ...;Von Karman Institute, Aerospace Dept., Chaussee de Waterloo 72, B-1640 Sint-Genesius-Rode, Belgium;Catholic University Leuven, Computer Science Department, Celestijnenlaan 200A, B-3001 Leuven, Belgium;Catholic University Leuven, Center for Plasma-Astrophysics, Celestijnenlaan 200B, B-3001 Leuven, Belgium

  • Venue:
  • Scientific Programming - Parallel/High-Performance Object-Oriented Scientific Computing (POOSC '05), Glasgow, UK, 25 July 2005
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.