ebook img

Solving Elliptic Problems Using ELLPACK PDF

490 Pages·1985·28.315 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 Solving Elliptic Problems Using ELLPACK

Springer Series in Computational Mathematics 2 Editorial Board R. Graham, Murray Hill J. Stoer, WOrzburg R. Varga, Cleveland John R. Rice Ronald F. Boisvert Solving Elliptic Problems Using ELLPACK With 53 Illustrations Springer-Verlag New York Berlin Heidelberg Tokyo John R. Rice Department of Computer Science, Purdue University West Lafayette, IN 47907, U.S.A. Ronald F. Boisvert Scientific Computing Division, National Bureau of Standards Gaithersburg, MD 20899, U.S.A. AMS Subject Classifications: 35J99, 65M99, 65N99 Library of Congress Cataloging in Publication Data Rice, John R. Solving elliptic problems using ELLPACK. (Springer series in computational mathematics; 2) Bibliography: p. Includes index. 1. ELLPACK (Computer system) 2. Differential equations, Elliptic-Numerical solutions-Data processing. 3. Boundary value problems-Numerical solutions-Data processing. I. Boisvert, R. F. II. Title. III. Series. QA377.R53 1984 515.3'53 84-10588 This is to certify that a portion of the book named above was prepared by a United States Government employee as part of his official duties. © 1985 by Springer-Verlag New York Inc. Softcover reprint of the hardcover 1st edition 1985 All rights reserved. No part of this book may be translated or reproduced in any form without written permission from Springer-Verlag, 175 Fifth Avenue, New York, New York 10010, U.S.A. 9 8 7 6 5 432 1 ISBN-13: 978-1-4612-9528-0 e-ISBN-13: 978-1-4612-5018-0 DOl: 10.1007/978-1-4612-5018-0 PREFACE ELLP ACK is a many faceted system for solving elliptic partial differential equations. It is a forerunner of the very high level, problem solving environments or expert systems that will become common in the next decade. While it is still far removed from the goals of the future, it is also far advanced compared to the Fortran library approach in common current use. Many people will find ELLP ACK an easy way to solve simple or moderately complex elliptic problems. Others will be able to solve really hard problems by digging a little deeper into ELLP ACK. ELLP ACK is a research tool for the study of numerical methods for solving elliptic problems. Its original purpose was for the evaluation and comparison of numerical software for elliptic problems. Simple examples of this use are given in Chapters 9-11. The general conclusion is that there are many ways to solve most elliptic problems, there are large differences in their efficiency and the most common ways are often less efficient, sometimes dramatically so. ELLP ACK is a research effort in the cooperative creation of a large software system. It contains contributions from over 25 people or sources. It is very large, perhaps it has a total of 80,000 lines of Fortran. A great deal of effort has been put into creating a coherent software structure that can adapt to the widely varying requirements of these people and which allows ELLP ACK to grow or shrink gracefully as time and objectives change. The scientific systems programmer can examine our solution to the software engineering problems and perhaps avoid some of the mistakes we made in preliminary versions of ELLP ACK. ELLP ACK owes a huge debt to its contributors. These are identified in Section I.C and specific software contributions are associated with their authors in Chapter 6. A huge dept is also owed to the many funding agencies that supported this work. Our personal efforts were supported by the National Science Foundation, the Department of Energy, Purdue University and the National Bureau of Standards; we thank them. The total cost of developing the software in ELLP ACK is of the order of $2 million. Due to the generous funding agencies, ELLP ACK is made publicly available for a nominal cost. Special thanks is due to Connie Sutherlin who prepared many versions of this manuscript, and related reports, on the TROFF system at Purdue University. Her diligence and perseverance are much appreciated. We also thank Calvin Ribbens and Roger Crawfis for valuable assistance in preparing materials for this book. Robert Lynch made many improvements in the exposition, the style and the layout of the book; we are grateful for his very substantial help. John R. Rice Purdue University Ronald F. Boisvert National Bureau of Standards November, 1984 CONTENTS Part 1: THE ELLPACK SYSTEM 1. INTRODUCTION 3 A. Mathematical Preliminaries 3 B. Numerical Methods Preliminaries 7 C. The ELLP ACK Project 15 D. Brief Description of ELLP ACK 16 E. A Simple Program 18 F. Organization of the Book . 21 G. References ..... 23 2. THE ELLPACK LANGUAGE 25 A. Organization of an ELLP ACK Program 25 B. Segments which Define the Problem 28 C. The GRID Segment ..... . 32 D. Segments which Specify the Numerical Methods 35 E. Fortran and Program Control 39 F. OUTPUT and OPTIONS Segments 40 G. Debugging ELLPACK Programs 44 H. References 47 3. EXAMPLES 49 A. Example of Chapter 1 Revised 49 B. General Equation with Mixed Boundary Conditions 52 C. How Fortran and ELLP ACK Interact 56 4. ADVANCED ELLPACK FEATURES 61 A. Additional Segments . . . . 62 B. Additional Features of Basic Segments 64 C. Access to Preprocessor Variables 70 D. Advanced ELLPACK Examples 71 E. References ...... . 86 5. EXTENDING ELLPACK TO NONSTANDARD PROBLEMS 87 A. Special Interior Boundary Conditions 88 B. Two-Phase Diffusion Problem 95 C. Newton Iteration for Nonlinear Problems 101 D. Time Dependent Problem 111 E. Systems of Elliptic Problems 121 F. References ..... 135 viii CONTENTS Part 2: THE ELLPACK MODULES 6. THE ELLPACK MODULES . 139 A. Introduction . . . . . 139 B. Description of the Modules 141 C. The Modules .... 146 7. ITPACK SOLUTION MODULES 237 by D. R. Kincaid, T. C. Oppe, 1. R. Respess, and D. M. Young A. ITP ACK Iterative Algorithms 237 B. ITP ACK Modules 244 C. ITP ACK Project 255 D. References 257 Part 3: PERFORMANCE EVALUATION 8. PERFORMANCE AND ITS EVALUATION 261 A. Measures of Performance .... 261 B. Analytical Evaluation of Performance 262 C. Experimental Evaluation of Performance 262 9. THE MODEL PROBLEMS 265 10. PERFORMANCE OF DISCRETIZATION MODULES 269 A. Poisson Problem 269 B. Helmholtz Problem 274 C. Boundary Layer Problem 278 D. General Elliptic Operator 281 E. General, Difficult Elliptic Problem 284 F. Mixed Boundary Conditions . . 287 G. Singular Problem ..... 289 H. Nonrectangular Domain 291 I. Three Dimensional Poisson Problem 293 11. PERFORMANCE OF SOLUTION MODULES 295 A. Solution of the 5-Point Star Equations 297 B. Solution of the HODlE-Helmholtz Equations 301 C. Solution of the Collocation Equations 303 D. Solution of the Galerkin Equations 304 E. Solution of the 7 Point 3D Equations 305 F. References . . . . . . 307 Part 4: CONTRIBUTOR'S GUIDE 12. SOFTWARE PARTS FOR ELLIPTIC PROBLEMS 311 A. Overview . . . . 311 B. Contributor's checklist 314 CONTENTS ix C. Conventions 316 D. References 318 13. INTERFACE SPECIFICATIONS 319 A. Problem interface 319 B. Discretized domain interface 324 C. Discretized PDE Interface 330 D. Equation/unknown indexing interface 331 E. Algebraic equation solution interface 332 F. Triple and procedure modules 333 G. Solution evaluation 333 H. Control variables 335 14. MODULE INTERFACE ACCESS 343 A. Storage Scheme for Interface Variables 343 B. Module-Parameter Access 345 C. Workspace Access 346 15. PROGRAMMING STANDARDS 347 A. Printed Output 347 B. Error Handling 348 C. Portability 350 D. Documentation 351 E. Utility Programs 352 F. References 356 16. PREPROCESSOR DATA 357 A. Introduction to the Preprocessor 357 B. The ELLPA CK Definition File 360 C. Examples of File Entries 367 D. Conditional Code Generation 369 Part 5: SYSTEM PROGRAMMING GUIDE 17. INSTALLING ELLPACK 373 A. Overview of the System 373 B. Installation Procedure Summary 374 C. The ELLP ACK Tape 375 D. Preparing the ELLPACK Modules 377 E. Preparing the ELLP ACK Preprocessor 384 F. Sample control card procedures 386 G. References 391 18. TAILORING ELLPACK 393 A. Organization of the Preprocessor 393 B. Organization of the ELLP ACK Control Program 396 C. How to Add Modules to ELLP ACK 406 D. How to Change the ELLPACK Language 410 x CONTENTS APPENDICES A. THE PDE POPULATION 417 by W. R. Dyksen, E. N. Houstis and J. R. Rice 1. Introduction 417 2. Characteristics of the Problems . . 418 3. Format of PDE Problem Descriptions 423 4. Acknowledgements 424 5. Problem Definitions and Plots 424 6. Sources of Problems 452 7. References ..... . 453 B. THE PG (PREPROCESSOR GENERATOR) SYSTEM 455 by 1. F. Brophy 1. Introduction to PG Grammars 455 2. PG Rule Syntax 460 3. PG Actions 461 4. Special Segments 462 5. PG Internals 465 6. Installing PG . 466 7. Acknowledgements 467 8. References 467 C. THE TEMPLATE PROCESSOR 469 by J. R. Rice, C. J. Ribbens and W. A. Ward 1. Introduction 469 2. General Description ... . 470 3. Simple Example ... . 471 4. Substitution Processing Facilities 472 5. Macro Processing Directives 475 6. Another Example . . . . . 479 7. Preparing a Tuned Version of the Template Processor 481 8. Error Messages . . . . . . . . . . . 482 9. References ........... . 484 D. EXAMPLES OF SOME ELLPACK STATEMENTS 485 INDEX 489 PART 1 CHAPTERS 1-5 THE ELLP ACK SYSTEM Part 1 is the user's guide to the ELLP ACK system. It describes the structure and objectives of the system, the facilities it has and gives many examples of its applica tion. Chapter 1 INTRODUCTION Elliptic partial differential equations (PDEs) are important tools for mathematical modellers in a wide variety of fields. Indeed, many important advances in structural mechanics, atmospheric modelling, nuclear reactor design, electrostatics, and chemical engineering have depended on the ability to solve elliptic equations quickly and accurately. As a result, much research activity in the past 30 years has been directed at improving numerical methods for this class of problems, and the fruits of some of this work may now be found in the growing collection of general-purpose mathematical software for solving elliptic problems [Boisvert and Sweet, 1984]. Our aim in this book is to describe one such package in detail. ELLP ACK is a software system for solving elliptic boundary value problems which includes both a very high-level problem statement language and an extensible library of problem-solving modules. The ELLP ACK language is an extension to Fortran that allows users to declare boundary value problems. Powerful executable statements are available which invoke predefined modules for each stage of the solution process. Since a variety of modules representing different methods are available at each stage, ELLP ACK has become a flexible tool for both experimenting with numerical methods and solving applications problems. This chapter presents background material, outlining some key concepts and terminology associated with elliptic boundary value problems and their solution by numerical methods. The presentation here is necessarily very brief. For an elementary introduction to elliptic boundary value problems we recommend standard texts such as [Carrier and Pearson, 1976] or [Zachmanoglou and Thoe, 1976]; more advanced treatments can be found in [Courant and Hilbert, 1953, 1962] and [Mikhlin, 19671. A number of books provide more detailed descriptions of numerical methods for these problems; for example, see [Forsythe and Wasow, 1960], [Mitchell and Wait, 1977], [Gladwell and Wait, 1979], [Lapidus and Pinder, 1982], and [Birkhoff and Lynch, 19841. Details of the specific algorithms implemented in the ELLP ACK problem-solving modules may be found in Part 2 of this book. 1.A MATHEMATICAL PRELIMINARIES Elliptic equations describe the equilibrium states of physical systems. Well posed problems of this type require the determination of a function which satisfies a given partial differential equation (PDE) on some domain R, as well as additional conditions along its boundary oR. As a simple example consider the problem of determining the steady-state temperature distribution in a nonhomogeneous

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.