ebook img

Modern Software Tools for Scientific Computing PDF

385 Pages·1997·23.166 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Modern Software Tools for Scientific Computing

Modem Software Tools for Scientific Computing ErlendArge Are Magnus Bruaset Hans Petter Langtangen Editors Springer Science+Business Media, LLC Erlend Arge Hans Petter Langtangen Are Magnus Bruaset University of Oslo SINTEF Applied Mathematies N-0316 Oslo Blindern Norway N-0314 Oslo Norway Library of Congress CataIoging-in-Publication Data Modern software tools for seientifie eomputing / Erlend Arge, Are Magnus Bruaset, Hans Petter Langtangen, editors. p. em. Includes bibliographieal referenees and index. ISBN 978-1-4612-7368-4 ISBN 978-1-4612-1986-6 (eBook) DOI 10.1007/978-1-4612-1986-6 1. Computer software--Development. 2. Objeet-oriented programming (Computer seienee) 3. Seienee--Data proeessing. 1. Arge, Erlend, 1960- . II. Bruaset, A. M. (Are Magnus) III. Langtangen, Hans Petter, 1962- QA76.76.D47M63 1997 502.85'5--de21 97-6613 CIP Printed on acid-free paper © 1997 Springer Science+Business Media New York Origina11y published by Birkbiiuser Boston in 1997 Softcover reprint ofthe hardcover Ist edition 1997 Copyright is not claimed for works of U.S. Government employees. Ali rights reserved. No part of this publication may be reproduced, stored in a retrieval system, Of transmitted, in any fOfm or by any means, electronic, mechanical, photocopy ing, recording, Of otherwise, without prior permission of the copyright owner. Permission to photocopy for internat or personal use of specific clients is granted by Springer Seienee+Business Media, LLC for libraries and other users registered with the Copyright Clearance Center (CCC), provided that the base fee of $6.00 per copy, plus $0.20 per page is paid directly to CCC, 222 Rosewood Drive. Danvers. MA 01923. U.S.A. Soecial requests should be addressed direct1y to Springer Seienee+Business Media, LLC ISBN 978-1-4612-7368-4 Camera-ready text provided by the editors in La-TEX. 9 8 7 6 5 4 3 2 l Contents Part I. Computational Differential Equations 3 1 The SCIRun Computational Steering Software System 5 S. G. Parker, D. W. Weinstein and C. R. Johnson 1.1 Introduction.......................... 5 1.2 Requirements of SCIRun as a Computational Steering System 9 1.3 Components of SCIRun 10 1.4 The Datatypes Library. . . . . 20 1.5 Dataflow............. 23 1.6 Steering in a Dataflow System. 26 1. 7 Modules............. 27 1.8 Applications of SCIRun in Computational Medicine 34 1.9 Summary . . 39 1.10 Future Work ... 40 1.11 References . . . . . 41 1.12 Software Appendix 44 2 Object-Oriented Solvers for Initial Value Problems 45 H. Olsson 2.1 Introduction ......... . 45 2.2 Overview of the Code ... . 51 2.3 Case Studies: New algorithms 54 2.4 Comparison with Classical Solvers 59 2.5 Conclusions 61 2.6 References.............. 61 3 SPRINT2D Software for Convection Dominated PDEs 63 M. Berzins et al. 3.1 Introduction ........... . 63 3.2 The SPRINT2D Software . . . . 64 3.3 Mesh Generation and Adaptivity 67 3.4 A PSE for SPRINT2D 70 3.5 Case Studies 72 3.6 Conclusions 77 3.7 References.. 79 4 Electrochemical Modelling and Software Genericity 81 G. Nelissen and P. Vankeirsbilck 4.1 Introduction. . . . . . . . . . . . . . . . . . . . . 81 4.2 Electrochemical Modelling . . . . . . . . . . . . . 84 4.3 A Generalized Approach to Numerical Modelling 87 4.4 Abstractions .. 89 4.5 Critical Remarks 100 4.6 Conclusions 101 4.7 References . . . . 102 5 An Object-Oriented Adaptive Finite Element Code: Design Issues and Applications in Hyperthermia Treatment Planning 105 R. Beck, B. Erdmann and R. Roitzsch 5.1 Introduction ..................... . 106 5.2 Code Structure . . . . . . . . . . . . . . . . . . . . 107 5.3 Applications in Hyperthermia Treatment Planning 117 5.4 Concluding Remarks 121 5.5 References....................... 121 6 On the Efficient Implementation of Multilevel Adaptive Methods 125 U. Rude 6.1 Introduction........................... 125 6.2 Multilevel Implementations . . . . . . . . . . . . . . . . . . 127 6.3 Data Abstraction Concepts for Multilevel Adaptive Methods 130 6.4 Efficiency . . . . . . . . . . . . 132 6.5 Abstract Mesh Data Structures 136 6.6 Patch-Adaptive Multigrid 138 6.7 Conclusions 141 6.8 References......... 141 7 Finite Element Kernel with Metaobject Protocol 143 R. Chudoba 7.1 Introduction...... 143 7.2 Example Problems . . 145 7.3 Procedural Approach. 146 7.4 Object-Oriented Approach. 149 7.5 Algorithm-Oriented Approach . 153 7.6 Conclusions 159 7.7 References............ 161 8 Efficient Management of Parallelism in Object-Oriented Numerical Software Libraries 163 S. Balay et al. 8.1 Introduction........................... 163 8.2 The Message Passing Model for Programming Distributed- Memory Parallel Systems . . . . . . 167 8.3 Distributed Computational Objects. . . 172 8.4 Six Guiding Principles . . . . . . . . . . 174 8.5 PETSc Design of Fundamental Objects 178 8.6 Sample Performance Results. 198 8.7 Conclusion 200 8.8 References........... 201 9 Object-Oriented Construction of Parallel PDE Solvers 203 M. Thune et al. 9.1 Introduction .......... . 203 9.2 The Object-Oriented Approach 207 9.3 Overview of Cogito ...... . 209 9.4 Case Study 1: Application of Cogito/Grid 211 9.5 Case Study 2: Application of Cogito/Solver 213 9.6 Cogito for Implicit Methods . 215 9.7 Validation of Cogito 218 9.8 Concluding Remarks 224 9.9 References ..... . 225 10 Modern Software Techniques in Computational Finance 221 K. N. Pantazopoulos and E. N. Houstis 10.1 Introduction. . . . . . . . . . . . . . . . . . 227 10.2 Option Computations ............ 232 10.3 Software Design Issues in Option Valuation 237 10.4 FINANZIA Implementation and Examples. 240 10.5 Future Extensions 244 10.6 Conclusions 245 10.7 References . . . . . 246 11 Increasing the Efficiency and Reliability of Software Development for Systems of PDEs 241 A. M. Bruaset, E. J. Holm and H. P. Langtangen 11.1 Introduction . . . . . . . . 247 11.2 A Plastic Forming Process 249 11.3 The Basic Ideas . 252 11.4 Diffpack. . . . . . 254 11.5 Systems of PDEs . 257 11.6 Extensions of the Concept ........ . 261 11.7 Other Applications ............ . 263 11.8 Another Application of the Flexible Design 264 11.9 Concluding Remarks 265 11.10 References . . . . . . . . . . . . . . . . . . 267 Part II. Computational Geometry 269 12 Object Oriented Surface Design 271 R. Bartels 12.1 Overview ......... 271 12.2 Geometrical Abstractions 272 12.3 Data Structures . 277 12.4 Splines . 278 12.5 Surfaces . . . 280 12.6 Refiners . . . 281 12.7 Applications. 282 12.8 Development Environment. 284 12.9 References. . . . . . . . . . 287 13 Object-Oriented Scattered Data Modelling with Siscat 289 E. Arye and 0. Hjelle 13.1 Introduction. . . . . . . . . . . . . . . 289 13.2 A Cartographic Model Problem . . . . 291 13.3 The Basic Surface Hierarchy in Siscat 293 13.4 Aspects of Basic Methods 295 13.5 Composite Methods 301 13.6 References. . . . . . . . . 307 Part III. Software Development 309 14 Is the Quality of Numerical Subroutine Code Improving? 311 T. R. Hopkins 14.1 Introduction ................. . 311 14.2 Software Metrics .............. . 312 14.3 A Comparison of Freely Available Packages 314 14.4 CALGO Fortran Codes 319 14.5 Conclusion 321 14.6 References ....... . 322 15 Object-Oriented Redesign of a Real-World Fortran 77 Solver 325 M. Weidmann 15.1 Introduction. 325 15.2 The SEMPA Project 327 15.3 The CFD Program 328 15.4 Analysis and Redesign of the Solver 329 15.5 Original and New Module Comparison 333 15.6 Discussion of the Approach 334 15.7 References . . . . . . . . . . . . . . . . . 336 16 Automating the Debugging of Large Numerical Codes 339 F. Manne and S. O. Andersen 16.1 Introduction ...... . 339 16.2 Comparative Debugging 341 16.3 Examples of Use 345 16.4 The Wizard. 346 16.5 Conclusion 349 16.6 References .. 350 17 The TAMPR Program Transformation System: Simplifying the Development of Numerical Software 353 J. M. Boyle, T. J. Harmer and V. L. Winter 17.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . 353 17.2 Some TAMPR Applications. . . . . . . . . . . . . . 356 17.3 The TAMPR Approach to Program Transformation 361 17.4 Example of the TAMPR Approach to Program Transformation 365 17.5 Conclusion 370 17.6 References. . . 371 List of Contributors 373 Index 377 Preface Looking back at the years that have passed since the realization of the very first electronic, multi-purpose computers, one observes a tremendous growth in hardware and software performance. Today, researchers and engi neers have access to computing power and software that can solve numerical problems which are not fully understood in terms of existing mathemati cal theory. Thus, computational sciences must in many respects be viewed as experimental disciplines. As a consequence, there is a demand for high quality, flexible software that allows, and even encourages, experimentation with alternative numerical strategies and mathematical models. Extensibil ity is then a key issue; the software must provide an efficient environment for incorporation of new methods and models that will be required in fu ture problem scenarios. The development of such kind of flexible software is a challenging and expensive task. One way to achieve these goals is to in vest much work in the design and implementation of generic software tools which can be used in a wide range of application fields. In order to provide a forum where researchers could present and discuss their contributions to the described development, an International Work shop on Modern Software Tools for Scientific Computing was arranged in Oslo, Norway, September 16-18, 1996. This workshop, informally referred to as Sci Tools '96, was a collaboration between SINTEF Applied Mathe matics and the Departments of Informatics and Mathematics at the Uni versity of Oslo. In total, the workshop was visited by 76 attendees from 14 countries world-wide. During the workshop, one introductory, four invited, and 33 contributed talks were given. From this comprehensive program, 17 carefully selected and refereed research papers are presented in this book. The editors want to thank all the authors, as well as the other speakers at SciTools'96, for their high-quality contributions that made the workshop a successful meeting. The papers found in this volume emphasize the design of large soft ware codes, computational efficiency, object-oriented programming in sci entific computing, reliability of numerical software, and parallel computing. The scientific topics covered are parallel CFD software, multilevel methods for PDEs, advanced ODE solvers, computational steering, computational finance, scattered data approximation, splines and hierarchical surfaces, high-level algorithmic specification and automatic code generation, debug ging tools for large codes, quality measures for numerical software libraries, migration of real-world FORTRAN 77 codes to C++, as well as modern and flexible implementations of finite element and difference methods for PDEs. Several of the papers give extensive examples on the use of C++ and object-oriented design for numerical applications. All chapters in this book have been peer reviewed by at least two referees. As editors, we want to thank all the referees who generously have spent their valuable time reading the submitted manuscripts. Through numerous corrections and suggestions they have provided invaluable assistance in increasing the quality of this book. As organizers of the SciTools'96 workshop, we want to thank the Nor wegian Research Council of Norway for their financial support through the research program Numerical Computations in Applied Mathematics1 (grant no. 110673/420). This program and its predecessor, Toolkits in Industrial Mathematics, have prepared the scientific basis needed to take on this ar rangement. We want to also express our gratitude to the invited speak ers; Professor Richard Bartels (University of Waterloo, Canada), Professor Christopher R. Johnson (University of Utah, USA), Professor Ulrich Rude (University of Augsburg, Germany), and Dr. Barry F. Smith (Argonne Na tional Laboratory, USA) for their outstanding contributions. Moreover, we would like to thank Professor Aslak Tveito (University of Oslo, Norway) for his keynote address, and Director Kari Kveseth (Research Council of Norway) for conducting the opening of the workshop. In the production of the final manuscript, we have also benefitted from the Ib'IE;Xnical assistance provided by Mr. Fredrik Tyvand, and the linguis tic expertise of Mrs. Janet Skallerud. Finally, we are grateful to Mr. Wayne Yuhasz, who as editor for Birkhauser's books in Computational Sciences and Engineering suggested the publication of this volume. Oslo, January 1997 Erlend Arge Are Magnus Bruaset Hans Petter Langtangen For further information on the SciTools'96 workshop, including abstracts of the talks not presented here, we refer to the World Wide Web page http://wvw.oslo.sintef.no/SciTools96 In addition, Birkhliuser Boston will host the web page http://wvw.birkhauser.com/book/isbn/O-8176-3974-8 which will have pointers to relevant research material and software made avail able by the contributors to this book. 1 See http://wvw.oslo.sintef.no/NAM for more information on this program and its associated software projects.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.