0% found this document useful (0 votes)
674 views6 pages

2016 Bookmatter SolvingPDEsInPython

Uploaded by

Jese Madrid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
674 views6 pages

2016 Bookmatter SolvingPDEsInPython

Uploaded by

Jese Madrid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

References

[1] M. S. Alnæs, A. Logg, K. B. Ølgaard, M. E. Rognes, and G. N. Wells.


Unified Form Language: A domain-specific language for weak formula-
tions of partial differential equations. ACM Transactions on Mathemat-
ical Software, 40(2), 2014. doi:10.1145/2566630, arXiv:1211.4047.
[2] Douglas N. Arnold and Anders Logg. Periodic table of the finite ele-
ments. SIAM News, 2014.
[3] W. B. Bickford. A First Course in the Finite Element Method. Irwin,
2nd edition, 1994.
[4] D. Braess. Finite Elements. Cambridge University Press, Cambridge,
third edition, 2007.
[5] S. C. Brenner and L. R. Scott. The Mathematical Theory of Finite
Element Methods, volume 15 of Texts in Applied Mathematics. Springer,
New York, third edition, 2008.
[6] A. J. Chorin. Numerical solution of the Navier-Stokes equations. Math.
Comp., 22:745–762, 1968.
[7] P. G. Ciarlet. The Finite Element Method for Elliptic Problems, vol-
ume 40 of Classics in Applied Mathematics. SIAM, Philadelphia,
PA, 2002. Reprint of the 1978 original [North-Holland, Amsterdam;
MR0520174 (58 #25001)].
[8] J. Donea and A. Huerta. Finite Element Methods for Flow Problems.
Wiley Press, 2003.
[9] K. Eriksson, D. Estep, P. Hansbo, and C. Johnson. Computational Dif-
ferential Equations. Cambridge University Press, 1996.
[10] A. Ern and J.-L. Guermond. Theory and Practice of Finite Elements.
Springer, 2004.
[11] Python Software Foundation. The Python tutorial. http://docs.
python.org/2/tutorial.
[12] M. Gockenbach. Understanding and Implementing the Finite Element
Method. SIAM, 2006.

© The Author(s) 2016 143


H.P Langtangen and A. Logg, Solving PDEs in Python,
Simula SpringerBriefs on Computing 3, DOI 10.1007/978-3-319-52462-7
144 REFERENCES

[13] K. Goda. A multistep technique with implicit difference schemes for


calculating two- or three-dimensional cavity flows. Journal of Computa-
tional Physics, 30(1):76–95, 1979.
[14] T. J. R. Hughes. The Finite Element Method: Linear Static and Dynamic
Finite Element Analysis. Prentice-Hall, 1987.
[15] J. M. Kinder and P. Nelson. A Student’s Guide to Python for Physical
Modeling. Princeton University Press, 2015.
[16] Robert C. Kirby. Fiat, a new paradigm for computing finite element basis
functions. ACM Transactions on Mathematical Software, 30(4):502–516,
2004.
[17] Robert C. Kirby and Anders Logg. A compiler for variational forms.
ACM Transactions on Mathematical Software, 32(3):417–444, 2006.
[18] J. Kiusalaas. Numerical Methods in Engineering With Python. Cam-
bridge University Press, 2005.
[19] R. H. Landau, M. J. Paez, and C. C. Bordeianu. Computational Physics:
Problem Solving with Python. Wiley, third edition, 2015.
[20] H. P. Langtangen. Python Scripting for Computational Science.
Springer, third edition, 2009.
[21] H. P. Langtangen. A Primer on Scientific Programming With Python.
Texts in Computational Science and Engineering. Springer, fifth edition,
2016.
[22] H. P. Langtangen and L. R. Hellevik. Brief tutorials on scientific Python,
2016. http://hplgit.github.io/bumpy/doc/web/index.html.
[23] H. P. Langtangen and A. Logg. Solving PDEs in Hours – The FEniCS
Tutorial Volume II. Springer, 2016.
[24] H. P. Langtangen and K.-A. Mardal. Introduction to Numerical Methods
for Variational Problems. 2016. http://hplgit.github.io/fem-book/
doc/web/.
[25] M. G. Larson and F. Bengzon. The Finite Element Method: Theory,
Implementation, and Applications. Texts in Computational Science and
Engineering. Springer, 2013.
[26] A. Logg, K.-A. Mardal, and G. N. Wells. Automated Solution of Partial
Differential Equations by the Finite Element Method. Springer, 2012.
[27] Anders Logg and Garth N. Wells. DOLFIN: Automated finite element
computing. ACM Transactions on Mathematical Software, 37(2), 2010.
[28] M. Pilgrim. Dive into Python. Apress, 2004. http://www.
diveintopython.net.
[29] A. Quarteroni and A. Valli. Numerical Approximation of Partial Dif-
ferential Equations. Springer Series in Computational Mathematics.
Springer, 1994.
[30] A. Henderson Squillacote. The ParaView Guide. Kitware, 2007.
[31] R. Temam. Sur l’approximation de la solution des équations de Navier-
Stokes. Arc. Ration. Mech. Anal., 32:377–385, 1969.
Index

.hdf5 file, 69 constructive solid geometry, 67


.pvd file, 45 contour plot, 137
.vtu file, 45 convergence rate, 132
.xdmf file, 69 coordinates, 123
coupled systems, 73
abstract variational formulation, 15 CSG, 67
advection–diffusion–reaction, 73 curve plots, 34
assemble, 64, 119, 120 cylinder flow, 65
assemble_system, 120
assembly, 119 Debian, 7
DEBUG log level, 67
backward difference, 38 deep copy, 81
boundary conditions, 92 degrees of freedom, 25, 29, 30, 129
boundary markers, 88 degrees of freedrom, 123
boundary specification (class), 88 dimension-independent code, 114
boundary specification (function), 21, Dirichlet boundary condition, 92
22 Dirichlet boundary conditions, 20
BoxField, 136 DirichletBC, 20
Docker, 6
C++ expression syntax, 22 dof to vertex map, 124
CellFunction, 88 dofs, 29
CFD, 56 DOLFIN, 3
channel flow, 60
chemical reactions, 73 editor, 7
Chorin’s method, 57 Eigen, 115
Circle, 102 elasticity, 50
code, 8 Emacs, 7
CompiledSubDomain, 91 energy functional, 130
components, 81 error, 28, 133

© The Author(s) 2016 145


H.P Langtangen and A. Logg, Solving PDEs in Python,
Simula SpringerBriefs on Computing 3, DOI 10.1007/978-3-319-52462-7
146 INDEX

error functional, 131 initial condition, 80


errornorm, 131 installation, 5
exact solution, 16 integration by parts, 13
exporting solutions, 27 interpolate, 40
Expression, 21, 32 interpolation, 41
expression syntax (C++), 22
Jacobian, 50
FacetFunction, 88 Jupyter, 19
fenicsproject, 6
FFC, 3 Krylov solver, 68, 115, 117
FIAT, 3 KrylovSolver, 121
finite element method, 9
finite element space, 20 Lagrange finite element, 20
flat program, 109 lhs, 41, 97
flux functional, 131 linear algebra backend, 115
ft01_poisson.py, 18 linear solver, 115, 117
ft02_poisson_membrane.py, 34 linear system, 64, 120
ft03_heat.py, 44 LinearVariationalProblem, 118
ft04_heat_gaussian.py, 46 LinearVariationalSolver, 118
ft05_poisson_nonlinear.py, 50 Linux, 5
ft06_elasticity.py, 54
Mac OS X, 5
ft07_navier_stokes_channel.py, 65
magnetostatics, 100
ft08_navier_stokes_cylinder.py, 73
MATLAB, 122
ft09_reaction_system.py, 80
Maxwell’s equations, 100
ft10_poisson_extended.py, 97, 117,
Measure, 104
127
Mesh, 19
ft11_magnetostatics.py, 107
mesh, 19
ft12_poisson_solver.py, 111
mesh generation, 102
function evaluation, 126
MeshFunction, 88
function space, 20
method of manufactured solutions, 16,
functionals, 130
48
FunctionSpace, 20
mixed finite element, 76
generate_mesh, 67, 102 mixed function space, 76
GNU/Linux, 5 MixedElement, 76
grad, 58 mshr, 3, 67, 102
multi-material domain, 87
HDF5 format, 69
heat equation, 37 nabla_grad, 54, 58
heterogeneous media, 87 Navier-Stokes equations, 56
near, 62, 85
implicit Euler, 38 Neumann boundary condition, 83, 92
incremental pressure correction scheme, Newton’s method, 50
57 nodal values, 29, 30, 129
infinite domain, 101 nonlinear problem, 46
info, 116 norm, 133
INDEX 147

numbering system of PDEs, 50


cell vertices, 30
degrees of freedom, 30 tensor, 51
terminal window, 18
P1 element, 20 test function, 13
packages, 7 test problem, 16
parameters, 116 TestFunction, 20
ParaView, 27 time step, 38
performance, 6 time-dependent expression, 41
Periodic Table of the Finite Elements, time-dependent problem, 37
20 TimeSeries, 69, 76
PETSc, 3, 115 tolerance, 23
plot, 25 trial function, 13
plotting, 25 TrialFunction, 20
Poisson’s equation, 11
postprocessing, 27, 127 Ubuntu, 7
preconditioner, 68, 115, 117 UFL, 3, 24
PROGRESS log level, 67 unit testing, 111
Progress, 67
project, 40, 128 variational formulation, 12
projection, 41 vector-valued functions, 54
Python, 8 VectorElement, 77
Python module, 111 VectorFunctionSpace, 54, 62
verification, 16, 65, 111
reaction system, 73 vertex to dof map, 124
Reynolds number, 60 vertex values, 29, 123, 124
rhs, 41, 97 Vim, 7
Robin boundary condition, 92 visualization, structured mesh, 136
rounding errors, 23 VTK format, 45

scaling, 55, 60 Windows, 5


scitools, 136
set_log_level, 67 XDMF format, 69
SLEPc, 122
source, 5
space dimensions, 114
split, 81
splitting method, 57
Spyder, 19
strain-rate tensor, 57
stress tensor, 51, 56
structured mesh, 136
subdomains, 83
surface plot (structured mesh), 137
SymPy, 48
sympy, 139
148 INDEX

© The Editor(s) (if applicable) and The Author(s) 2016. This book is published open access.
Open Access This chapter is distributed under the terms of the Creative Commons Attribution
4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, dupli-
cation, adaptation, distribution and reproduction in any medium or format, as long as you give
appropriate credit to the original author(s) and the source, provide a link to the Creative Commons
license and indicate if changes were made.
The images or other third party material in this chapter are included in the work’s Creative Commons
license, unless indicated otherwise in the credit line; if such material is not included in the work’s
Creative Commons license and the respective action is not permitted by statutory regulation, users
will need to obtain permission from the license holder to duplicate, adapt or reproduce the material.

You might also like