WCCM V Fifth World Congress on Computational Mechanics July 7–12, 2002, Vienna, Austria Eds.: H.A. Mang, F.G. Rammerstorfer, J. Eberhardsteiner Developing Parallel Object-Oriented Simulation Codes in Diffpack Xing Cai and Hans Petter Langtangen Simula Research Laboratory P.O. Box 134, NO-1325 Lysaker, Norway e-mail: xingca,hpl @simula.no & Department of Informatics University of Oslo, P.O. Box 1080, Blindern, NO-0316 Oslo, Norway Key words: object-oriented programming, generic PDE software, parallel computing Abstract This paper addresses the use of object-oriented programming techniques for developing simulation codes. We will argue why such modern programming techniques support the construction of flexible, maintainable and user-friendly software libraries for partial differential equations (PDEs). In particular, we will show some programming advantages associated with parallelizing object-oriented PDE software. First, parallelism can be incorporated into existing object-oriented PDE software libraries in a simple and flexible way. Second, object-oriented programming also simplifies the user effort needed for developing a parallel simulation code for a given PDE. The concrete programming issues will be demonstrated within the framework of Diffpack [1, 2], which is an object-oriented environment for scientific computing, with emphasis on the numerical solution of PDEs. The described programming paradigm and tools have been applied to numerous computational mechanics applications, including thermo-elasticity, incompressible viscous flow, and heat transfer.