Programming Finite Elements in JavaT
Programming Finite Elements in Java™ teaches the reader how to programme the algorithms of the finite element method (FEM) in Java™. The compact, simple code helps the student to read the algorithms, to understand them and thus to be able to refine them. All of the main aspects of finite element techniques are considered: finite element solution; generation of finite element meshes; and visualization of finite element models and results with Java 3D™.

The step-by-step presentation includes algorithm programming and code explanation at each point. Problems and exercises are provided for each chapter, with Java™ source code and problem data sets available from http://extras.springer.com/2010/978-1-84882-971-8.

1128691563
Programming Finite Elements in JavaT
Programming Finite Elements in Java™ teaches the reader how to programme the algorithms of the finite element method (FEM) in Java™. The compact, simple code helps the student to read the algorithms, to understand them and thus to be able to refine them. All of the main aspects of finite element techniques are considered: finite element solution; generation of finite element meshes; and visualization of finite element models and results with Java 3D™.

The step-by-step presentation includes algorithm programming and code explanation at each point. Problems and exercises are provided for each chapter, with Java™ source code and problem data sets available from http://extras.springer.com/2010/978-1-84882-971-8.

99.99 In Stock
Programming Finite Elements in JavaT

Programming Finite Elements in JavaT

by Gennadiy P. Nikishkov
Programming Finite Elements in JavaT

Programming Finite Elements in JavaT

by Gennadiy P. Nikishkov

Hardcover(2010)

$99.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

Programming Finite Elements in Java™ teaches the reader how to programme the algorithms of the finite element method (FEM) in Java™. The compact, simple code helps the student to read the algorithms, to understand them and thus to be able to refine them. All of the main aspects of finite element techniques are considered: finite element solution; generation of finite element meshes; and visualization of finite element models and results with Java 3D™.

The step-by-step presentation includes algorithm programming and code explanation at each point. Problems and exercises are provided for each chapter, with Java™ source code and problem data sets available from http://extras.springer.com/2010/978-1-84882-971-8.


Product Details

ISBN-13: 9781848829718
Publisher: Springer London
Publication date: 01/12/2010
Edition description: 2010
Pages: 402
Product dimensions: 6.30(w) x 9.20(h) x 1.20(d)

About the Author

Gennadiy Nikishkov got his PhD and DSci degrees from the Moscow Engineering Physics Institute (Technical University) in computational mechanics. He held a professorship at the Moscow Engineering Physics Institute. He also had visiting positions at Georgia Institute of Technology (USA), Karlsruhe Research Center (Germany), RIKEN Institute of Physical, Chemical Research (Japan) and GKSS Research Center (Germany) and University of California at Los Angeles (USA). Currently Gennadiy Nikishkov is a Professor at the University of Aizu (Japan). His activities and research interests include computational mechanics, computational fracture mechanics, computational nanomechanics, development of finite element and boundary element codes, scientific visualization and computer graphics. For many years he taught courses on computational modeling using the finite element method.

Table of Contents

Part I Finite Element Formulation

1 Introduction 3

1.1 Basic Ideas of FEM 3

1.2 Formulation of Finite Element Equations 4

1.2.1 Galerkin Method 5

1.2.2 Variational Formulation 8

Example of Shape-function Determination 9

Problems 10

2 Finite Element Equations for Heat Transfer 13

2.1 Problem Statement 13

2.2 Finite Element Discretization of Heat Transfer Equations 14

2.3 Different Type Problems 16

2.4 Triangular Element 17

Problems 19

3 FEM for Solid Mechanics Problems 21

3.1 Problem Statement 21

3.2 Finite Element Equations 23

3.3 Stiffness Matrix of a Triangular Element 26

3.4 Assembly of the Global Equation System 27

3.5 Example of the Global Matrix Assembly 29

Problems 30

4 Finite Element Program 33

4.1 Object-oriented Approach to Finite Element Programming 33

4.2 Requirements for the Finite Element Application 34

4.2.1 Overall Description 34

4.2.2 User Description 35

4.2.3 User Interface 35

4.2.4 Functions 35

4.2.5 Other Requirements 36

4.3 General Structure of the Finite Element Code 36

Problems 38

Part II Finite Element Solution

5 Finite Element Processor 43

5.1 Class Structure 43

5.2 Problem Data 49

5.2.1 Data Statements 49

5.2.2 Model Data 51

5.2.3 Load Specification 52

5.2.4 Data Example 54

5.3 Data Scanner 57

Problems 61

6 Finite Element Model 63

6.1 Data for the Finite Element Model 63

6.2 Class for the Finite Element Model 66

6.3 Adding New Data Item 72

Problems 72

7 Elastic Material 75

7.1 Hooke's Law 75

7.2 Class for a Material 76

7.3 Class for Elastic Material 79

Problems 81

8 Elements 83

