000 | 05859nam a22004453i 4500 | ||
---|---|---|---|
001 | EBC5588874 | ||
003 | MiAaPQ | ||
005 | 20240122001130.0 | ||
006 | m o d | | ||
007 | cr cnu|||||||| | ||
008 | 231124s2017 xx o ||||0 eng d | ||
020 |
_a9783319524627 _q(electronic bk.) |
||
020 | _z9783319524610 | ||
035 | _a(MiAaPQ)EBC5588874 | ||
035 | _a(Au-PeEL)EBL5588874 | ||
035 | _a(OCoLC)1066184466 | ||
040 |
_aMiAaPQ _beng _erda _epn _cMiAaPQ _dMiAaPQ |
||
050 | 4 | _aQA71-90 | |
100 | 1 | _aLangtangen, Hans Petter. | |
245 | 1 | 0 |
_aSolving PDEs in Python : _bThe FEniCS Tutorial I. |
250 | _a1st ed. | ||
264 | 1 |
_aCham : _bSpringer International Publishing AG, _c2017. |
|
264 | 4 | _c�2016. | |
300 | _a1 online resource (152 pages) | ||
336 |
_atext _btxt _2rdacontent |
||
337 |
_acomputer _bc _2rdamedia |
||
338 |
_aonline resource _bcr _2rdacarrier |
||
490 | 1 |
_aSimula SpringerBriefs on Computing Series ; _vv.3 |
|
505 | 0 | _aIntro -- Foreword -- Contents -- Preface -- 1 Preliminaries -- 1.1 The FEniCS Project -- 1.2 What you will learn -- 1.3 Working with this tutorial -- 1.4 Obtaining the software -- 1.4.1 Installation using Docker containers -- 1.4.2 Installation using Ubuntu packages -- 1.4.3 Testing your installation -- 1.5 Obtaining the tutorial examples -- 1.6 Background knowledge -- 1.6.1 Programming in Python -- 1.6.2 The finite element method -- 2 Fundamentals: Solving the Poisson equation -- 2.1 Mathematical problem formulation -- 2.1.1 Finite element variational formulation -- 2.1.2 Abstract finite element variational formulation -- 2.1.3 Choosing a test problem -- 2.2 FEniCS implementation -- 2.2.1 The complete program -- 2.2.2 Running the program -- 2.3 Dissection of the program -- 2.3.1 The important first line -- 2.3.2 Generating simple meshes -- 2.3.3 Defining the finite element function space -- 2.3.4 Defining the trial and test functions -- 2.3.5 Defining the boundary conditions -- 2.3.6 Defining the source term -- 2.3.7 Defining the variational problem -- 2.3.8 Forming and solving the linear system -- 2.3.9 Plotting the solution using the plot command -- 2.3.10 Plotting the solution using ParaView -- 2.3.11 Computing the error -- 2.3.12 Examining degrees of freedom and vertex values -- 2.4 Deflection of a membrane -- 2.4.1 Scaling the equation -- 2.4.2 Defining the mesh -- 2.4.3 Defining the load -- 2.4.4 Defining the variational problem -- 2.4.5 Plotting the solution -- 2.4.6 Making curve plots through the domain -- 3 A Gallery of finite element solvers -- 3.1 The heat equation -- 3.1.1 PDE problem -- 3.1.2 Variational formulation -- 3.1.3 FEniCS implementation -- 3.2 A nonlinear Poisson equation -- 3.2.1 PDE problem -- 3.2.2 Variational formulation -- 3.2.3 FEniCS implementation -- 3.3 The equations of linear elasticity -- 3.3.1 PDE problem. | |
505 | 8 | _a3.3.2 Variational formulation -- 3.3.3 FEniCS implementation -- 3.4 The Navier-Stokes equations -- 3.4.1 PDE problem -- 3.4.2 Variational formulation -- 3.4.3 FEniCS implementation -- 3.5 A system of advection-diffusion-reaction equations -- 3.5.1 PDE problem -- 3.5.2 Variational formulation -- 3.5.3 FEniCS implementation -- 4 Subdomains and boundary conditions -- 4.1 Combining Dirichlet and Neumann conditions -- 4.1.1 PDE problem -- 4.1.2 Variational formulation -- 4.1.3 FEniCS implementation -- 4.2 Setting multiple Dirichlet conditions -- 4.3 Defining subdomains for different materials -- 4.3.1 Using expressions to define subdomains -- 4.3.2 Using mesh functions to define subdomains -- 4.3.3 Using C++ code snippets to define subdomains -- 4.4 Setting multiple Dirichlet, Neumann, and Robin conditions -- 4.4.1 Three types of boundary conditions -- 4.4.2 PDE problem -- 4.4.3 Variational formulation -- 4.4.4 FEniCS implementation -- 4.4.5 Test problem -- 4.4.6 Debugging boundary conditions -- 4.5 Generating meshes with subdomains -- 4.5.1 PDE problem -- 4.5.2 Variational formulation -- 4.5.3 FEniCS implementation -- 5 Extensions: Improving the Poisson solver -- 5.1 Refactoring the Poisson solver -- 5.1.1 A more general solver function -- 5.1.2 Writing the solver as a Python module -- 5.1.3 Verification and unit tests -- 5.1.4 Parameterizing the number of space dimensions -- 5.2 Working with linear solvers -- 5.2.1 Choosing a linear solver and preconditioner -- 5.2.2 Choosing a linear algebra backend -- 5.2.3 Setting solver parameters -- 5.2.4 An extended solver function -- 5.2.5 A remark regarding unit tests -- 5.2.6 List of linear solver methods and preconditioners -- 5.3 High-level and low-level solver interfaces -- 5.3.1 Linear variational problem and solver objects -- 5.3.2 Explicit assembly and solve -- 5.3.3 Examining matrix and vector values. | |
505 | 8 | _a5.4 Degrees of freedom and function evaluation -- 5.4.1 Examining the degrees of freedom -- 5.4.2 Setting the degrees of freedom -- 5.4.3 Function evaluation -- 5.5 Postprocessing computations -- 5.5.1 Test problem -- 5.5.2 Flux computations -- 5.5.3 Computing functionals -- 5.5.4 Computing convergence rates -- 5.5.5 Taking advantage of structured mesh data -- 5.6 Taking the next step -- References -- Index. | |
588 | _aDescription based on publisher supplied metadata and other sources. | ||
590 | _aElectronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2023. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. | ||
655 | 4 | _aElectronic books. | |
700 | 1 | _aLogg, Anders. | |
776 | 0 | 8 |
_iPrint version: _aLangtangen, Hans Petter _tSolving PDEs in Python _dCham : Springer International Publishing AG,c2017 _z9783319524610 |
797 | 2 | _aProQuest (Firm) | |
830 | 0 | _aSimula SpringerBriefs on Computing Series | |
856 | 4 | 0 |
_uhttps://ebookcentral.proquest.com/lib/bacm-ebooks/detail.action?docID=5588874 _zClick to View |
999 |
_c304944 _d304944 |