Author | Langtangen, Hans Petter. author |
---|---|

Title | Computational Partial Differential Equations [electronic resource] : Numerical Methods and Diffpack Programming / by Hans Petter Langtangen |

Imprint | Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer, 1999 |

Connect to | http://dx.doi.org/10.1007/978-3-662-01170-6 |

Descript | XXIII, 685 p. online resource |

SUMMARY

During the last decades there has been a tremendous advancement of comยญ puter hardware, numerical algorithms, and scientific software. Engineers and scientists are now equipped with tools that make it possible to explore realยญ world applications of high complexity by means of mathematical models and computer simulation. Experimentation based on numerical simulation has become fundamental in engineering and many of the traditional sciences. A common feature of mathematical models in physics, geology, astrophysics, mechanics, geophysics, as weH as in most engineering disciplines, is the apยญ pearance of systems of partial differential equations (PDEs). This text aims at equipping the reader with tools and skills for formulating solution methods for PDEs and producing associated running code. Successful problem solving by means of mathematical models inscience and engineering often demands a synthesis of knowledge from several fields. Besides the physical application itself, one must master the tools of mathยญ ematical modeling, numerical methods, as weH as software design and imยญ plementation. In addition, physical experiments or field measurements might play an important role in the derivation and the validation of models. This book is written in the spirit of computational sciences as inter-disciplinary activities. Although it would be attractive to integrate subjects like matheยญ matics, physics, numerics, and software in book form, few readers would have the necessary broad background to approach such a text

CONTENT

1 Getting Started -- 1.1 The First Diffpack Encounter -- 1.2 Steady 1D Heat Conduction -- 1.3 Simulation of Waves -- 1.4 Projects -- 1.5 About Programming with Objects -- 1.6 Coding the PDE Simulator as a Class -- 1.7 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 1D 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 Adaptive Grids -- 3.7 Projects -- 3.8 A Convection-Diffusion Solver -- 3.9 A Heat Equation Solver -- 3.10 A More Flexible Heat Equation Solver -- 3.11 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 -- 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 Example: Analysis of the Heat Equation -- A.5 Exploring the Nature of Some PDEs -- 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 Basic Diffpack Features -- B.3.1 Diffpack man pages -- B.3.2 Standard Command-Line Options -- B.3.3 Generalized Input and Output -- B.3.4 Automatic Verification of a Code -- B.4 Visualization Support -- B.4.1 Curves -- B.4.2 Scalar and Vector Fields -- B.5 Details on Finite Element Programming -- B.5.1 Basic Functions for Finite Element Assembly -- B.5.2 Using Functors for the Integrands -- B.5.3 Class Relations in the Finite Element Engine -- B.6 Optimizing Diffpack Codes -- B.6.1 Avoiding Repeated Matrix Factorizations -- B.6.2 Avoiding Repeated Assembly of Linear Systems -- B.6.3 Optimizing the Assembly Process -- B.6.4 Optimizing Array Indexing -- 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 Decomposition -- 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

Mathematics
Computer programming
Mathematical analysis
Analysis (Mathematics)
Computer mathematics
Physics
Computational intelligence
Mathematics
Computational Mathematics and Numerical Analysis
Computational Intelligence
Analysis
Mathematical Methods in Physics
Numerical and Computational Physics
Programming Techniques