8.1 Element Methods 83

8.2 Abstract Class Element 84

8.2.1 Element Data 84

8.2.2 Element Constructor 85

8.2.3 Methods of Particular Elements 87

8.2.4 Methods Common to All Elements 88

8.2.5 Container for Stresses 90

8.3 Adding New Element Type 91

Problems 92

9 Numerical Integration 93

9.1 Gauss Integration Rule 93

9.2 Implementation of Numerical Integration 95

Problems 99

10 Two-dimensional Isoparametric Elements 101

10.1 Shape Functions 101

10.2 Strain-Displacement Matrix 104

10.3 Element Properties 107

10.4 Nodal Equivalent of the Surface Load 108

10.5 Example: Computing Nodal Equivalents of a Distributed Load 109

10.6 Calculation of Strains and Stresses 110

Problems 111

11 Implementation of Two-dimensional Quadratic Element 113

11.1 Class for Shape Functions and Their Derivatives 113

11.1.1 Element Degeneration 114

11.1.2 Shape Functions 115

11.1.3 Derivatives of Shape Functions 116

11.1.4 One-dimensional Shape Functions and Their Derivatives 118

11.2 Class for Eight-node Element 118

11.2.1 Stiffness Matrix 119

11.2.2 Displacement Differentiation Matrix 121

11.2.3 Thermal Vector 122

11.2.4 Nodal Equivalent of a Distributed Load 123

11.2.5 Equivalent Stress Vector 125

11.2.6 Extrapolation from Integration Points to Nodes 126

11.2.7 Other Methods 127

Problems 128

12 Three-dimensional Isoparametric Elements 129

12.1 Shape Functions 129

12.2 Strain-Displacement Matrix 131

12.3 Element Properties 133

12.4 Efficient Evaluation of Element Matrices and Vectors 134

12.5 Calculation of Nodal Equivalents for External Loads 134

12.6 Example: Nodal Equivalents of a Distributed Load 136

12.7 Calculation of Strains and Stresses 138

12.8 Extrapolation of Strains and Stresses 138

Problems 139

13 Implementation of Three-dimensional Quadratic Element 141

13.1 Class for Shape Functions and Their Derivatives 141

13.1.1 Element Degeneration 141

13.1.2 Shape Functions 143

13.1.3 Derivatives of Shape Functions 144

13.1.4 Shape Functions and Their Derivatives for an Element Face 147

13.2 Class for Twenty-node Element 149

13.2.1 Stiffness Matrix 150

13.2.2 Thermal Vector 152

13.2.3 Nodal Equivalent of a Distributed Load 153

13.2.4 Equivalent Stress Vector 154

13.2.5 Extrapolation from Integration Points to Nodes 155

13.2.6 Other Methods 156

Problems 158

14 Assembly and Solution 161

14.1 Disassembly and Assembly 161

14.1.1 Disassembly of Vectors 161

14.1.2 Assembly of Vectors 163

14.1.3 Assembly Algorithm for Matrices 164

14.2 Displacement Boundary Conditions 166

14.2.1 Explicit Specification of Displacement Boundary Conditions 166

14.2.2 Method of Large Number 167

14.3 Solution of Finite Element Equations 167

14.4 Abstract Solver Class 168

14.5 Adding New Equation Solver 170

Problems 171

15 Direct Equation Solver 173

15.1 LDU Solution Method 173

15.2 Assembly of Matrix in Symmetric Profile Format 174

15.3 LDU Solution Algorithm 178

15.4 Tuning of the LDU Factorization 182

Problems 186

16 Iterative Equation Solver 187

16.1 Preconditioned Conjugate Gradient Method 187

16.2 Assembly of Matrix in Sparse-row Format 188

16.3 PCG Solution 193

Problems 196

17 Load Data and Load Vector Assembly 199

17.1 Data Describing the Load 199

17.2 Load Data Input 201

17.3 Load Vector Assembly 207

17.4 Element Face Load 209

Problems 211

18 Stress Increment, Residual Vector and Results 213

18.1 Computing Stress Increment 213

18.2 Residual Vector 215

18.3 Results 217

18.4 Solution of a Simple Test Problem 219

Problems 220

19 Elastic-Plastic Problems 223

19.1 Constitutive Relations for Elastic-Plastic Material 223

19.2 Computing Finite Stress Increments 225

19.2.1 Determining Elastic Fraction of Stress Increment 226

19.2.2 Subincrementation for Computing Stress Increment 226

19.3 Material Deformation Curve 227

19.4 Implementation of Elastic-Plastic Material Relations 228

19.5 Midpoint Integration of Constitutive Relations 234

19.6 Nonlinear Solution Procedure 239

19.6.1 Newton-Raphson Method 240

19.6.2 Initial Stress Method 241

19.6.3 Convergence Criteria 242

