The second edition features lots of improvements and new material. The most significant additions include - finite difference methods and implementations for a 1D time-dependent heat equation (Chapter 1. 7. 6), - a solver for vibration of elastic structures (Chapter 5. 1. 6), - a step-by-step instruction of how to develop and test Diffpack programs for a physical application (Chapters 3. 6 and 3. 13), - construction of non-trivial grids using super elements (Chapters 3. 5. 4, 3. 6. 4, and 3. 13. 4), - additional material on local mesh refinements (Chapter 3. 7), - coupling of Diffpack with other types of software (Appendix B. 3) - high-level programming offinite difference solvers utilizing the new stencil (finite difference operator) concept in Diffpack (Appendix D. 8). Many of the examples, projects, and exercises from the first edition have been revised and improved. Some new exercises and projects have also been added. A hopefully very useful new feature is the compact overview of all the program examples in the book and the associated software files, presented in Chapter 1. 2. Errors have been corrected, many explanations have been extended, and the text has been upgraded to be compatible with Diffpack version 4. 0. The major difficulty when developing programs for numerical solution of partial differential equations is to debug and verify the implementation. This requires an interplay between understanding the mathematical model,the in volved numerics, and the programming tools.
Les mer
6), - a step-by-step instruction of how to develop and test Diffpack programs for a physical application (Chapters 3. 4), - additional material on local mesh refinements (Chapter 3. 3) - high-level programming offinite difference solvers utilizing the new stencil (finite difference operator) concept in Diffpack (Appendix D.
Les mer
1 Getting Started.- 1.1 The First Diffpack Encounter.- 1.2 Overview of Application Examples.- 1.3 Steady One-Dimensional Heat Conduction.- 1.5 Projects.- 1.6 About Programming with Objects.- 1.7 Coding the PDE Simulator as a Class.- 1.8 Projects.- 2 Introduction to Finite Element Discretization.- 2.1 Weighted Residual Methods.- 2.2 Time Dependent Problems.- 2.3 Finite Elements in One Space Dimension.- 2.4 Example: A ID Wave Equation.- 2.5 Naive Implementation.- 2.6 Projects.- 2.7 Higher-Dimensional Finite Elements.- 2.8 Calculation of Derivatives.- 2.9 Convection-Diffusion Equations.- 2.10 Analysis of the Finite Element Method.- 3 Programming of Finite Element Solvers.- 3.1 A Simple Program for the Poisson Equation.- 3.2 Increasing the Flexibility.- 3.3 Some Visualization Tools.- 3.4 Some Useful Diffpack Features.- 3.5 Introducing More Flexibility.- 3.6 Step-by-Step Development of a Diffpack Solver.- 3.7 Adaptive Grids.- 3.8 Projects.- 3.9 A Convection-Diffusion Solver.- 3.10 A Heat Equation Solver.- 3.11 A More Flexible Heat Equation Solver.- 3.12 Visualization of Time-Dependent Fields.- 3.13 A Transient Heat Transfer Application.- 3.14 Projects.- 3.15 Efficient Solution of the Wave Equation.- 4 Nonlinear Problems.- 4.1 Discretization and Solution of Nonlinear PDEs.- 4.2 Software Tools for Nonlinear Finite Element Problems.- 4.3 Projects.- 5 Solid Mechanics Applications.- 5.1 Linear Thermo-Elasticity.- 5.2 Elasto-Viscoplasticity.- 6 Fluid Mechanics Applications.- 6.1 Convection-Diffusion Equations.- 6.2 Shallow Water Equations.- 6.3 An Implicit Finite Element Navier-Stokes Solver.- 6.4 A Classical Finite Difference Navier-Stokes Solver.- 6.5 A Fast Finite Element Navier-Stokes Solver.- 6.6 Projects.- 7 Coupled Problems.- 7.1 Fluid-Structure Interaction; Squeeze-Film Damping.- 7.2 Fluid Flow and Heat Conduction in Pipes.- 7.3 Projects.- B.7 Optimizing Diffpack Codes.- A Mathematical Topics.- A.1 Scaling and Dimensionless Variables.- A.2 Indicial Notation.- A.3 Compact Notation for Difference Equations.- A.4 Stability and Accuracy of Difference Approximations.- A.4.1 Typical Solutions of Simple Prototype PDEs.- A.4.2 Physical Significance of Parameters in the Solution.- A.4.3 Analytical Dispersion Relations.- A.4.4 Solution of Discrete Equations.- A.4.5 Numerical Dispersion Relations.- A.4.6 Convergence.- A.4.7 Stability.- A.4.8 Accuracy.- A.4.9 Truncation Error.- A.4.10 Traditional von Neumann Stability Analysis.- A.4.11 Examples: Analysis of the Heat Equation.- A.5 Exploring the Nature of Some PDEs.- A.5.1 A Hyperbolic Equation.- A.5.2 An Elliptic Equation.- A.5.3 A Parabolic Equation.- A.5.4 The Laplace Equation Solved by a Wave Simulator.- A.5.5 Well-Posed Problems.- B Diffpack Topics.- B.1 Brief Overview of Important Diffpack Classes.- B.2 Diffpack-Related Operating System Interaction.- B.2.1 Unix.- B.2.2 Windows.- B.3 Combining Diffpack with Other Types of Software.- B.3.1 Calling Other Software Packages from Diffpack.- B.3.2 Calling Diffpack from Other Types of Software.- B.4. Basic Diffpack Features.- B.4.1 Diffpack Man Pages.- B.4.2 Standard Command-Line Options.- B.4.3 Generalized Input and Output.- B.4.4 Automatic Verification of a Code.- B.5 Visualization Support.- B.5.1 Curves.- B.5.2 Scalar and Vector Fields.- B.6 Details on Finite Element Programming.- B.6.1 Basic Functions for Finite Element Assembly.- B.6.2 Using Functors for the Integrands.- B.6.3 Integrating Quantities over the Grid or the Boundary.- B.6.4 Class Relations in the Finite Element Engine.- C Iterative Methods for Sparse Linear Systems.- C.1 Classical Iterative Methods.- C.1.1 A General Framework.- C.1.2 Jacobi, Gauss-Seidel, SOR, and SSOR Iteration.- C.2 Conjugate Gradient-Like Iterative Methods.- C.2.1 Galerkin and Least-Squares Methods.- C.2.2 Summary of the Algorithms.- C.2.3 A Framework Based on the Error.- C.3 Preconditioning.- C.3.1 Motivation and Basic Principles.- C.3.2 Classical Iterative Methods as Preconditioners.- C.3.3 Incomplete Factorization Preconditioners.- C.4 Multigrid and Domain Decomposition Methods.- C.4.1 Domain Decomposit ion.- C.4.2 Multigrid Methods.- D Software Tools for Solving Linear Systems.- D.1 Storing and Initializing Linear Systems.- D.1.1 Vector and Matrix Formats.- D.1.2 Detailed Matrix Examples.- D.1.3 Representation of Linear Systems.- D.2 Programming with Linear Solvers.- D.2.1 Gaussian Elimination.- D.2.2 A Simple Demo Program.- D.2.3 A 3D Poisson Equation Solver.- D.3 Classical Iterative Methods.- D.4 Conjugate Gradient-like Methods.- D.4.1 Symmetric Systems.- D.4.2 Nonsymmetric Systems.- D.5 Preconditioning Strategies.- D.6 Convergence History and Stopping Criteria.- D.7 Example: Implicit Methods for Transient Diffusion.- D.8 High-Level Stencil Programming of Finite Difference Schemes.- D.8.1 Finite Difference Stencils.- D.8.2 Basic Structure of a Stencil-Based Simulator.- D.8.3 Defining the Stencils.
Les mer
From the reviews of the second edition:
"The aim of this book, as stated in the preface is ‘To Teach Numerics along with Diffpack’. … I feel that the author has been successful with the stated aim, and the content is well directed to the target audience … . This book will be very useful … for graduate students or researchers, who intend working with DIFFPACK. It provides an excellent advanced tutorial and users manual for DIFFPACK, while also providing a wealth of first hand computational experience presented by an excellent computational scientist." (Stephen Roberts, gazette The Australian Mathematical Society, Vol. 32 (5), 2005)
"The present book can be considered to be a sort of handbook for Diffpack, yet it is more than just that. … No one planning to use Diffpack is likely not to benefit from this presentation." (H. Muthsam, Monatshefte für Mathematik, Vol. 143 (4), 2004)
"The present version improves and corrects the text, adds new material, and updates the book to match the version 4.0 of the C++ software package Diffpack. … this is a very useful book for the users of Diffpack. However, this book deserves a wider readership than the users of Diffpack, because it provides valuable insights of object oriented numerics and state-of-the-art program development using standard tools for numerical programming, data visualization, and scripting techniques based on Perl." (Matti Vuorinen, Zentralblatt MATH, Vol. 1037 (12), 2004)
"This large monograph … is devoted to an updated presentation of the most important numerical techniques for solving partial differential equations using the software Diffpack Programming. … Many figures and tables make explanation much more easier, in addition a collection of examples are discussed with many details. … In addition a complete bibliography and full index is added. In conclusion this book will be certainly very helpful to everybody involving in numericalsimulations and having Diffpack software." (Stéphane Métens, Physicalia, Vol. 26 (1), 2004)
"This is the second edition of a popular tutorial on the numerical solution of partial differential equations (PDEs). … has over 150 exercises and a comparable number of worked-out examples together with computational code. There is an extensive bibliography of 156 references for further reading. … it should be of interest and use to researchers and practitioners working in computational mechanics and to students aspiring to enter that field. It should make a good text for graduate-level numeric courses. Purchase by libraries is recommended." (RL Huston, Applied Mechanics Reviews, Vol. 56 (6), 2003)
Les mer
Springer Book Archives
Springer Book Archives
The only textbook teaching computational PDEs together with Diffpack, suitable for CSE courses Includes supplementary material: sn.pub/extras
Produktdetaljer
ISBN
9783642628115
Publisert
2012-11-06
Utgave
2. utgave
Utgiver
Vendor
Springer-Verlag Berlin and Heidelberg GmbH & Co. K
Høyde
235 mm
Bredde
155 mm
Aldersnivå
Research, P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet
Forfatter