| Finite Element Formulation | |
| Introduction | p. 3 |
| Basic Ideas of FEM | p. 3 |
| Formulation of Finite Element Equations | p. 4 |
| Galerkin Method | p. 5 |
| Variational Formulation | p. 8 |
| Example of Shape-function Determination | p. 9 |
| Problems | p. 10 |
| Finite Element Equations for Heat Transfer | p. 13 |
| Problem Statement | p. 13 |
| Finite Element Discretization of Heat Transfer Equations | p. 14 |
| Different Type Problems | p. 16 |
| Triangular Element | p. 17 |
| Problems | p. 19 |
| FEM for Solid Mechanics Problems | p. 21 |
| Problem Statement | p. 21 |
| Finite Element Equations | p. 23 |
| Stiffness Matrix of a Triangular Element | p. 26 |
| Assembly of the Global Equation System | p. 27 |
| Example of the Global Matrix Assembly | p. 29 |
| Problems | p. 30 |
| Finite Element Program | p. 33 |
| Object-oriented Approach to Finite Element Programming | p. 33 |
| Requirements for the Finite Element Application | p. 34 |
| Overall Description | p. 34 |
| User Description | p. 35 |
| User Interface | p. 35 |
| Functions | p. 35 |
| Other Requirements | p. 36 |
| General Structure of the Finite Element Code | p. 36 |
| Problems | p. 38 |
| Finite Element Solution | |
| Finite Element Processor | p. 43 |
| Class Structure | p. 43 |
| Problem Data | p. 49 |
| Data Statements | p. 49 |
| Model Data | p. 51 |
| Load Specification | p. 52 |
| Data Example | p. 54 |
| Data Scanner | p. 57 |
| Problems | p. 61 |
| Finite Element Model | p. 63 |
| Data for the Finite Element Model | p. 63 |
| Class for the Finite Element Model | p. 66 |
| Adding New Data Item | p. 72 |
| Problems | p. 72 |
| Elastic Material | p. 75 |
| Hooke's Law | p. 75 |
| Class for a Material | p. 76 |
| Class for Elastic Material | p. 79 |
| Problems | p. 81 |
| Elements | p. 83 |
| Element Methods | p. 83 |
| Abstract Class Element | p. 84 |
| Element Data | p. 84 |
| Element Constructor | p. 85 |
| Methods of Particular Elements | p. 87 |
| Methods Common to All Elements | p. 88 |
| Container for Stresses | p. 90 |
| Adding New Element Type | p. 91 |
| Problems | p. 92 |
| Numerical Integration | p. 93 |
| Gauss Integration Rule | p. 93 |
| Implementation of Numerical Integration | p. 95 |
| Problems | p. 99 |
| Two-dimensional Isoparametric Elements | p. 101 |
| Shape Functions | p. 101 |
| Strain-Displacement Matrix | p. 104 |
| Element Properties | p. 107 |
| Nodal Equivalent of the Surface Load | p. 108 |
| Example: Computing Nodal Equivalents of a Distributed Load | p. 109 |
| Calculation of Strains and Stresses | p. 110 |
| Problems | p. 111 |
| Implementation of Two-dimensional Quadratic Element | p. 113 |
| Class for Shape Functions and Their Derivatives | p. 113 |
| Element Degeneration | p. 114 |
| Shape Functions | p. 115 |
| Derivatives of Shape Functions | p. 116 |
| One-dimensional Shape Functions and Their Derivatives | p. 118 |
| Class for Eight-node Element | p. 118 |
| Stiffness Matrix | p. 119 |
| Displacement Differentiation Matrix | p. 121 |
| Thermal Vector | p. 122 |
| Nodal Equivalent of a Distributed Load | p. 123 |
| Equivalent Stress Vector | p. 125 |
| Extrapolation from Integration Points to Nodes | p. 126 |
| Other Methods | p. 127 |
| Problems | p. 128 |
| Three-dimensional Isoparametric Elements | p. 129 |
| Shape Functions | p. 129 |
| Strain-Displacement Matrix | p. 131 |
| Element Properties | p. 133 |
| Efficient Evaluation of Element Matrices and Vectors | p. 134 |
| Calculation of Nodal Equivalents for External Loads | p. 134 |
| Example: Nodal Equivalents of a Distributed Load | p. 136 |
| Calculation of Strains and Stresses | p. 138 |
| Extrapolation of Strains and Stresses | p. 138 |
| Problems | p. 139 |
| Implementation of Three-dimensional Quadratic Element | p. 141 |
| Class for Shape Functions and Their Derivatives | p. 141 |
| Element Degeneration | p. 141 |
| Shape Functions | p. 143 |
| Derivatives of Shape Functions | p. 144 |
| Shape Functions and Their Derivatives for an Element Face | p. 147 |
| Class for Twenty-node Element | p. 149 |
| Stiffness Matrix | p. 150 |
| Thermal Vector | p. 152 |
| Nodal Equivalent of a Distributed Load | p. 153 |
| Equivalent Stress Vector | p. 154 |
| Extrapolation from Integration Points to Nodes | p. 155 |
| Other Methods | p. 156 |
| Problems | p. 158 |
| Assembly and Solution | p. 161 |
| Disassembly and Assembly | p. 161 |
| Disassembly of Vectors | p. 161 |
| Assembly of Vectors | p. 163 |
| Assembly Algorithm for Matrices | p. 164 |
| Displacement Boundary Conditions | p. 166 |
| Explicit Specification of Displacement Boundary Conditions | p. 166 |
| Method of Large Number | p. 167 |
| Solution of Finite Element Equations | p. 167 |
| Abstract Solver Class | p. 168 |
| Adding New Equation Solver | p. 170 |
| Problems | p. 171 |
| Direct Equation Solver | p. 173 |
| LDU Solution Method | p. 173 |
| Assembly of Matrix in Symmetric Profile Format | p. 174 |
| LDU Solution Algorithm | p. 178 |
| Tuning of the LDU Factorization | p. 182 |
| Problems | p. 186 |
| Iterative Equation Solver | p. 187 |
| Preconditioned Conjugate Gradient Method | p. 187 |
| Assembly of Matrix in Sparse-row Format | p. 188 |
| PCG Solution | p. 193 |
| Problems | p. 196 |
| Load Data and Load Vector Assembly | p. 199 |
| Data Describing the Load | p. 199 |
| Load Data Input | p. 201 |
| Load Vector Assembly | p. 207 |
| Element Face Load | p. 209 |
| Problems | p. 211 |
| Stress Increment, Residual Vector and Results | p. 213 |
| Computing Stress Increment | p. 213 |
| Residual Vector | p. 215 |
| Results | p. 217 |
| Solution of a Simple Test Problem | p. 219 |
| Problems | p. 220 |
| Elastic-Plastic Problems | p. 223 |
| Constitutive Relations for Elastic-Plastic Material | p. 223 |
| Computing Finite Stress Increments | p. 225 |
| Determining Elastic Fraction of Stress Increment | p. 226 |
| Subincrementation for Computing Stress Increment | p. 226 |
| Material Deformation Curve | p. 227 |
| Implementation of Elastic-Plastic Material Relations | p. 228 |
| Midpoint Integration of Constitutive Relations | p. 234 |
| Nonlinear Solution Procedure | p. 239 |
| Newton-Raphson Method | p. 240 |
| Initial Stress Method | p. 241 |
| Convergence Criteria | p. 242 |
| Example: Solution of an Elastic-Plastic Problem | p. 243 |
| Problems | p. 245 |
| Mesh Generation | |
| Mesh Generator | p. 249 |
| Block Decomposition Method | p. 249 |
| Class Structure | p. 250 |
| Mesh-generation Modules | p. 252 |
| Adding New Module | p. 253 |
| Problems | p. 254 |
| Two-dimensional Mesh Generators | p. 257 |
| Rectangular Block | p. 257 |
| Mesh Inside Eight-node Macroelement | p. 261 |
| Algorithm of Double-quadratic Transformation | p. 261 |
| Implementation of Mesh Generation | p. 264 |
| Example of Mesh Generation | p. 269 |
| Problems | p. 270 |
| Generation of Three-dimensional Meshes by Sweeping | p. 271 |
| Sweeping Technique | p. 271 |
| Implementation | p. 272 |
| Input Data | p. 272 |
| Node Numbering | p. 275 |
| Element Connectivities and Nodal Coordinates | p. 276 |
| Example of Mesh Generation | p. 279 |
| Problems | p. 281 |
| Pasting Mesh Blocks | p. 283 |
| Pasting Technique | p. 283 |
| Implementation | p. 284 |
| Data Input | p. 284 |
| Finding Coincident Nodes | p. 286 |
| Pasting | p. 287 |
| Problems | p. 288 |
| Mesh Transformations | p. 289 |
| Transformation Relations | p. 289 |
| Implementation | p. 291 |
| Input Data | p. 291 |
| Performing Transformations | p. 293 |
| Example of Using Transformations | p. 295 |
| Problems | p. 296 |
| Copying, Writing and Reading Mesh Blocks | p. 297 |
| Copying | p. 297 |
| Writing Mesh to File | p. 299 |
| Reading Mesh from File | p. 300 |
| Problems | p. 302 |
| Visualization of Meshes and Results | |
| Introduction to Java 3D™ | p. 305 |
| Rendering Three-dimensional Objects | p. 305 |
| Scene Graph | p. 306 |
| Scene Graph Nodes | p. 307 |
| Group Nodes | p. 307 |
| Leaf Nodes | p. 308 |
| Node Components | p. 309 |
| Geometry | p. 309 |
| Appearance and Attributes | p. 311 |
| Problems | p. 311 |
| Visualizer | p. 313 |
| Visualization Algorithm | p. 313 |
| Surface of the Finite Element Model | p. 314 |
| Subdivision of Quadratic Surfaces | p. 315 |
| Class Structure of the Visualizer | p. 315 |
| Visualizer Class | p. 316 |
| Input Data | p. 318 |
| Input Data File | p. 318 |
| Class for Data Input | p. 319 |
| Problems | p. 322 |
| Visualization Scene Graph | p. 325 |
| Schematic of the Scene Graph | p. 325 |
| Implementation of the Scene Graph | p. 326 |
| Shape Objects | p. 328 |
| Problems | p. 331 |
| Surface Geometry | p. 333 |
| Creating Geometry of the Model Surface | p. 333 |
| Surface Faces | p. 335 |
| Surface Edges and Nodes | p. 338 |
| Modification of Nodal Coordinates | p. 340 |
| Problems | p. 342 |
| Edge and Face Subdivision | p. 343 |
| Subdivision for Quality Visualization | p. 343 |
| Edge Subdivision | p. 344 |
| Face Subdivision | p. 347 |
| Problems | p. 352 |
| Surface Subdivision | p. 353 |
| Subdivision of the Model Surface | p. 353 |
| Subdivision of Faces into Triangles | p. 356 |
| Arrays for Java 3D | p. 359 |
| Problems | p. 362 |
| Results Field, Color Scale, Interaction and Lights | p. 363 |
| Results Field | p. 363 |
| Color Scale | p. 368 |
| Mouse Interaction | p. 370 |
| Lights and Background | p. 372 |
| Visualization Example | p. 373 |
| Problems | p. 375 |
| Data for Finite Element Solver | p. 377 |
| Data Statements | p. 377 |
| Data Statement | p. 377 |
| Comment Statement | p. 377 |
| Including File | p. 377 |
| End Statement | p. 378 |
| Model Data | p. 378 |
| Parameters | p. 378 |
| Material Properties | p. 378 |
| Finite Element Mesh | p. 379 |
| Displacement Boundary Conditions | p. 379 |
| Load-Specification | p. 380 |
| Load Step Name | p. 380 |
| Parameters | p. 380 |
| Nodal Forces | p. 381 |
| Surface Forces | p. 381 |
| Surface Forces Inside a Box | p. 381 |
| Nodal Temperatures | p. 382 |
| Data for Mesh Generation | p. 383 |
| Mesh-generation Modules | p. 383 |
| Rectangular Mesh Block | p. 384 |
| Mesh Inside Eight-node Macroelement | p. 384 |
| Three-dimensional Mesh by Sweeping | p. 384 |
| Reading Mesh from File | p. 385 |
| Writing Mesh to File | p. 385 |
| Copying Mesh | p. 385 |
| Mesh Transformations | p. 385 |
| Connecting Two Mesh Blocks | p. 386 |
| Data for Visualizer | p. 387 |
| Visualization Data | p. 387 |
| Input Data | p. 387 |
| Example of Problem Solution | p. 389 |
| Problem Statement | p. 389 |
| Mesh Generation | p. 390 |
| Problem Solution | p. 391 |
| Visualization | p. 393 |
| References | p. 397 |
| Index | p. 399 |
| Table of Contents provided by Ingram. All Rights Reserved. |