19.7 Example: Solution of an Elastic-Plastic Problem 243

Problems 245

Part III Mesh Generation

20 Mesh Generator 249

20.1 Block Decomposition Method 249

20.2 Class Structure 250

20.3 Mesh-generation Modules 252

20.4 Adding New Module 253

Problems 254

21 Two-dimensional Mesh Generators 257

21.1 Rectangular Block 257

21.2 Mesh Inside Eight-node Macroelement 261

21.2.1 Algorithm of Double-quadratic Transformation 261

21.2.2 Implementation of Mesh Generation 264

21.3 Example of Mesh Generation 269

Problems 270

22 Generation of Three-dimensional Meshes by Sweeping 271

22.1 Sweeping Technique 271

22.2 Implementation 272

22.2.1 Input Data 272

22.2.2 Node Numbering 275

22.2.3 Element Connectivities and Nodal Coordinates 276

22.3 Example of Mesh Generation 279

Problems 281

23 Pasting Mesh Blocks 283

23.1 Pasting Technique 283

23.2 Implementation 284

23.2.1 Data Input 284

23.2.2 Finding Coincident Nodes 286

23.2.3 Pasting 287

Problems 288

24 Mesh Transformations 289

24.1 Transformation Relations 289

24.2 Implementation 291

24.2.1 Input Data 291

24.2.2 Performing Transformations 293

24.3 Example of Using Transformations 295

Problems 296

25 Copying, Writing and Reading Mesh Blocks 297

25.1 Copying 297

25.2 Writing Mesh to File 299

25.3 Reading Mesh from File 300

Problems 302

Part IV Visualization of Meshes and Results

26 Introduction to Java 3D™ 305

26.1 Rendering Three-dimensional Objects 305

26.2 Scene Graph 306

26.3 Scene Graph Nodes 307

26.3.1 Group Nodes 307

26.3.2 Leaf Nodes 308

26.4 Node Components 309

26.4.1 Geometry 309

26.4.2 Appearance and Attributes 311

Problems 311

27 Visualizer 313

27.1 Visualization Algorithm 313

27.2 Surface of the Finite Element Model 314

27.3 Subdivision of Quadratic Surfaces 315

27.4 Class Structure of the Visualizer 315

27.5 Visualizer Class 316

27.6 Input Data 318

27.6.1 Input Data File 318

27.6.2 Class for Data Input 319

Problems 322

28 Visualization Scene Graph 325

28.1 Schematic of the Scene Graph 325

28.2 Implementation of the Scene Graph 326

28.3 Shape Objects 328

Problems 331

29 Surface Geometry 333

29.1 Creating Geometry of the Model Surface 333

29.2 Surface Faces 335

29.3 Surface Edges and Nodes 338

29.4 Modification of Nodal Coordinates 340

Problems 342

30 Edge and Face Subdivision 343

30.1 Subdivision for Quality Visualization 343

30.2 Edge Subdivision 344

30.3 Face Subdivision 347

Problems 352

31 Surface Subdivision 353

31.1 Subdivision of the Model Surface 353

31.2 Subdivision of Faces into Triangles 356

31.3 Arrays for Java 3D 359

Problems 362

32 Results Field, Color Scale, Interaction and Lights 363

32.1 Results Field 363

32.2 Color Scale 368

32.3 Mouse Interaction 370

32.4 Lights and Background 372

32.5 Visualization Example 373

Problems 375

A Data for Finite Element Solver 377

A.l Data Statements 377

A.1 1 Data Statement 377

A.1.2 Comment Statement 377

A.1.3 Including File 377

A.1.4 End Statement 378

A.2 Model Data 378

A.2.1 Parameters 378

A.2.2 Material Properties 378

A.2.3 Finite Element Mesh 379

A.2.4 Displacement Boundary Conditions 379

A.3 Load-Specification 380

A.3.1 Load Step Name 380

A.3.2 Parameters 380

A.3.3 Nodal Forces 381

A.3.4 Surface Forces 381

A.3.5 Surface Forces Inside a Box 381

A.3.6 Nodal Temperatures 382

B Data for Mesh Generation 383

B.1 Mesh-generation Modules 383

B.2 Rectangular Mesh Block 384

B 3 Mesh Inside Eight-node Macroelement 384

B 4 Three-dimensional Mesh by Sweeping 384

B.5 Reading Mesh from File 385

B.6 Writing Mesh to File 385

B.7 Copying Mesh 385

B.8 Mesh Transformations 385

B.9 Connecting Two Mesh Blocks 386

C Data for Visualizer 387

C.1 Visualization Data 387

C.2 Input Data 387

D Example of Problem Solution 389

D.1 Problem Statement 389

D.2 Mesh Generation 390

D.3 Problem Solution 391

D.4 Visualization 393

References 397

Index 399

From the B&N Reads Blog

Customer Reviews