Computational Partial Differential Equations (2nd Ed., 2nd ed. 2003. Softcover reprint of the original 2nd ed. 2003)
Numerical Methods and Diffpack Programming

Texts in Computational Science and Engineering Series, Vol. 1

Language: English

52.74 €

In Print (Delivery period: 15 days).

Add to cartAdd to cart
Computational Partial Differential Equations (2nd Ed.)
Publication date:
862 p. · 15.5x23.5 cm · Paperback

52.74 €

Subject to availability at the publisher.

Add to cartAdd to cart
Computational Partial Differential Equations : Numerical Methods and Diffpack Programming (Texts Computational Science & Engineering, Vol. 1) (2nd Ed.)
Publication date:
862 p. · 15.5x23.5 cm · Hardback
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.
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.
The only textbook teaching computational PDEs together with Diffpack, suitable for CSE courses Includes supplementary material: sn.pub/extras