Эта книга представляет собой учебник, написанный исследователями и разработчиками проектов FEniCS о подходах к разработке математического программного обеспечения. Книга начинается со вступительного раздела для начинающих.
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.
Author(s): Hans Petter Langtangen (auth.), Anders Logg, Kent-Andre Mardal, Garth Wells (eds.)
Series: Lecture Notes in Computational Science and Engineering 84
Edition: 1
Publisher: Springer-Verlag Berlin Heidelberg
Year: 2012
Language: English
Pages: 723
City: Berlin ; New York
Tags: Mathematical Software;Theoretical, Mathematical and Computational Physics;Numeric Computing;Appl.Mathematics/Computational Methods of Engineering;Computational Science and Engineering;Earth Sciences, general
Front Matter....Pages I-XIII
A FEniCS tutorial....Pages 1-73
Front Matter....Pages 75-75
The finite element method....Pages 77-94
Common and unusual finite elements....Pages 95-119
Constructing general reference finite elements....Pages 121-132
Finite element variational forms....Pages 133-140
Finite element assembly....Pages 141-146
Quadrature representation of finite element variational forms....Pages 147-158
Tensor representation of finite element variational forms....Pages 159-162
Discrete optimization of finite element matrix evaluation....Pages 163-169
Front Matter....Pages 171-171
DOLFIN: a C++/Python finite element library....Pages 173-225
FFC: the FEniCS form compiler....Pages 227-238
FErari: an optimizing compiler for variational forms....Pages 239-246
FIAT: numerical construction of finite element basis functions....Pages 247-255
Instant: just-in-time compilation of C/C++ in Python....Pages 257-272
SyFi and SFC: symbolic finite elements and form compilation....Pages 273-282
UFC: a finite element code generation interface....Pages 283-302
UFL: a finite element form language....Pages 303-338
Unicorn: a unified continuum mechanics solver....Pages 339-361
Lessons learned in mixed language programming....Pages 363-381
Front Matter....Pages 383-383
Finite elements for incompressible fluids....Pages 385-397
Front Matter....Pages 383-383
A comparison of finite element schemes for the incompressible Navier–Stokes equations....Pages 399-420
Simulation of transitional flows....Pages 421-440
Computational hemodynamics....Pages 441-454
Cerebrospinal fluid flow....Pages 455-470
Improved Boussinesq equations for surface water waves....Pages 471-504
Applications in solid mechanics....Pages 505-524
A computational framework for nonlinear elasticity....Pages 525-541
Turbulent flow and fluid–structure interaction....Pages 543-552
An adaptive finite element solver for fluid–structure interaction problems....Pages 553-569
Modeling evolving discontinuities....Pages 571-583
Dynamic simulations of convection in the Earth’s mantle....Pages 585-600
Automatic calibration of depositional models....Pages 601-609
A coupled stochastic and deterministic model of Ca 2+ dynamics in the dyadic cleft....Pages 611-627
Electromagnetic waveguide analysis....Pages 629-642
Block preconditioning of systems of PDEs....Pages 643-655
Automated testing of saddle point stability conditions....Pages 657-671
Back Matter....Pages 673-723