Computational Partial Differential Equations Numerical Methods and Diffpack Programming

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...

Full description

Bibliographic Details
Main Author: Langtangen, Hans Petter
Format: eBook
Language:English
Published: Berlin, Heidelberg Springer Berlin Heidelberg 1999, 1999
Edition:1st ed. 1999
Series:Lecture Notes in Computational Science and Engineering
Subjects:
Online Access:
Collection: Springer Book Archives -2004 - Collection details see MPG.ReNa
LEADER 07449nmm a2200433 u 4500
001 EB000685341
003 EBX01000000000000000538423
005 00000000000000.0
007 cr|||||||||||||||||||||
008 140122 ||| eng
020 |a 9783662011706 
100 1 |a Langtangen, Hans Petter 
245 0 0 |a Computational Partial Differential Equations  |h Elektronische Ressource  |b Numerical Methods and Diffpack Programming  |c by Hans Petter Langtangen 
250 |a 1st ed. 1999 
260 |a Berlin, Heidelberg  |b Springer Berlin Heidelberg  |c 1999, 1999 
300 |a XXIII, 685 p  |b online resource 
505 0 |a 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 --  
505 0 |a 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 
505 0 |a 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 --  
505 0 |a 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 --  
505 0 |a 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 --  
653 |a Programming Techniques 
653 |a Computer programming 
653 |a Mathematical analysis 
653 |a Computational intelligence 
653 |a Computational Mathematics and Numerical Analysis 
653 |a Mathematics / Data processing 
653 |a Computational Intelligence 
653 |a Analysis 
653 |a Mathematical physics 
653 |a Theoretical, Mathematical and Computational Physics 
653 |a Mathematical Methods in Physics 
041 0 7 |a eng  |2 ISO 639-2 
989 |b SBA  |a Springer Book Archives -2004 
490 0 |a Lecture Notes in Computational Science and Engineering 
028 5 0 |a 10.1007/978-3-662-01170-6 
856 4 0 |u https://doi.org/10.1007/978-3-662-01170-6?nosfx=y  |x Verlag  |3 Volltext 
082 0 |a 518 
520 |a 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