[内容简介]
Many students, scientists and researchers have benefited from the practical, programming-oriented style ofProgramming the Finite Element Method, learning how to develop computer programmes which solve specific engineering problems using the finite element method and to assemble their own computer programmes to produce numerical results to solve these problems.This new fifth edition offers well-considered, timely revisions such as programs and subroutine libraries fully updated to Fortran 2003, which are freely available online, and provides updated material on advances in parallel computing, thermal stress analysis, better return algorithms, better treatment of convection boundary conditions, and the interface with mesh partitioning tools (METIS). As in the previous editions, a wide variety of problem solving capabilities are presented including structural analysis, elasticity and plasticity, construction processes in geomechanics, uncoupled and coupled steady and transient fluid flow and linear and nonlinear solid dynamics. It provides a valuable reference and guide to anyone interested in finite element programming – from learners to experienced programmers.
[目录]
Preface to Fifth Edition xv
Acknowledgements xvii
1 Preliminaries: Computer Strategies 1
1.1 Introduction 1
1.2 Hardware 2
1.3 Memory Management 2
1.4 Vector Processors 3
1.5 Multi-core Processors 3
1.6 Co-processors 4
1.7 Parallel Processors 4
1.8 Applications Software 5
1.9 Array Features 9
1.10 Third-party Libraries 17
1.11 Visualisation 18
1.12 Conclusions 23
References 24
2 Spatial Discretisation by Finite Elements 25
2.1 Introduction 25
2.2 Rod Element 25
2.3 The Eigenvalue Equation 28
2.4 Beam Element 29
2.5 Beam with an Axial Force 31
2.6 Beam on an Elastic Foundation 32
2.7 General Remarks on the Discretisation Process 33
2.8 Alternative Derivation of Element Stiffness 33
2.9 Two-dimensional Elements: Plane Stress 35
2.10 Energy Approach and Plane Strain 38
2.11 Plane Element Mass Matrix 40
2.12 Axisymmetric Stress and Strain 40
2.13 Three-dimensional Stress and Strain 42
2.14 Plate Bending Element 44
2.15 Summary of Element Equations for Solids 47
2.16 Flow of Fluids: Navier–Stokes Equations 47
2.17 Simplified Flow Equations 50
2.18 Further Coupled Equations: Biot Consolidation 54
2.19 Conclusions 56
References 56
3 Programming Finite Element Computations 59
3.1 Introduction 59
3.2 Local Coordinates for Quadrilateral Elements 59
3.3 Local Coordinates for Triangular Elements 64
3.4 Multi-Element Assemblies 66
3.5 ‘Element-by-Element’ Techniques 68
3.6 Incorporation of Boundary Conditions 72
3.7 Programming using Building Blocks 75
3.8 Solution of Equilibrium Equations 95
3.9 Evaluation of Eigenvalues and Eigenvectors 96
3.10 Solution of First-Order Time-Dependent Problems 99
3.11 Solution of Coupled Navier–Stokes Problems 103
3.12 Solution of Coupled Transient Problems 104
3.13 Solution of Second-Order Time-Dependent Problems 106
4 Static Equilibrium of Structures 115
4.1 Introduction 115
4.2 Conclusions 157
4.3 Glossary of Variable Names 157
4.4 Exercises 159
References 168
5 Static Equilibrium of Linear Elastic Solids 169
5.1 Introduction 169
5.2 Glossary of Variable Names 221
5.3 Exercises 224
References 232
6 Material Non-linearity 233
6.1 Introduction 233
6.2 Stress–strain Behaviour 235
6.3 Stress Invariants 236
6.4 Failure Criteria 238
6.5 Generation of Body Loads 240
6.6 Viscoplasticity 240
6.7 Initial Stress 242
6.8 Corners on the Failure and Potential Surfaces 243
6.9 Elastoplastic Rate Integration 270
6.10 Tangent Stiffness Approaches 275
6.11 The Geotechnical Processes of Embanking and Excavation 289
6.12 Undrained Analysis 305
6.13 Glossary of Variable Names 322
6.14 Exercises 327
References 331
7 Steady State Flow 333
7.1 Introduction 333
7.2 Glossary of Variable Names 359
7.3 Exercises 361
References 367
8 Transient Problems: First Order (Uncoupled) 369
8.1 Introduction 369
8.2 Comparison of Programs 8.4, 8.5, 8.6 and 8.7 397
8.3 Glossary of Variable Names 416
8.4 Exercises 419
References 422
9 Coupled Problems 423
9.1 Introduction 423
9.2 Glossary of Variable Names 454
9.3 Exercises 459
References 460
10 Eigenvalue Problems 461
10.1 Introduction 461
10.2 Glossary of Variable Names 477
10.3 Exercises 480
References 482
11 Forced Vibrations 483
11.1 Introduction 483
11.2 Glossary of Variable Names 517
11.3 Exercises 521
References 522
12 Parallel Processing of Finite Element Analyses 523
12.1 Introduction 523
12.2 Differences between Parallel and Serial Programs 525
12.3 Graphics Processing Units 589
12.4 Cloud Computing 594
12.5 Conclusions 596
12.6 Glossary of Variable Names 597
References 602
Appendix A Equivalent Nodal Loads 605
Appendix B Shape Functions and Element Node Numbering 611
Appendix C Plastic Stress-Strain Matrices and Plastic Potential Derivatives 619
Appendix D main Library Subprograms 623
Appendix E geom Library Subroutines 635
Appendix F Parallel Library Subroutines 639
Appendix G External Subprograms 645
Author Index 649
Subject Index 653