书名:Introduction to finite and spectral element methods using MATLAB
责任者:C. Pozrikidis. | Pozrikidis, C.
出版时间:2014
出版社:CRC Press, Taylor & Francis Group
分类号:一般工业技术
版次:Second edition.
前言
Five general classes of numerical methods are available for solving ordinary and partial differential equations encountered in the various branches of science and engineering: finite-difference, finite-volume, finite element, boundary element, spectral and pseudo-spectral methods. The relation and relative merits of these methods are briefly discussed in the “Frequently Asked Questions” section preceding Chapter 1.
An important advantage of the finite element method, and the main reason for its popularity among academics and commercial developers, is the ability to handle solution domains with arbitrary geometry. Another advantage is the ability to produce solutions to problems governed by linear as well as nonlinear differential equations. Moreover, the finite element method enjoys a firm theoretical foundation that is mostly free of ad hoc schemes and heuristic numerical approximations. Although this may be a mixed blessing by being somewhat restrictive, it does inspire confidence in the physical relevance of the solution.
A current search of books in print reveals over two hundred items bearing in their title some variation of the general theme “Finite Element Method”. Many of these books are devoted to special topics, such as heat transfer, computational fluid dynamics (CFD), structural mechanics, and stress analysis in elasticity, while other books are written from the point of view of the applied mathematician or numerical analyst with emphasis on error analysis and numerical accuracy. Many excellent texts are suitable for a second reading, while others do a superb job in explaining the fundamentals but fall short in describing the development and practical implementation of algorithms for non-elementary problems.
The purpose of this text is to offer a venue for the rapid learning of the theoretical foundation and practical implementation of the finite element method and its companion spectral element method. The discussion has the form of a self-contained course that introduces the fundamentals on a need-to-know basis and emphasizes the development of algorithms and the computer implementation of the essential procedures. The audience of interest includes students in science and engineering, practicing scientists and engineers, computational scientists, applied mathematicians, and scientific computing enthusiasts.
Consistent with the introductory nature of this text and its intended usage as a practical primer on finite element and spectral element methods, error analysis is altogether ignored, and only the fundamental procedures and their implementation are discussed in sufficient detail. Specialized topics, such as Lagrangian formulations, free-boundary problems, infinite elements, and disv vi Finite and Spectral Element Methods using Matlab continuous Galerkin methods, are briefly mentioned in Appendix F entitled “Glossary,” which is meant to complement the subject index.
This text has been written to be used for self-study and is suitable as a textbook in a variety of courses in science and engineering. Since scientists and engineers of any discipline are familiar with the fundamental concepts of heat and mass transfer governed by the convection–diffusion equation, the main discourse relies on this prototype. Once the basic concepts have been explained and algorithms have been developed, problems in solid mechanics, fluid mechanics, and structural mechanics are discussed as extensions of the basic approach.
FSELIB
The importance of gaining simultaneous hands-on experience while learning the finite element method, or any other numerical method, cannot be overemphasized. To achieve this goal, the text is accompanied by a library of userdefined Matlab functions and complete finite and spectral element codes composing the software library Femlib. The main codes of Fselib are tabulated after the Contents.
Nearly all functions and complete codes are listed in the text, and only a few lookup tables, ancillary graphics functions, and slightly modified codes are listed in abbreviated form or have been omitted in the interest of space.
The owner of this book can freely download and use the library subject to the conditions of the GNU public license from the web site: http://dehesa. freeshell. org/FSELIB For instructional reasons and to reduce the overhead time necessary for learning how to run the codes, the library is almost completely free of . dat files related to data structures. All necessary parameters are defined in the main code, and finite element grids are generated by automatic triangulation determined by the level of refinement for specific geometries. With this book as a user guide, the reader will be able to immediately run the codes as given, and graphically display solutions to a variety of elementary and advanced problems.
MATLAB
The MATLAB computing environment was chosen primarily because of its ability to integrate numerical computation and computer graphics visualization, and also because of its popularity among students and professionals. For convenience, a brief MATLAB primer is included in Appendix G. Translation of a MATLAB code to another computer language is both straightforward and highly recommended. For clarity of exposition and to facilitate this translation, hidden operations embedded in the intrinsic MATLAB functions are deliberately avoided as much as possible in the FSE LIB codes. Thus, two vectors are added explicitly, component by component, rather than implicitly by issuing symbolic vector addition. Similarly, the entries of a matrix are often initialized and manipulated in a double loop running over the indices, eventhough this makes for a longer code. Second Edition The Second Edition considerably extends the First Edition by including new topics and original material. Clarifications, explanations, detailed proofs, original derivations, new schematic illustrations and graphs have been inserted, and additional solved problems have been added in numerous places. The accommodate the new material, the text has been rearranged into two additional chapters with respect to the First Edition. The discussion of computer programs in the Second Edition refers to the second release of the software library FSE LIB hosting improved and new computer functions and complete finite and spectral element codes. Most important, complete finite element codes incorporating domain discretization modules in three dimensions are provided in the second release ofF SE LIB. Further information, selected links to finite element recourses, and updates of the FSE LIB library can be found at the book Website: http://dehesa. freeshell. org/FSEM2 Comments and corrections from readers are welcome and will be communicated to the audience with due credit at the book Website.
查看更多
目录
Preface xiii
FSELIB software library xvii
Frequently asked questions xxiii
1 The finite element method in one dimension 1
1.1 Steady diffusion with linear elements 1
1.1.1 Linear element interpolation 3
1.1.2 Element grading 4
1.1.3 Galerkin projection 7
1.1.4 Formulation of a linear algebraic system 11
1.1.5 Flux at the Dirichlet end 14
1.1.6 Galerkin finite element equations via the Dirac delta function 16
1.1.7 Relation to the finite difference method 20
1.2 Finite element assembly 21
1.2.1 Assembly of a linear system 25
1.2.2 Thomas algorithm for a tridiagonal system 25
1.2.3 Finite element code 27
1.2.4 Convection (Robin or mixed) boundary condition 34
1.3 Variational formulation and weighted residuals 35
1.3.1 Homogeneous Dirichlet boundary conditions 36
1.3.2 Inhomogeneous Dirichlet boundary conditions 39
1.3.3 Dirichlet/Neumann boundary conditions 41
1.3.4 Neumann/Dirichlet boundary conditions 43
1.4 Helmholtz equation 45
1.5 Steady diffusion with quadratic elements 51
1.5.1 Element nodes and global nodes 51
1.5.2 Galerkin finite element equations 53
1.5.3 Thomas algorithm for pentadiagonal system 57
1.5.4 Element matrices 58
1.5.5 Finite element code 62
1.5.6 Node condensation 67
1.5.7 Arbitrary interior nodes 73
1.6 Steady diffusion with quadratic modal expansions 78
2 Further applications in one dimension 87
2.1 Unsteady diffusion 87
2.1.1 Galerkin projection 88
2.1.2 Integrating ODEs 90
2.1.3 Forward Euler method 90
2.1.4 Numerical stability 91
2.1.5 Finite element code 96
2.1.6 Crank-Nicolson integration 101
2.2 Convection 105
2.2.1 Linear elements 106
2.2.2 Numerical dispersion due to spatial discretization 109
2.2.3 Quadratic elements 110
2.2.4 Integrating ODEs 110
2.2.5 Nonlinear convection 113
2.3 Convection-diffusion 114
2.3.1 Steady linear convection-diffusion 114
2.3.2 Nonlinear convection-diffusion 119
2.4 Beam bending 120
2.4.1 Euler-Bernoulli beam 120
2.5 Finite element methods for beam bending 125
2.5.1 Hermitian elements 126
2.5.2 Galerkin projection 128
2.5.3 Element stiffness and mass matrices 131
2.5.4 One-element cantilever beam 132
2.5.5 Cantilever beam with nodal loads 136
2.6 Beam buckling 140
2.6.1 Tip compression 142
2.6.2 Buckling under a compressive tip force 143
2.6.3 Buckling of a heavy vertical column 145
3 High-order and spectral elements in one dimension 153
3.1 Element nodal sets 154
3.1.1 Lagrange interpolation 155
3.1.2 Evenly spaced nodes 156
3.1.3 Element matrices 158
3.1.4 C°continuity and shared element nodes 159
3.2 Change of element nodal sets 161
3.3 Spectral interpolation 165
3.3.1 Lobatto nodal base 166
3.3.2 Discretization code 174
3.3.3 Legendre polynomials 174
3.3.4 Chebyshev second-kind nodal base 178
3.4 Lobatto interpolation and element matrices 180
3.4.1 Lobatto mass matrix 181
3.4.2 Lobatto integration quadrature 182
3.4.3 Computation of the Lobatto mass matrix 183
3.4.4 Computation of the Lobatto diffusion matrix 191
3.5 Spectral element code for steady diffusion 196
3.5.1 Spectral accuracy 201
3.5.2 Helmholtz equation 206
3.5.3 Node condensation 206
3.6 Modal expansion 212
3.6.1 Relation to the nodal expansion 213
3.6.2 Implementation 215
3.7 Lobatto modal expansion 216
3.7.1 Element diffusion matrix 216
3.7.2 Element mass matrix 220
3.7.3 Modal spectral element method 224
3.8 Arbitrary nodal sets 224
3.9 Unsteady diffusion 231
3.9.1 Crank-Nicolson discretization 233
3.9.2 Forward Euler discretization 240
4 The finite element method in two dimensions 243
4.1 Convection-diffusion in two dimensions 244
4.1.1 Boundary conditions 246
4.1.2 Galerkin projection 246
4.1.3 Domain discretization and interpolation 248
4.1.4 Galerkin finite element equations 250
4.1.5 Implementation of the Dirichlet boundary condition 251
4.1.6 Split nodes 253
4.1.7 Variational formulation 253
4.2 Three-node triangles 257
4.2.1 Element matrices 261
4.2.2 Computation of the element diffusion matrix 263
4.2.3 Computation of the element mass matrix 263
4.2.4 Proof of the integration formula (4.2.36) 265
4.2.5 Computation of the element advection matrix 267
4.3 Grid generation 270
4.3.1 Successive subdivisions 270
4.3.2 Delaunay triangulation 274
4.3.3 Generalized connectivity matrices 279
4.3.4 Element and node labeling schemes 282
4.4 Laplace's equation with the Dirichlet boundary condition 285
4.5 Eigenvalues of the Laplacian operator 293
4.6 Convection-diffusion with the Dirichlet boundary condition 297
4.7 Helmholtz's equation with the Neumann boundary condition . . . . 302
4.8 Laplace's equation with arbitrary boundary conditions 308
4.9 Surface elements 314
4.10 Bilinear quadrilateral elements 317
5 Quadratic and spectral elements in two dimensions 321
5.1 Six-node triangular elements 321
5.1.1 Integral over a triangle 326
5.1.2 Isoparametric interpolation and element matrices 326
5.1.3 Element matrices and integration quadratures 328
5.1.4 Elements with straight edges 335
5.2 Grid generation 340
5.2.1 Circular disk 340
5.2.2 Square 347
5.2.3 L-shaped domain 347
5.2.4 Square with a square or circular hole 347
5.2.5 A rectangle with a circular hole 350
5.3 Laplace and Poisson equations 359
5.3.1 Laplace equation 359
5.3.2 Eigenvalues of the Laplacian operator 365
5.3.3 Poisson equation 365
5.4 Convection-diffusion with the Dirichlet boundary condition 374
5.5 High-order triangle expansions 380
5.5.1 Computation of the node interpolation functions 383
5.5.2 The Lebesgue constant 387
5.5.3 Node condensation 387
5.6 Appell polynomial base 387
5.6.1 Incomplete biorthogonality 390
5.6.2 Incomplete orthogonality 391
5.6.3 Generalized Appell polynomials 391
5.7 Proriol polynomial base 392
5.7.1 Orthogonality 394
5.7.2 Orthogonal expansion 395
5.8 High-order node distributions 396
5.8.1 Node distribution based on a one-dimensional master grid . . 396
5.8.2 Uniform grid 398
5.8.3 Lobatto grid on the triangle 402
5.8.4 The Fekete set 405
5.8.5 Further nodal distributions 406
5.9 Modal expansions in a triangle 407
5.9.1 Implementation of the modal expansion 412
5.9.2 Properties of the modal expansion 412
5.10 Surface elements 413
5.10.1 Surface gradient 414
5.10.2 Grid generation 415
5.11 High-order quadrilateral elements 416
5.11.1 Eight-node serendipity elements 417
5.11.2 12-node serendipity elements 419
5.11.3 Grid nodes via tensor-product expansions 422
5.11.4 Modal expansion 424
6 Applications in mechanics 429
6.1 Elements of elasticity theory 429
6.1.1 Deformation and constitutive equations 431
6.1.2 Linear elasticity 432
6.2 Plane stress and plane strain analysis 434
6.2.1 Plane stress analysis 434
6.2.2 Plane strain analysis 439
6.2.3 Finite element formulation 440
6.3 Finite element plane stress analysis 443
6.3.1 Deformation due to an edge force 445
6.3.2 Deformation due to a body force 460
6.4 Plate bending 470
6.4.1 Equilibrium equations 474
6.4.2 Boundary conditions 475
6.4.3 Constitutive and governing equations 477
6.4.4 Circular plate 480
6.5 Hermite triangles 482
6.6 Morley's triangle 493
6.7 Conforming triangles 496
6.7.1 Six-node, 21-dof triangle 497
6.7.2 The Hsieh-Clough-Tbcher (HCT) element 498
6.8 Finite element methods for plate bending 500
6.8.1 Formulation as a biharmonic equation 506
6.8.2 Formulation as a system of Poisson equations 518
6.9 Buckling and wrinkling 523
7 Viscous flow 541
7.1 Governing equations 541
7.2 Finite element formulation 544
7.2.1 Galerkin projections 544
7.2.2 Discrete equations 546
7.3 Stokes flow 547
7.3.1 Governing equations 547
7.3.2 Galerkin finite element equations 548
7.3.3 Triangularization 552
7.4 Stokes flow in a rectangular cavity 553
7.5 Navier-Stokes flow 562
7.5.1 Steady state 564
7.5.2 Time integration 564
7.5.3 Formulation based on the pressure Poisson equation 566
8 Finite and spectral element methods in three dimensions 569
8.1 Convection-diffusion in three dimensions 569
8.1.1 Boundary conditions 570
8.1.2 Domain discretization 571
8.1.3 Galerkin projection 571
8.1.4 Galerkin finite element equations 572
8.1.5 Element matrices 573
8.1.6 Implementation of the Dirichlet boundary condition 574
8.2 Tetrahedral elements 574
8.2.1 Parametric representation . 576
8.2.2 Integral over the volume of a tetrahedron 578
8.2.3 Element subdivision into eight tetrahedra 579
8.2.4 Element subdivision into 12 tetrahedra 583
8.2.5 Isoparametric interpolation 583
8.2.6 Element diffusion matrix 583
8.2.7 Element mass matrix 594
8.2.8 Proof of the integration formula (8.2.36) 595
8.2.9 Element advection matrix 597
8.3 Domain discretization into four-node tetrahedra 598
8.3.1 Delaunay tessellation 598
8.4 Finite element codes with four-node tetrahedra 605
8.4.1 Laplace's equation 605
8.4.2 Eigenvalues of the Laplacian operator 612
8.5 Orthogonal polynomials over a tetrahedron 615
8.5.1 Karniadakis and Sherwin polynomials 616
8.5.2 Orthogonal expansion 618
8.6 High-order and spectral tetrahedral elements 620
8.6.1 Uniform node distributions 621
8.6.2 Arbitrary node distributions 625
8.6.3 Spectral node distributions 625
8.6.4 Gradient of the element node interpolation functions 628
8.6.5 Numerical integration 628
8.7 10-node quadratic tetrahedra 629
8.7.1 Node interpolation functions 631
8.7.2 Element diffusion and mass matrices 632
8.7.3 Domain discretization 632
8.7.4 Laplace's equation 651
8.7.5 Eigenvalues of the Laplacian operator 651
8.8 Modal expansions in a tetrahedron 661
8.9 Hexahedral elements 664
8.9.1 Parametric representation 665
8.9.2 Integral over the volume of the hexahedron 666
8.9.3 High-order and spectral hexahedral elements 667
8.9.4 Modal expansion 668
Appendices 673
A Mathematical supplement 675
A.l Index notation 675
A.2 Kronecker's delta 675
A.3 Alternating tensor 676
A.4 Two- and three-dimensional vectors 676
A.5 Del or nabla operator 677
A.6 Gradient and divergence 677
A.7 Vector identities 678
A.8 Gauss divergence theorem 679
A.9 Gauss divergence theorem in the plane 680
A.10 Stokes's theorem 681
B Orthogonal polynomials 683
B.l Definitions and basic properties 683
B.1.1 Orthogonality against lower-degree polynomials 684
B.l.2 Roots of orthogonal polynomials 686
B.l.3 Discrete orthogonality 686
B.l.4 Gram polynomials 687
B.1.5 Recursion relation 687
B.1.6 Evaluation as the determinant of a tridiagonal matrix ... . 689
B.l.7 Clenshaw's algorithm 690
B.l.8 Gram-Schmidt orthogonalization 690
B.1.9 Orthonormal polynomials 692
B.l. 10 Christoffel-Darboux formula 692
B.2 Gaussian integration quadratures 694
B.2.1 Evaluation of the integration weights 695
B.2.2 Standard Gaussian quadratures 696
B.3 Lobatto integration quadrature 697
B.4 Chebyshev integration quadrature 699
B.5 Legendre polynomials 700
B.6 Lobatto polynomials 702
B.7 Chebyshev polynomials 703
B.8 Jacobi polynomials 706
C Linear solvers 709
C.l Gauss elimination 709
C.l.l Pivoting 711
C.l.2 Implementation 712
C.l.3 Symmetric matrices 715
C.l.4 Computational cost 715
C.l.5 Gauss elimination code 715
C.1.6 Multiple right-hand sides 715
C.l.7 Computation of the inverse 721
C.l.8 Gauss-Jordan reduction 721
C.2 Iterative methods based on matrix splitting 722
C.2.1 Jacobi's method 723
C.2.2 Gauss-Seidel method 723
C.2.3 Successive over-relaxation (SOR) 724
C.2.4 Operator- and grid-based splitting 724
C.3 Iterative methods based on path search 725
C.3.1 Symmetric and positive-definite matrices 725
C.3.2 General methods 733
C.4 Finite element system solvers 734
D Function interpolation 735
D.l The interpolating polynomial 736
D.l.l Vandermonde matrix 736
D.I.2 Generalized Vandermonde matrix 738
D.I.3 Newton interpolation 739
D.2 Lagrange interpolation 740
D.2.1 Cauchy relations 740
D.2.2 Representation in terms of a generating polynomial 741
D.2.3 First derivative and the node differentiation matrix 742
D.2.4 Representation in terms of the Vandermonde matrix 745
D.2.5 Lagrange polynomials corresponding to polynomial roots . . 748
D.2.6 Lagrange polynomials for Hermite interpolation 749
D.3 Error in polynomial interpolation 751
D.3.1 Convergence and the Lebesgue constant 752
D.4 Chebyshev interpolation 755
D.5 Lobatto interpolation 756
D.6 Interpolation in two and higher dimensions 760
E Element grid generation 763
F Glossary 765
G MATLAB primer 767
G.l Programming in MATLAB 768
G.l.l Grammar and syntax 768
G.l.2 Precision 769
G.l.3 MATLAB commands 771
G.l.4 Elementary examples 773
G.2 MATLAB functions 777
G.3 Numerical methods 780
G.4 MATLAB graphics 781
References 789
Index
查看更多
馆藏单位
中科院文献情报中心