Solving PDEs in Python

Solving PDEs in Python

Author: Hans Petter Langtangen

Publisher: Springer

Published: 2017-03-21

Total Pages: 152

ISBN-13: 3319524623

DOWNLOAD EBOOK

This book offers a concise and gentle introduction to finite element programming in Python based on the popular FEniCS software library. Using a series of examples, including the Poisson equation, the equations of linear elasticity, the incompressible Navier–Stokes equations, and systems of nonlinear advection–diffusion–reaction equations, it guides readers through the essential steps to quickly solving a PDE in FEniCS, such as how to define a finite variational problem, how to set boundary conditions, how to solve linear and nonlinear systems, and how to visualize solutions and structure finite element Python programs. This book is open access under a CC BY license.


Solving PDEs in Python

Solving PDEs in Python

Author: Hans Petter Langtangen

Publisher:

Published: 2020-10-08

Total Pages: 150

ISBN-13: 9781013268175

DOWNLOAD EBOOK

This book offers a concise and gentle introduction to finite element programming in Python based on the popular FEniCS software library. Using a series of examples, including the Poisson equation, the equations of linear elasticity, the incompressible Navier-Stokes equations, and systems of nonlinear advection-diffusion-reaction equations, it guides readers through the essential steps to quickly solving a PDE in FEniCS, such as how to define a finite variational problem, how to set boundary conditions, how to solve linear and nonlinear systems, and how to visualize solutions and structure finite element Python programs. This work was published by Saint Philip Street Press pursuant to a Creative Commons license permitting commercial use. All rights not granted by the work's license are retained by the author or authors.


PETSc for Partial Differential Equations: Numerical Solutions in C and Python

PETSc for Partial Differential Equations: Numerical Solutions in C and Python

Author: Ed Bueler

Publisher: SIAM

Published: 2020-10-22

Total Pages: 407

ISBN-13: 1611976316

DOWNLOAD EBOOK

The Portable, Extensible Toolkit for Scientific Computation (PETSc) is an open-source library of advanced data structures and methods for solving linear and nonlinear equations and for managing discretizations. This book uses these modern numerical tools to demonstrate how to solve nonlinear partial differential equations (PDEs) in parallel. It starts from key mathematical concepts, such as Krylov space methods, preconditioning, multigrid, and Newton’s method. In PETSc these components are composed at run time into fast solvers. Discretizations are introduced from the beginning, with an emphasis on finite difference and finite element methodologies. The example C programs of the first 12 chapters, listed on the inside front cover, solve (mostly) elliptic and parabolic PDE problems. Discretization leads to large, sparse, and generally nonlinear systems of algebraic equations. For such problems, mathematical solver concepts are explained and illustrated through the examples, with sufficient context to speed further development. PETSc for Partial Differential Equations addresses both discretizations and fast solvers for PDEs, emphasizing practice more than theory. Well-structured examples lead to run-time choices that result in high solver performance and parallel scalability. The last two chapters build on the reader’s understanding of fast solver concepts when applying the Firedrake Python finite element solver library. This textbook, the first to cover PETSc programming for nonlinear PDEs, provides an on-ramp for graduate students and researchers to a major area of high-performance computing for science and engineering. It is suitable as a supplement for courses in scientific computing or numerical methods for differential equations.


Finite Difference Computing with PDEs

Finite Difference Computing with PDEs

Author: Hans Petter Langtangen

Publisher: Springer

Published: 2017-06-21

Total Pages: 522

ISBN-13: 3319554565

DOWNLOAD EBOOK

This book is open access under a CC BY 4.0 license. This easy-to-read book introduces the basics of solving partial differential equations by means of finite difference methods. Unlike many of the traditional academic works on the topic, this book was written for practitioners. Accordingly, it especially addresses: the construction of finite difference schemes, formulation and implementation of algorithms, verification of implementations, analyses of physical behavior as implied by the numerical solutions, and how to apply the methods and software to solve problems in the fields of physics and biology.


Programming for Computations - Python

Programming for Computations - Python

Author: Svein Linge

Publisher: Springer

Published: 2016-07-25

Total Pages: 244

ISBN-13: 3319324284

DOWNLOAD EBOOK

This book presents computer programming as a key method for solving mathematical problems. There are two versions of the book, one for MATLAB and one for Python. The book was inspired by the Springer book TCSE 6: A Primer on Scientific Programming with Python (by Langtangen), but the style is more accessible and concise, in keeping with the needs of engineering students. The book outlines the shortest possible path from no previous experience with programming to a set of skills that allows the students to write simple programs for solving common mathematical problems with numerical methods in engineering and science courses. The emphasis is on generic algorithms, clean design of programs, use of functions, and automatic tests for verification.


Automated Solution of Differential Equations by the Finite Element Method

Automated Solution of Differential Equations by the Finite Element Method

Author: Anders Logg

Publisher: Springer Science & Business Media

Published: 2012-02-24

Total Pages: 723

ISBN-13: 3642230997

DOWNLOAD EBOOK

This book is a tutorial written by researchers and developers behind the FEniCS Project and explores an advanced, expressive approach to the development of mathematical software. The presentation spans mathematical background, software design and the use of FEniCS in applications. Theoretical aspects are complemented with computer code which is available as free/open source software. The book begins with a special introductory tutorial for beginners. Following are chapters in Part I addressing fundamental aspects of the approach to automating the creation of finite element solvers. Chapters in Part II address the design and implementation of the FEnicS software. Chapters in Part III present the application of FEniCS to a wide range of applications, including fluid flow, solid mechanics, electromagnetics and geophysics.


Programming for Computations - MATLAB/Octave

Programming for Computations - MATLAB/Octave

Author: Svein Linge

Publisher: Springer

Published: 2016-08-01

Total Pages: 228

ISBN-13: 3319324527

DOWNLOAD EBOOK

This book presents computer programming as a key method for solving mathematical problems. There are two versions of the book, one for MATLAB and one for Python. The book was inspired by the Springer book TCSE 6: A Primer on Scientific Programming with Python (by Langtangen), but the style is more accessible and concise, in keeping with the needs of engineering students. The book outlines the shortest possible path from no previous experience with programming to a set of skills that allows the students to write simple programs for solving common mathematical problems with numerical methods in engineering and science courses. The emphasis is on generic algorithms, clean design of programs, use of functions, and automatic tests for verification.


Python for Scientists

Python for Scientists

Author: John M. Stewart

Publisher: Cambridge University Press

Published: 2017-07-20

Total Pages: 272

ISBN-13: 1316641236

DOWNLOAD EBOOK

Scientific Python is taught from scratch in this book via copious, downloadable, useful and adaptable code snippets. Everything the working scientist needs to know is covered, quickly providing researchers and research students with the skills to start using Python effectively.


Programming for Computations - Python

Programming for Computations - Python

Author: Svein Linge

Publisher: Springer Nature

Published: 2019-10-30

Total Pages: 350

ISBN-13: 3030168778

DOWNLOAD EBOOK

This book is published open access under a CC BY 4.0 license. This book presents computer programming as a key method for solving mathematical problems. This second edition of the well-received book has been extensively revised: All code is now written in Python version 3.6 (no longer version 2.7). In addition, the two first chapters of the previous edition have been extended and split up into five new chapters, thus expanding the introduction to programming from 50 to 150 pages. Throughout the book, the explanations provided are now more detailed, previous examples have been modified, and new sections, examples and exercises have been added. Also, a number of small errors have been corrected. The book was inspired by the Springer book TCSE 6: A Primer on Scientific Programming with Python (by Langtangen), but the style employed is more accessible and concise, in keeping with the needs of engineering students. The book outlines the shortest possible path from no previous experience with programming to a set of skills that allows students to write simple programs for solving common mathematical problems with numerical methods in the context of engineering and science courses. The emphasis is on generic algorithms, clean program design, the use of functions, and automatic tests for verification.


Numerical Methods in Computational Finance

Numerical Methods in Computational Finance

Author: Daniel J. Duffy

Publisher: John Wiley & Sons

Published: 2022-03-14

Total Pages: 551

ISBN-13: 1119719720

DOWNLOAD EBOOK

This book is a detailed and step-by-step introduction to the mathematical foundations of ordinary and partial differential equations, their approximation by the finite difference method and applications to computational finance. The book is structured so that it can be read by beginners, novices and expert users. Part A Mathematical Foundation for One-Factor Problems Chapters 1 to 7 introduce the mathematical and numerical analysis concepts that are needed to understand the finite difference method and its application to computational finance. Part B Mathematical Foundation for Two-Factor Problems Chapters 8 to 13 discuss a number of rigorous mathematical techniques relating to elliptic and parabolic partial differential equations in two space variables. In particular, we develop strategies to preprocess and modify a PDE before we approximate it by the finite difference method, thus avoiding ad-hoc and heuristic tricks. Part C The Foundations of the Finite Difference Method (FDM) Chapters 14 to 17 introduce the mathematical background to the finite difference method for initial boundary value problems for parabolic PDEs. It encapsulates all the background information to construct stable and accurate finite difference schemes. Part D Advanced Finite Difference Schemes for Two-Factor Problems Chapters 18 to 22 introduce a number of modern finite difference methods to approximate the solution of two factor partial differential equations. This is the only book we know of that discusses these methods in any detail. Part E Test Cases in Computational Finance Chapters 23 to 26 are concerned with applications based on previous chapters. We discuss finite difference schemes for a wide range of one-factor and two-factor problems. This book is suitable as an entry-level introduction as well as a detailed treatment of modern methods as used by industry quants and MSc/MFE students in finance. The topics have applications to numerical analysis, science and engineering. More on computational finance and the author’s online courses, see www.datasim.nl.