+ All Categories
Home > Documents > Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully...

Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully...

Date post: 18-Jul-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
123
Data Structure and Error Estimation for an Adaptive p-Version Finite Element Method in 2-D and 3-D Solids Anucha Promwungkwa Dissertation submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Mechanical Engineering C. E. Knight, Chair R. G. Mitchiner S. Thangjitham R. L. West A. L. Wicks April 30, 1998 Blacksburg, Virginia Keywords: p-version,p-refinement, error estimate, finite element method, stress error indicator Copyright 1998, Anucha Promwungkwa
Transcript
Page 1: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Data Structure and Error Estimation for an Adaptivep-Version

Finite Element Method in 2-D and 3-D Solids

Anucha Promwungkwa

Dissertation submitted to the Faculty of the

Virginia Polytechnic Institute and State University

in partial fulfillment of the requirements

for the degree of

Doctor of Philosophy

in

Mechanical Engineering

C. E. Knight, Chair

R. G. Mitchiner

S. Thangjitham

R. L. West

A. L. Wicks

April 30, 1998

Blacksburg, Virginia

Keywords:p-version, p-refinement, error estimate, finite element method, stress error indicator

Copyright 1998, Anucha Promwungkwa

Page 2: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Data Structure and Error Estimation for an Adaptivep-Version

Finite Element Method in 2-D and 3-D Solids

Anucha Promwungkwa

Committee Chairman: Prof. C. E. Knight

Mechanical Engineering Department, Virginia Tech

(ABSTRACT )

Automation of finite element analysis based on a fully adaptivep-refinement procedure can

reduce the magnitude of discretization error to the desired accuracy with minimum computational

cost and computer resources. This study aims to 1) develop an efficientp-refinement procedure

with a non-uniformp analysis capability for solving 2-D and 3-D elastostatic mechanics problems,

and 2) introduce a stress error estimate. An element-by-element algorithm that decides the appro-

priate order for each element, where element orders can range from 1 to 8, is described. Global

and element data structures that manage the complex data generated during the refinement pro-

cess are introduced. These data structures are designed to match the concept of object-oriented

programming where data and functions are managed and organized simultaneously.

The stress error indicator introduced is found to be more reliable and to converge faster than

the error indicator measured in an energy norm called the residual method. The use of the stress

error indicator results in approximately 20% fewer degrees of freedom than the residual method.

Agreement of the calculated stress error values and the stress error indicator values confirms the

convergence of final stresses to the analyst. The error order of the stress error estimate is postulated

to be one order higher than the error order of the error estimate using the residual method. The

mapping of a curved boundary element in the working coordinate system from a square-shape

element in the natural coordinate system results in a significant improvement in the accuracy of

stress results.

i

Page 3: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Numerical examples demonstrate that refinement using non-uniformp analysis is superior to

uniformp analysis in the convergence rates of output stresses or related terms. Non-uniformp anal-

ysis uses approximately 50% to 80% less computational time than uniformp analysis in solving

the selected stress concentration and stress intensity problems. More importantly, the non-uniform

p refinement procedure scales the number of equations down by 1/2 to 3/4. Therefore, a small

scale computer can be used to solve equation systems generated using high orderp-elements. In

the calculation of the stress intensity factor of a semi-elliptical surface crack in a finite-thickness

plate, non-uniformp analysis used fewer degrees of freedom than a conventionalh-type element

analysis found in the literature.

ii

Page 4: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Acknowledgments

I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable

suggestions, encouragement, guidance, and the constant support he provided for the entire duration

of my research. I am highly indebted to him for perusing this document and suggesting necessary

corrections. I would like to express my heartfelt appreciation to Dr. R. G. Mitchiner, Dr. S.

Thangjitham, Dr. R. L. West, and Dr. A. L. Wicks for serving on my advisory committee.

I wish to thank the Royal Thai Government for financial support thoughout my study in the

United States. Special thanks to Dr. B.E. Laberge, Dr. J.A. Ballweg, and the staff of the Office of

Educational Affairs in Bangkok and Washington, D.C. for providing me an opportunity to pursue

my Ph.D. at Virginia Tech.

I would like to thank all my friends especially to fellow graduate students in MECA Lab for

their friendship, co-operation, and for standing by me during the hard times.

I would also like to thank Davina Copsy and the staff of the Virginia Tech Writing Center for

their patience working through the finer editing points in this document.

I express my deepest gratitude to my mother, Srikum, and my family for their support and love,

which motivated me to successfully complete this work. It is my mother’s constant encouragement

and advice to be diligent that has made the completion of this work possible. Last, but not the

least, I thank my beloved wife, Angkana, for her strong support and understanding for the 4 years

that she was in Blacksburg and for raising our daughter, Lalida, in far way Thailand during the last

year of my study.

iii

Page 5: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Dedicated to my mother, father, and teachers.

Page 6: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Contents

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

1 Introduction 1

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Objectives of the Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Literature Review 5

2.1 Introduction . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Fundamental ofp-Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.1 Displacement Fields . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.2 Mapping Functions . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Hierarchical Shape Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

v

Page 7: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

2.3.1 Shape Functions of Quadrilateral Elements .. . . . . . . . . . . . . . . . 12

2.3.2 Shape Functions of Brick Elements .. . . . . . . . . . . . . . . . . . . . 13

2.4 Physical Meaning ofp-Displacements . . . .. . . . . . . . . . . . . . . . . . . . 14

2.5 Posteriori Error Estimates and the Element Residual Method . . .. . . . . . . . . 16

2.6 Solution Methods .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.7 Linear Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.8 Object-oriented Programming .. . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Adaptive p-Refinement FEM for 2-D Solids Analysis 28

3.1 Introduction . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2 System of Equations and Element-by-Elementp-Refinement Concept . . . . . . . 29

3.3 Storage Scheme of Element Stiffness Matrix . . . . . . . . . . . . . . . . . . . . . 30

3.4 Solution Technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.5 Error Indicator, the Element Residual Method . . . . . . . . . . . . . . . . . . . . 33

3.6 Data Structure of Element Stiffness Matrix . . . . . . . . . . . . . . . . . . . . . . 34

3.7 Interelement Compatibility . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.8 Degrees of Freedom Numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.9 Consistent Loading and Lumped Load Error Correction Term . . . . . . . . . . . . 38

3.10 Edge Constraints .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.11 Element Stiffness Matrix Calculation and Gauss Integration Points. . . . . . . . . 43

3.12 Numerical Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.13 Closure . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

vi

Page 8: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

4 Adaptive p-Refinement FEM for 3-D Solids Analysis 50

4.1 Introduction . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.2 Map of Element Block Stiffness Matrices . . . . . . . . . . . . . . . . . . . . . . 53

4.3 Interelement Compatibility . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.4 Consistent Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.5 Numerical Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.5.1 Element Distortion Test. . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.5.2 A Semi-elliptical Surface Crack in a Finite-thickness Plate. . . . . . . . . 60

4.6 Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5 Stress Calculation and Stress Error Estimate 71

5.1 Introduction . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.2 Direct Stress Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.3 Stress Error Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.4 Numerical Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.4.1 Convergence of Direct Calculated Stresses .. . . . . . . . . . . . . . . . 78

5.4.2 Comparison Between the Stress Error Indicator and the Residual Method . 81

5.4.3 Importance of Mapping Functions on Stress Accuracy . .. . . . . . . . . 82

5.4.4 Stress Error and Convergence Criteria forp-Refinement Process . . . . . . 85

5.5 Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6 Conclusions 88

vii

Page 9: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

7 Recommendations for Future Work 90

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Appendix A: Hierarchical Shape Functions . . . . . . . . . . . . . . . . . . . . . . . 98

Appendix B: Coordinate Mapping Functions, Quadrilateral Element with Arc Edges105

Appendix C: The p-FEM, Licensing and Source Code Distribution . . . . . . . . . . 107

Vita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

viii

Page 10: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

List of Figures

2.1 Node, edge, and face numbering for bar, quadrilateral, and brick elements. . . . . . 11

2.2 Displacement fields, strain fields, and their departure from the previous order for a

bar element of orders 1 to 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1 Element block stiffness matrices for a quadrilateral element of orderp = 5. . . . . . 35

3.2 Degrees of freedom numbering for an example of 3 quadrilateral elements with 4

refinement steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.3 Consistent loads for quadrilateralh- andp-elements. . . . . . . . . . . . . . . . . 39

3.4 Constraint edge ofp-elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.5 A center cracked plate under tensile stress and finite element models. . . . . . . . 45

3.6 Percent stress intensity factor error versus number of dofs used. . . . . . . . . . . . 46

3.7 p-Distributions for a center cracked plate of mesh B with 11 iterations. . . . . . . . 49

4.1 Element block stiffness matrices of order 6 for a brick element. See Figure 3.1 and

4.2 for the definition of the symbols. . . . . .. . . . . . . . . . . . . . . . . . . . 55

4.2 Element block stiffness matrices of order 7 for a brick element. . . . . . . . . . . . 56

4.3 Interelement interfaces of brick elements. . .. . . . . . . . . . . . . . . . . . . . 57

ix

Page 11: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

4.4 Cantilever beam, ten brick elements. . . . . .. . . . . . . . . . . . . . . . . . . . 59

4.5 End beam deflection versus degree of distortion (b/a) of the cantilever beam with

ten brick elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.6 A semi-elliptical surface crack in a finite-thickness plate under tensile stress. . . . . 63

4.7 Crack-opening displacement,uy, versuspr of the uniformp = 2, 4, and 6 analyses

for a semi-elliptical surface crack. . . . . . .. . . . . . . . . . . . . . . . . . . . 65

4.8 Convergence of stress intensity factor versus degrees of freedom used for a semi-

elliptical surface crack. . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.9 Convergence of stress intensity factor versus computational time for a semi-elliptical

surface crack. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.10 Distribution of element orders after 7 refinement steps (include the solution steps

of p=1 and/orp=2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.1 Problem statement and finite element models for a plate with a transverse hole

under tension. . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.2 Improvement of the interelement traction jumps as the mesh order increases. . . . . 80

5.3 Stress contours of the analyses using curvilinear mapping and bilinear mapping for

the elements around the transverse hole of a plate with a transverse hole problem. . 84

x

Page 12: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

List of Tables

3.1 Comparison of the resulting stress-intensity factors for a center cracked plate. . . . 48

4.1 Number of shape functions and sizes of element stiffness matrix for a brickp-

element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.1 Convergence of the maximum�x values versus the meshp orders ranging from 1

to 8 using uniformp analysis for a plate with a transverse hole. . . . . . . . . . . . 79

5.2 Comparison between the error indicator of the residual method and the stress error

indicator for a plate with a transverse hole. . . . . . . . . . . . . . . . . . . . . . . 83

5.3 The stress errors from the analysis for a plate with a transverse hole of case B. . . . 86

xi

Page 13: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Nomenclature

b - Index number of element block matrixk�.

e - Error.

eu - Displacement error.

eU - Energy error.

e� - Stress error.

di, d0

- Nodal displacements.

dh - p-Displacement.

fi, f0

- Element nodal loads.

fh - Lumped load error correction term.

fp+1h - Lumped load error correction term of orderp+1.

i, j, k, l - Index numbers.

kii - Element stiffness matrix of order 1.

k0

- Element stiffness matrix of an isoparametric element.

kih, khh - Element sub-stiffness matrices.

kp+1nh , kp+1hh - Element sub-stiffness matrices of orderp+1.

k� - Element block stiffness matrix.

p - Order of a finite element or polynomial function.

q - Applied external distributed load.

u - Displacement field.

x, y - Cartesian coordinate system.

xii

Page 14: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

A to T - Symbols of element block metrices.

B - Spatial derivative of shape function.

C - Coordinates of element corner nodes.

Di - Global nodal displacement.

Dh - Globalp-displacement.

E - Matrix of elastic stiffnesses.

F - Global load.

G - Elastic shear modulus.

K - Global stiffness matrix.

KI , K�

I - Stress intensity factor.

M - Element geometry mapping function.

Ni, N0

- Element shape function.

Nh - Hierarchical shape function.

S - Strain operator.

P - Shape function of a bar element.

W - Work.

Greek symbols

� - Stress.

" - Strain.

- Adaptivity parameter.

� - Error indicator.

�� - Energy error indicator.

�E - Error indicator in energy norm.

�� - Stress error indicator.

� - Singularity strength.

xiii

Page 15: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

�, � - Natural coordinate system.

� - Poisson’s ratio.

� - Traction.

xiv

Page 16: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Chapter 1

Introduction

1.1 Motivation

With the increasing use of finite element analysis programs today, developing a reliable and ro-

bust procedure for engineers who do not possess extensive numerical expertise is necessary. An

adaptive mesh refinement finite element method, in short called a refinement method, has been

the subject of extensive investigation with the objective of obtaining solutions with pre-specified

accuracy with minimum cost of model preparation and computation. In a refinement procedure, a

finite element mesh is sequentially upgraded in such a way that the discretization error in the final

solution is reduced and reaches the desired level. The computational effectiveness of a refinement

method depends on several factors including the type of refinement scheme, error estimator used,

equation solver used, and computer programming technique. At present, some commercial finite

element programs have incorporated a refinement procedure that provides promised accuracy of fi-

nal results. However, computational effectiveness of the mentioned programs have not yet reached

an optimum point. The goal of this study is to further investigate and develop a more efficient

adaptive meshp-refinement procedure for two-dimensional and three-dimensional elastostatic me-

chanics problems.

1

Page 17: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Adaptive refinement can beh-refinement type orp-refinement type. In adaptiveh-refinement, a

mesh with a fixed type of low order elements is repeatedly refined by reducing the element sizeh.

In contrast, adaptivep-refinement assumes that elements of the mesh remain fixed in both size and

position. However, the polynomial order,p, of the shape functions is enriched by adding higher

order term(s) without changing the existing lower order shape functions. Practical orders of shape

functions run fromp = 2 to p = 8. These shape functions are generated from the Legendre poly-

nomial and are calledhierarchical shape functions[1]. A combination of theh- andp-refinements

leads to an exponential rate of convergence [2]. Computer implementations of these refinement

procedures are referred to as the adaptiveh-, p-, andhp-version finite element methods [2].

While bothh- andp-refinement methods promise accuracy of final calculated results, an obvi-

ous question is, how do these procedures compare with each other? Theh-refinement procedure

can be directly incorporated into the existing finite element codes. For this reason, theh-refinement

method has been more widespread in the commercial programs than thep-refinement method.

However, mathematical approaches and numerical examinations appearing in the literature have

shown that thep-refinement method offers some significant advantages as compared to theh-

refinement method. The rate of convergence of thep-refinement is more than twice as fast as the

rate of convergence of theh-refinement with respect to number of degrees of freedom [3]. This

improvement includes the presence of singularities [4]. The condition number of stiffness matrices

of p-elements is much lower than that ofh-type elements (Lagrange elements). This allows the use

of an iterative solver in the equation system of thep-refinement method [5, 6]. Mesh generation

for adaptivep-refinement is simpler than for adaptiveh-refinement [7]. The hierarchical shape

functions allow the reusability of all existing element stiffness matrix terms in the next solution.

As a result,p-refinement seems to be a better adaptive refinement approach.

Adaptive p-refinement analysis can be classified into two categories: uniformp and non-

uniform p. In uniform p analysis, the order of the shape function in the finite element mesh is

uniformly increased until the quantities of interest converge to the desired accuracy. The use of

uniformp analysis results in a large system of equations and requires a large computer to solve the

equations, especially for three-dimensional analyses with high order elements [8, 9]. An error in-

2

Page 18: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

dicator is not required for this type ofp-refinement. In non-uniformp analysis, the mesh is locally

upgraded by increasing the order of shape functions in some selected region inside the mesh or in

elements that contain a large amount of error. For this, an error indicator which is used to select

the region or the elements for refinement is required. An error indicator can be considered as a

feedback parameter calculated from the available information of the previous solution. The use of

non-uniformp analysis in adaptivep-refinement will result in an improvement in computational

time and computer memory usage, and may require less computing power for solving the equa-

tions. In this study, an adaptivep-refinement procedure with a non-uniformp analysis capability

is called afully adaptive p-refinement procedure.

Several error estimates have been developed for engineering use. However, they are computa-

tionally intensive and still need to be validated for accuracy in practical engineering analysis [10].

In addition, the mentioned error estimates are in the form of an energy norm. This quantity dif-

fers from the quantities of interest in solids mechanics analysis, which are usually displacements

or stresses at particular points inside a problem domain. Also, the energy convergence may not

guarantee stress convergence. The development of an accurate error estimate for stress will result

in a more efficient way of controlling the refinement process and will provide valuable information

for checking the convergence of final stress results.

A difficulty which arises during the non-uniformp refinement process is that the refinement

procedure creates a very complex database. This is because new degrees of freedom, associated

with newly introduced higher order shape functions, are added through the mesh without an effi-

cient numbering plan. A historical recording has to be done at the element edge, face, and body

levels in order to keep track of information and data needed for the mesh upgrading and for interele-

ment compatibility checking. Element sub-stiffness matrix terms that correspond to the interaction

between the degrees of freedom corresponding to the high order shape functions and the existing

degrees of freedom must be stored in the places where an equation solver and an error estimate can

use them. This complexity creates a need for investigating an adequate global/local data structure

that can store and provide all data generated during the refinement process efficiently.

3

Page 19: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Adaptivep-refinement procedures with a non-uniformp analysis capability found in the lit-

erature are very limited. The procedure proposed by Zienkiewicz,et al [11] provides an error

indicator and a simple adaptive strategy. This error estimate is called theresidual method. A mesh

is upgraded by adding the selected degrees of freedom (associated with the shape functions) that

contain high values of the error indicator into the previous system of equations. This approach has

limited the application ofp-elements to a maximum order of 4 for two-dimensional analysis. There

are two reasons for this: 1) the complexity of data generated from the use of higher order elements

as discussed above, and 2) a finite element solution and error indicator values tend to oscillate if

high order inner shape functions are added into the lower order elements, for example when the

face shape functions of order 4 and higher are added into the quadrilateral element of order 3.

A sufficient database and dynamic data structures (a vector, a stack, a link list, etc.) can be

used for handling the growth of element stiffness matrices and system variable vectors during each

step of the refinement process. The database should efficiently store, provide, and manage all

information and data used by the surrounding functions. Object-oriented programming methods

combined with dynamic data structures can be used for the computer implementation of the fully

adaptivep-refinement finite element method in two- and three-dimensional solids.

1.2 Objectives of the Study

The specific objectives of this study are:

1) to further investigate and implement the fully adaptivep-refinement finite element method

for solving two- and three-dimensional elastostatic mechanics problems with efficient use of higher

orderp-elements for accuracy assessment, and

2) to develop a more accurate and reliable posteriori error estimate for the fully adaptivep-

refinement finite element method that provides improvement over the energy error estimate (the

residual method) found in the literature.

4

Page 20: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Chapter 2

Literature Review

2.1 Introduction

The base of knowledge containing topics related to the adaptivep-refinement finite element method

has increased greatly since Zienkiewicz,et al [12] proposed the concept of hierarchical shape

functions in 1970. Those topics include investigation of hierarchical shape functions, solution

techniques for solving a large and sparse equation system, and posteriori error estimates. This

work uses that knowledge as the base components and further investigates data organization and

information flow management. The fundamental concepts and a brief discussion of the above

topics will be given in this chapter. The physical meaning ofp-displacements is also described.

Concepts related to data structures for engineering software and object-oriented programming are

also reviewed at the end of the chapter.

5

Page 21: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

2.2 Fundamental ofp-Elements

2.2.1 Displacement Fields

In the finite element method, a continuous physical domain is divided into a finite number of

elements. For solids mechanics analysis, continuous displacement fields in each element are ex-

pressed by approximation functions and displacements at selected points in the element space. The

simplest of such points are the corner nodes.

Considering the simplest approximation function in the linear form (bilinear or trilinear for

plane and solid elements, respectively), the element displacement fields,fug, can be written as

[13],

fug =nXi=1

Nidi = [Ni]fdig (2.1)

where the subscripti denotes the relation to corner nodes,[Ni] consists of the element shape

functions of order 1,fdig is the vector of unknown nodal displacements, andn is number of corner

nodes. By using the principle of virtual work, the material behavior relations, and the approximate

displacement fields, the finite element equation is [10]:

[kii] fdig = ffig (2.2)

where[kii] is the element stiffness matrix andffig is the element load vector.[kii] andffig are the

correspondences of the element shape shape functions of order 1,[Ni].

The representation of a continuous field of the problem domain with several piecewise fields

results in discretization error in the finite element solution. This error can be reduced by two

approaches: by decreasing the sizes of the elements, or by using higher order approximation fields.

The conventional approach in developing a higher order element is to add more nodes. Then,

a new set of element shape functions is developed for all nodes. The shape functions may be

6

Page 22: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

generated from the Lagrange polynomial [1]. The element displacement fields similar to equation

(2.1) and the corresponding finite element equation can be rewritten as,

fug =mXl=1

N0

l d0

l = [N0

]fd0g (2.3)

and[k

0

]fd0g = ff 0g (2.4)

where[N0

] contains all new element shape functions of order> 1, fd0g is the nodal displacement

vector, andm is number of all element nodes,[k0

] is the new element stiffness matrix, andnf

0

ois

the new element load vector. This is referred to as a higher-orderh-element and the order usually

does not exceed three. In this approach the values offd0g at all nodes are the total displacement

values. Thus, the displacement results can be directly used in the post-processing stage. A dis-

advantage of the higher orderh-elements is that a new set of shape functions is required upon

changing the element order. All calculations such as element stiffness matrices and element load

vectors have to be repeated.

Another approach in developing a higher order element is to use a polynomial set that allows

the polynomial order to be increased without changing the existing lower order polynomials. The

Legendre polynomial falls in this category. To be precise, Legendre polynomials have an orthog-

onal property of a polynomial of orderp to all of the orders less thanp. The hierarchical shape

functions, generated from the Legendre polynomial, retain the orthogonal property [1]. The ele-

ment order upgrading can be done by adding higher order shape functions into the existing shape

functions present in the element. The element displacement fields similar to equation (2.1) and the

corresponding finite element equation can be written as [2],

fug =nXi=1

Nidi +sX

j=1

Nh;jdh;j = [Ni]fdig+ [Nh]fdhg (2.5)

and

264 kii kih

kTih khh

3758><>:

di

dh

9>=>; =

8><>:

fi

fh

9>=>; (2.6)

7

Page 23: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

where[Nh] contains all newly introduced hierarchical shape functions,fdhg is the vector ofp-

displacements,s is the number of hierarchical shape functions, and[kih], [khh], andffhg are the

element sub-stiffness matrices and the element load vector corresponding to the newly introduced

hierarchical shape functions. An advantage of usingp-elements is that the elements can be up-

graded efficiently to any desired order. Element sub-matrix[kii], which was calculated in equation

(2.2), is reused in equation (2.6). Only the[kih] and[khh] terms are calculated in equation (2.6).

A disadvantage of usingp-elements is that the resultingp-displacements from the finite element

analysis are not the total displacement values. Only the nodal displacements,fdig, have the to-

tal displacement values. Thep-displacement value is the peak amplitude of the associated shape

function (see section 2.4 for the explanation). Thus, in the post-processing stage, displacement

at any point in the element space has to be calculated by using the relation (2.5). Other advan-

tages/disadvantages ofp-elements compared toh-elements were mentioned in chapter 1.

2.2.2 Mapping Functions

Mapping functions of a parametric finite element are the relation between the actual element ge-

ometry in thex, y, zcoordinate system and the cubic geometry of the natural�, �, � coordinate

system. The functions map a cubic element in the�, �, � coordinate system to a distorted shape

element in thex, y, zcoordinate system. The mapping functions are used to generate the Jacobian

transformation matrix, which is used in the calculation of the element stiffness matrix and load vec-

tor. Details of the mapping functions and the Jacobian calculation and usage in the formulation of

isoparametrich-elements are clearly described in the reference books [1, 10, 13]. Forp-elements,

the Jacobian calculation and usage follows the same procedure as that of the linearh-elements.

Also, the mapping functions of ap-element having straight edges are the same as the ones of the

h-element. The difference occurs in the mapping functions of a curved boundary edge or face.

In an isoparametrich-element, the same interpolation functions are used in both the element dis-

placement fields and the mapping functions. However, in ap-element, special element geometry

mapping functions that provide the exact or a highly accurate mapping are required. This is for

8

Page 24: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

two reasons: 1)p-elements in a mesh usually have a large size [2], and 2) an accurate Jacobian is

required for the calculation of the element stiffness matrix and load vector [14].

A brief review of the mapping functions for a two-dimensional quadrilateralp-element is de-

scribed below. More detail can be found in the references [2, 14].

For a quadrilateralp-element having straight edges (a four-node quadrilateral element), the

mapping functions of coordinates(x; y) are linear functions of the corner node coordinates, which

can be written as [2],

x = [Ni(�; �)]fCxg (2.7)

y = [Ni(�; �)]fCyg (2.8)

where[Ni] are the element shape functions,fCg are the coordinates of element corner nodes, the

subscriptsx andy denote the relation to thex, y coordinate system, respectively. These functions

exactly map coordinates (x, y) of a quadrilateral element having straight edges in thex, ycoordinate

system from a square element in the�, � coordinate system. Functions (2.7) and (2.8) are used for

all element orders. Therefore, ap-element of order 1, which has straight edges, is an isoparametric

element and of order> 1 is a subparametric element [13].

For a quadrilateral element having curved edges, a higher order of mapping functions are re-

quired. The relation between thex, yand�, � coordinate systems are now the curvilinear relation

[1]. The curvilinear mapping functions map a curved boundary element in thex, ycoordinate sys-

tem from a square shape element in the�, � coordinate system. General forms of the curvilinear

mapping functions can be written as [2],

x = Mx(�; �) (2.9)

y = My(�; �) (2.10)

whereMx andMy are the mapping functions of the coordinates (x, y). Curvilinear mapping func-

9

Page 25: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

tions are applied for an individual element that has curved edges. For example, in a mesh of a plate

with a transverse hole, the curvilinear mapping functions are applied only to the elements that

define the hole radius. And, the relations (2.7) and (2.8) are applied for the remaining elements

which have straight edges.

Accurate curvilinear mapping functions ofp-elements using the blending function method is

described in the book by Szab´o and Babuˇska [2] and in the paper by Camption and Jarvis [14].

In this study, the accuracy improvement of stresses of an analysis using high orderp-elements

(p > 4) with the inclusion of a curvilinear mapping will be presented. An arbitrary arc (segment

of circle) edge of a quadrilateral element will be implemented and incorporated into the code

developed. Numerical demonstration will be given in chapter 5. The relations used are given in

Appendix B.

2.3 Hierarchical Shape Functions

Hierarchical shape functions were first introduced by Zienkiewicz,et al in 1970 [12]. Nevertheless,

they were not put into a useful form until 1975 by Peano [15]. Babuˇska,et al [16] established a

theoretical basis forp-elements in 1981. Since then, standard forms of the hierarchical shape

functions have been represented in the literature elsewhere [1, 2, 17, 18].

In the following a brief review of the hierarchical shape functions for the quadrilateral and brick

elements which will be used in this study is presented. The shape functions of two- and three-

dimensional elements are simply products of the ones of a one-dimensional element (bar element).

Figure 2.1 shows the arrangement of node, edge, and/or face numbers of bar, quadrilateral, and

brick elements.

In one-dimensional case, the continuity of the displacement field is enforced within the element

space. The element has its natural coordinate,�, in the range (�1;+1). The first set of basis

functions is the linear functions, which are the same as the standard shape functions of the bar

10

Page 26: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

0

ξ

+1-1

ξ

η

2

3

4

1

edge #

4 3

1 2

node #

a. A two-node bar element. b. A four-node plane element.

1

ξ

2

3

4

η

ζ5

78

1012

6

11

9edge #

face # face nodes123456

1-2-3-45-6-7-81-5-6-24-8-7-31-4-8-52-3-7-6

1 2

34

5 6

87

node #

c. An eight-node brick element.

Figure 2.1: Node, edge, and face numbering for bar, quadrilateral, and brick elements.

11

Page 27: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

element. The functions are written as,

P0(�) =1

2(1� �) (2.11)

P1(�) =1

2(1 + �) (2.12)

The higher terms of shape functions are written as [1],

Pp(�) =1

(p� 2)! 2p�2dp�2

d�p�2[(1� �2)p�1] ; p = 2; 3; ::: (2.13)

All shape functions of a bar element are given in Appendix A.1.

2.3.1 Shape Functions of Quadrilateral Elements

A quadrilateral element contains 4 corner nodes, 4 edges, and 1 face. The element has its natural

coordinates,� and�, in the range(�1;+1). The shape functions are divided into three groups

corresponding to the element geometry as follows.

1. Nodal shape functions. There are 4 bilinear shape functions which are the same as the shape

functions of the four-node quadrilateral element. The corresponding degrees of freedom are

the nodal displacements. These shape functions are:

N1 = P0(�)P0(�) (2.14)

N2 = P1(�)P0(�) (2.15)

N3 = P1(�)P1(�) (2.16)

N4 = P0(�)P1(�) (2.17)

2. Edge shape functions. There are (p�1) shape functions associated with every edge. The

shape functions of degreep (p� 2) for each edge are:

12

Page 28: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Np1 = Pp(�)P0(�) (2.18)

Np2 = P1(�)Pp(�) (2.19)

Np3 = Pp(�)P1(�) (2.20)

Np4 = P0(�)Pp(�) (2.21)

3. Face shape functions. There are (p�2)(p�3)/2 face shape functions (p � 4). These shape

functions are expressed as,

N4(1) = P2(�)P2(�); N5

(1) = P2(�)P3(�); N5(2) = P3(�)P2(�); etc: (2.22)

or in the compressed form [2] as,

Np(m) = Pi(�)Pj(�); i; j = 2; 3; :::; p� 2; i + j = p (2.23)

where the superscript ofp denotes the degreep and the indexm is the function number.

All shape functions of a quadrilateral element are given in Appendix A.2.

2.3.2 Shape Functions of Brick Elements

A brick element contains 8 corner nodes, 12 edges, 6 faces, and 1 body. The element space is

(�; �; �), in the range(�1;+1). All shape functions are analogously obtained from the products

Pi(�)Pj(�)Pk(�) which are divided into four groups as follows [2].

1. Nodal shape functions. There are 8 nodal shape functions which are trilinear functions and

are the same as ones of the standard eight-node hexahedral elements. The node shape func-

tion associated with node 5, for example, isP0(�)P0(�)P1(�).

2. Edge shape functions. There are 12(p�1) edge shape functions. For example, the edge shape

function of degreep associated with the edge connecting nodes 3 and 7 isP1(�)P1(�)Pp(�).

13

Page 29: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

3. Face shape functions. There are 3(p�2)(p�3) face shape functions (p� 4). The face shape

functions of degreep associated with the face defined by vertices 2, 3, 7 and 6 are:

Np(m) = P1(�)Pi(�)Pj(�); i; j = 2; 3; :::; p� 2; i + j = p (2.24)

where the indexm is the function number.

4. Body shape functions. There are (p�3)(p�4)(p�5)/6 body shape functions (p � 6). The

functions of degreep are expressed as,

Np(m)

= Pi(�)Pj(�)Pk(�); i; j; k = 2; 3; :::; p� 4; i+ j + k = p (2.25)

where the indexm is the function number.

All shape functions of a brick element are given in Appendix A.3.

2.4 Physical Meaning ofp-Displacements

In this section, the physical meaning ofp-displacements will be described. Consider a straight bar

element having nodes 1 and 2 at the bar ends as shown in Figure 2.2-a. Its nodal displacements are

u1 andu2. The displacement fields of orderp, up, through the bar are [1] :

u1 = [P0 P1]fu1; u2gT (2.26)

up = up�1 +Npdp; p = 2:::8 (2.27)

whereP0 andP1 are the nodal shape functions of nodes 1 and 2, respectively,Pp is the hierarchical

shape function of orderp, anddp is thep-displacemet corresponding toPp. The shape functions

P0, P1, andPp are given in Appendix A.1.

The corresponding strain fields of the above displacement fields are:

14

Page 30: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

x

ξ=+1ξ

ξ=0ξ=−1x1 2

L

xux u1 2

a. Two-node bar element with natural coordinate.

u

ξ=0 ξ=+1

u1

2u

ξ=−1

1

ξ=−1 ξ=0 ξ=+1

0=L

u2 u1ε

u

ξ=−1 ξ=0 ξ=+1

u1

2

d2

u2

ξ=−1 ξ=0 ξ=+1

εL4d2

1

u

ξ=−1 ξ=0 ξ=+1

3

u1

2d u 3

ξ=−1 ξ=0 ξ=+1

L8d3

ε2

u

ξ=−1 ξ=0 ξ=+1

u1

2

d4

u4

ξ=−1 ξ=0 ξ=+1

ε

4L

12d

3

b. Displacement fields. c. Strain fields.

All plots are not to scale.

Figure 2.2: Displacement fields, strain fields, and their departure from the previous order for a bar

element of orders 1 to 4.

15

Page 31: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

"0 = [B0 B1]fu1; u2gT (2.28)

"p�1 = "p�2 +Bpdp; p = 2:::8 (2.29)

where" is the strain field andB is the spatial derivative ofP .

The plots of displacement fields, strain fields, and their departure from the previous orders

along the bar length are illustrated in Figure 2.2. We can see from Figure 2.2-b that the displace-

ment field of order 2,u2, is the sum ofu1 andP2d2, whered2 represents the amplitude of shape

functionP2 and is located at center of the element (� = 0). In the same way,d3 is the amplitude of

shape functionP3 and is located at� = �1=p3. Also, d4 is the amplitude of the shape function

P4 and is located at� = 0. The conclusion can be drawn that thep-displacement is the peak am-

plitude of the associated shape function. Because thep-displacements are not the total value, the

displacement at a point inside of the bar element has to be calculated by using the relation (2.27).

Figure 2.2-c shows the strain fields of the bar element of orders ranging from 1 to 4. Forp =

1, the strain field is constant. Forp = 2, the strain field is linear, and so on. The behavior of the

stress/strain fields of high order quadrilateral elements will be discussed in chapter 5.

2.5 Posteriori Error Estimates and the Element Residual Method

A representation of a continuum model by a certain number of elements with a simple approxima-

tion field causes the presence of discretization error in finite element solutions. This error depends

on many factors such as number of elements, type of element, order of interpolation functions,

shape of elements, singular points in a problem domain, and the representation of applied loads

and support conditions [13]. Thus, in practical engineering analysis, it is necessary to check the

discretization error by observing the convergence of results. A traditional and simple technique is

the observation of the maximum stresses at particular points while a mesh is manually upgraded by

reducing element sizes and/or using elements that have higher orders of interpolation functions. As

16

Page 32: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

the change in maximum stresses reduces, the precision of the results improves. To aid this process,

error estimates have been established for confirming the convergence of finite element solutions.

Calculation of the error using available information from the results is called aposteriori error

estimate.

A posteriori error estimate that involves local computations rather than global computation is

performed on an individual element or on a particular region inside a mesh. The error estimate

provides a feedback parameter that indicates an approximate level of local error of all candidate

elements or regions inside the mesh. This parameter is called anerror indicator [11] which is used

to identify the elements or the regions that contain a high value of estimated error. The selected

elements or regions may then be refined in the next refinement step.

Thus, the purposes of the error estimates in the finite element method [2] are: 1) to approx-

imate an error indicator used for selecting elements or regions for refinement and 2) to calculate

global/local errors used for ensuring the quality of the final results.

Several error estimating methods have been developed during the last decade [2, 11, 19, 20].

Most of them are based on the estimating of an energy norm. Each method has some different

fundamental concept. For example, the well-known ZZ error estimate proposed by Zienkiewicz

and Zhu [20] is based on stress smoothing over a group of low order elements. This error estimate

provide an error indicator which is suitable forh-refinement only.

The first stage of this study is to implement a fully adaptivep-refinement finite element method

with a non-uniformp analysis capability. Thus, it is necessary to select an available error estimate

in the literature that can be used for the implementation. The selected error estimate is theresidual

methodproposed Zienkiewicz,et al [5, 11]. The procedure of the residual method, its limitations,

and the modification for use in this study will be discussed below.

The residual method of error estimation is formulated for a non-uniformp refinement proce-

dure. The procedure provides an error indicator and a simple adaptive strategy. Taking the system

of equations at the previous refinement step witht degrees of freedom, the procedure for the re-

finement step,m, includes the following steps.

17

Page 33: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

1. Temporarily introduce a single degree of freedom associated with a shape function of order

p+1 into thet degrees of freedom system, wherep is the highest order of the shape function

present on the element edge and/or face being considered.

2. Approximate the value of the added degree of freedom based on the previous solution and

use the error norm of this degree of freedom as an error indicator.

3. Repeat the steps 1 and 2 for all possible additional degrees of freedom.

4. Select the degrees of freedom that contain a high value of the error indicator. Then, perma-

nently add them into thet degree of freedom system.

5. Solve the new system of equation and proceed to the next refinement step,m+1.

Wiberg,et al [21] numerically demonstrated the above refinement procedure for plane problems.

This procedure limits the use of the maximum order of the plane elements to order� 4. To

understand in detail, consider the current refinement step,m,with an element under consideration

being a quadrilateral element of order 3. Assume that the element has the complete order 3 (all the

shape functions of order 3 were added into the element). Thus, the degree of freedom candidates

for the next refinement step are the ones that correspond to the shape functions of order 4. The

degrees of freedom that correspond to the face shape function of order 4 (the bubble mode) will

be calledd4x andd4y, whereas those corresponding to the edge shape functions will be calledd4e

terms. At step 2 of the above procedure, the error indicator is calculated for everyd4x, d4y, and

d4e term. At step 4, it is possible that onlyd4x and/ord4y terms are selected for refinement for the

solution of the refinement stepm+1, if they contain higher values of the error indicator than other

degrees of freedom candidates. This allows for selection of some of the degrees of freedom that

correspond to the face shape functions of order 5 (two modes), calledd5;1x , d5;2x , d5;1y , andd5;2y , in

the refinement stepm+2. The procedure is sequentially repeated without restraint in the chosen

degree of freedom. This allows the possibility for the inner shape functions to be much higher

order than the boundary shape functions. As a result, oscillation may occur in the finite element

results and the error indicator values in the subsequent steps of the refinement process. In order

18

Page 34: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

to control such oscillation, the original work recommended a limitation on the maximum order of

plane elements to 4.

The above refinement procedure was recently incorporated into the commercial program I-

DEAS. The maximum order used for the available solid elements is� 5. This assumes that the

face degrees of freedom (p = 4 andp = 5) are located on the element boundaries. No inner modes

are used. The inner modes of solid elements appear at element orderp� 6 [2].

In order to get to the use of the high order element (p � 5 for plane elements andp � 6 for solid

elements) and to control the above mentioned oscillation, this study modifies the above procedure

to operate on an element level. To be specific, the mesh upgrading is done on the element level

instead of on each individual degree of freedom. This modification will be called theelement

residual method. The total element energy error is the sum of all errors that correspond to all

degrees of freedom being added into the element. Details of the error indicator estimation are

described below. Details of the implementation of the adaptivep-refinement procedure will be

described in the next chapter.

Let us consider that, at the refinement stepm, the element displacement fields of an element of

orderp, equation (2.5) on page 7, are rewritten as,

fug = [Ni]fdig+ [Nh]fdhg = [Nn]fdng (2.30)

where[Nn] contains all existing nodal and hierarchical shape functions andfdng is the vector of

known element displacements. The corresponding finite element equation is written as,

[knn] fdng = ffng: (2.31)

If all new hierarchical shape functions of orderp+1, [Nh], are temporarily added into the ele-

ment, the above equations are upgraded to,

nu

0o= bNnc fdng+ bNhc fdhg (2.32)

19

Page 35: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

and

264 knn knh

kTnh khh

3758><>:

dn

dh

9>=>; =

8><>:

fn

fh

9>=>; (2.33)

respectively, wherefdhg are the temporarily added element displacements, which correspond to

the shape function[Nh], [knh] and[khh] are the sub-stiffness matrices that correspond to the inter-

action betweenfdhg andfdng, and whereffhg is the vector of element loads on the added degrees

of freedom. The approximate values offdhg can be obtained from the second equation of equation

(2.33):

fdhg = [khh]�1(ffhg � [knh]

Tfdng): (2.34)

To obtain the approximate value of each component offdhg, equation (2.34) is simply scaled

as,

(dh)j =(fh � fknhgTfdng)j

(khh)j(2.35)

wherej is the index number offdhg and(khh)j is the diagonal term of[khh] at the particularj.

The temporary introduction of a higher order shape function into the existing shape functions

is equivalent to upgrading the element to higher order. Thus, it is implied that the upgraded ele-

ment displacement fields are closer to the exact displacement fields. The difference between the

two fields (before and after adding the higher order shape functions) is defined as the estimated

displacement error [2]. The error in displacement fields can be expressed as,

feug = fu0g � fug: (2.36)

By substitutingfu0g of equation (2.32) andfug of equation (2.30) into equation (2.36), the

approximate displacement errors are:

20

Page 36: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

feug = [Nh]fdhg: (2.37)

An element energy norm is defined on the integration over the element domain,E, which can

be written as [1],

kek2 =ZE

fSeugT [E]fSeug dE (2.38)

wherekek is the element energy norm,S is the strain operator, and[E] is the symmetric matrix of

elastic stiffnesses. This element energy norm is the square root of the energy error, which is the

right hand side term the above equation [1]. By applyingS to equation (2.37), the resulting strain

errors are:

fe"g = fSeug = [Bh]fdhg (2.39)

where[Bh] is the spatial derivatives of[Nh]. SubstitutefSeug into equation (2.38). The result is:

kek2 = fdhgTZE

[Bh]T [E][Bh] dEfdhg (2.40)

where the integration term is element sub-stiffness matrix[khh] of equation (2.33). The element

energy norm is now written as,

kek2 = fdhgT [khh]fdhg: (2.41)

This element energy norm is the total energy norm of all components offdhg. The approximate

element energy norm that corresponds to degree of freedomj is,

kek2j = (khh)j (dh)2j (2.42)

21

Page 37: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

where (dh)j and (khh)j are found in equation (2.35). Substitute(dh)j of equation (2.35) into

equation (2.42). The result is,

kek2j =(fh � fknhgTfdng)2j

(khh)j: (2.43)

The element error indicator,�E, is the sum of all energy norms present in the element,

�E =X

kekj : (2.44)

Since an energy norm is defined as the square root of an energy error,

eU = kek2 (2.45)

whereeU is the element energy error. It is the left hand side term of equations (2.38), (2.40), and

(2.41). The energy error of an individual degree of freedomj is:

(eU)j = kek2j : (2.46)

And, the element total energy error, called theerror indicator of the element residual method,

is written as,

��E =X

(eU)j (2.47)

This error indicator will be used to test the computer program developed in the numerical

examples of chapters 3 and 4. The unit of the energy error is Force-Length.

22

Page 38: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

2.6 Solution Methods

In this section, solution methods for a system of equations that arises from the finite element

method usingp-elements will be briefly reviewed.

It is well-known that direct solvers based on Gaussian elimination provide an exact solution,

giving a predictable solution cost, and ensuring convergence results when used with a refined

mesh. Nevertheless, the direct solvers are not sufficient for solving a sparse equation system with

a large bandwidth, e.g. a system of equations of the finite elementp-method [22]. This is because

the direct solvers require equation reordering to minimize the bandwidth or the front size. They

also perform less efficiently in solving sparse equations. Extensive efforts have been devoted to

the implementation of iterative solution techniques. As a result, many of them are available for

practical use today.

Different strategies for iterative solution schemes have been reported for solving a system of

equations of the finite elementp-method. The Gauss-Seidel iteration technique was used by Peano,

et al [23]. The multigrid method combined with the relaxed Jacobi algorithm was proposed by

Zienkiewicz,et al [5]. Although other methods have appeared, the preconditioned conjugate gra-

dient (PCG) method is the most widely used method currently. However, its performance depends

mainly on the condition number of a coefficient matrix. The preconditioning technique is employed

to reduce the condition number. Wiberg,et al [21, 24] studied and examined the performance of

different preconditioners within the context of the simple adaptivep-refinement with non-uniform

p analysis. Their results show that the combination of direct/PCG methods is a reliable iterative

method. The global preconditioner contains the triangular factors of the global stiffness of order

1 and all diagonal terms of the global stiffness matrices corresponding to the hierarchical levels.

Carnevali and Morris,et al [8, 25] extended Wiberg’s work by introducing a dynamic algorithm

for choosing an optimum preconditioner from the branch of the stiffness matrix terms of the lower

orders. Domain Decomposition (DD) types incorporated with parallel programming techniques

were implemented by Mandel [9, 26, 27] for a very large problem (number of degrees of freedom

�106). Recently, Papadrakakis,et al [22, 28] further investigated the DD type preconditioners.

23

Page 39: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

In the present study, we are searching for a reliable iterative method with a reasonable compu-

tation time. The algorithm of the combination of direct/PCG solvers proposed by Wiberg will be

used. The direct solver could be the frontal solution method [1, 29, 30, 31]. The advantage of the

frontal solver is that it uses less memory and can solve a larger problem compared with standard

Gaussian elimination methods.

2.7 Linear Data Structures

In linear data structures, all elements of a structure have a sequential relationship. An index number

is used to refer to the address of a particular element in the structure. Linear data structures can

be classified into two types: static and dynamic types [32]. For the static type, the data size is

fixed throughout the computation. The simplest form of the static type is anarray. Elements of

an array can be real numbers, integers, boolean, etc. A two-dimensional array of real numbers is

a matrix. For the dynamic data structure, the data size can be changed during computation. The

general forms of the dynamic data structure arevectors, stacksandlinked lists. A vector is a single

index array that allows, for example, inserting and deleting operations. A stack is referred as alast

in andfirst outstructure, where the functionspushandpopare provided to extend and shrink the

stack. A vector and a stack are stored in sequential locations in computer memory, while a linked

list is not. Every element of a linked list is attached to the next element by the referred memory

address. A linked list is very efficient in inserting, deleting, and sorting operations.

Vectors, stacks, and linked lists are easily and efficiently implemented in the C++ computer

language by using atemplatefeature [33, 34]. In this study, a vector is strictly used with numerical

numbers, and a stack and a linked list will be used with other types of objects, e.g. the stack of

node objects. An array will be used where appropriate. A matrix is implemented as an object in

C++ [35]. A sparse matrix can be considered as a stack of block matrices.

24

Page 40: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

2.8 Object-oriented Programming

The concepts of object-oriented programming differ from the concepts of the structured program-

ming in terms of data and function organization. In structured programming, a large program

is divided into several functions (procedures or subroutines) while keeping the global data in the

main program. Each function is designed to be as independent of each other as possible. It receives

input data from outside, performs its function, and may return the results as its output to the caller.

Users may not necessarily know the details inside each function. Only variable types and format

of input and output parameters are required when the function is called. Local variables are hidden

and only used inside each function. A program flow chart usually plays the most important rule

in controlling and driving the direction of data flow between functions. Testing and debugging

are usually done with the whole program. The main advantage of the structured programming

technique is that it fits with the nature of engineering formulae, where input/output parameters and

functions are combined as one independent module. Therefore, Fortran and C have been being

very popular computer languages in numerical engineering software.

Object-oriented programming has taken the best ideas (modularity and abstraction) of struc-

tured programming and combined them with several powerful new concepts:objects, classes,

inheritance, polymorphism, andtemplate[34, 36, 37, 38, 39]. In brief, a program domain is first

decomposed into several small groups of data and associated functions (procedures or subroutines)

calledobjects. Program data are distributed and locally stored in each object. Each object is in-

dependent of each other. Object functions are preferred to manipulate the local data only and to

communicate to other objects. All identified objects and their relations represent the prototype of

the program. In the programming stage, aclassis expressed to describe properties and behavior of

an object. Each class is a data type used to declare objects of that class in the program [40]. These

new data types introduce a strong abstraction that incorporates data into associated functions, by

comparison structured programming isolates functions only. Coding, testing, and debugging can

be done with each class individually. Classes can be related byinheritance. A super-class keeps

common data and functions, while a sub-class derived from the super-class keeps specific data

25

Page 41: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

and functions. For example in this project, the classElementis a super-class, while the class

Quadrilateraland the classBrick are sub-classes derived from the classElement. Polymorphism

allows several object functions to use the same function name, for examplesum(matrix A, matrix

B) andsum(vector A, vector B), where the function executed depends on the object of that func-

tion. Class inheritance and function polymorphism support the features of code reusability and

code extendibility. Atemplateis a new feature in C++ [34]. It allows users to create a template

class of any type. For example, the template classlist can hold any variable type or any object, e.g.

list<integer>, list<boolean>, list<house>, or list<element>.

In recent years, several researchers have applied object-oriented programming techniques in the

finite element method. Ziemmermann,et al [41, 42, 43] have described fundamental principles and

demonstrated the prototype implementation. Later works have appeared in the papers by Cardona,

et al [44], Kong and Chen [45], and Adeli and Yu [46]. They have shown that the contents of a

finite element mesh match with the concept of class inheritance. Most of them have used C++ in

the implementations. As compared to Fortran, C++ provides fast-programming, code reusability,

easy code maintenance, and code extendibility. However, several other considerations for using

object-oriented finite element code are listed below.

1. The numerical execution of a C++ code is not faster than a C or Fortran code. This is because

of the heavier construction of data structures and more function calls in C++ [47].

2. An existing C or Fortran code is not easily converted to C++ code. An object-oriented fash-

ion requires the separation of global data into small groups at the beginning of the program

design stage.

3. However, an existing C or Fortran code can be called or wrapped by C++. In this way, code

investment cost is much cheaper than in creating a new code.

4. Most of the existing finite element codes have been implemented by using Fortran. Those

codes have been heavily used in both commercial and research applications with high relia-

bility. Many of them have successfully been incorporated into a large environment such as

26

Page 42: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

CAD software.

The present study takes the full advantage of the data organization of object-oriented programming

for handling the complexity of data generated from the adaptivep-version finite element method.

27

Page 43: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Chapter 3

Adaptive p-Refinement FEM for 2-D Solids

Analysis

3.1 Introduction

This chapter presents the implementation of the fully adaptivep-refinement finite element method

for solving two-dimensional elastostatic mechanics problems. The code developed aims to in-

corporate two main features for efficient non-uniformp analysis: the use of existing lower order

element stiffness matrices and the use of an iterative solver for solving ongoing equations. The

quadrilateral element is selected for the implementation. The element-by-element procedure for

the adaptivep-refinement scheme, where element orderp can be 1 to 8, and the data structure of

the element stiffness matrix are introduced. The data structure is designed to match the concept

of object-oriented programming where data and functions are managed and organized simultane-

ously. The error indicator used is the element residual method. Numerical examples demonstrate

the ability of non-uniformp analysis compared to uniformp analysis in predicting the stress inten-

sity factor of a cracked plate under tensile stress.

28

Page 44: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

3.2 System of Equations and Element-by-Elementp-Refinement

Concept

Considering a typical displacement-based finite element of a linear elastic problem, the continuous

displacement fields of order 1 for an element space havingmcorner nodes are written as [13],

fug =mXi=1

Nidi = [Ni] fdig (3.1)

where the subscripti denotes the relation to corner nodes,fug is the continuous displacement field

vector,[Ni] are the element shape functions of order 1, andfdig is the vector of nodal degrees of

freedom (dofs). The corresponding finite element equation [10] is:

[kii] fdig = ffig (3.2)

where [kii] is the element stiffness matrix andffig is the element load vector. To construct a

global system, all element stiffness matrices and element load vectors are assembled into the global

stiffness matrix,[K], and the global load vector,fFg, respectively. The resulting equation is

written as,

[Kii] fDig = fFig (3.3)

wherefDig is the unknown vector to be found. Equation (3.3) is solved to obtainfDig.

In the adaptivep-refinement procedure, a local error indicator is estimated for every element.

If a more accurate solution is desired, the elements having an error indicator,�, greater than some

fraction, , of the maximum indicator,�max, are selected for refinement [1]. The adaptivity param-

eter, , defined by� � �max, controls the speed of convergence. As these steps are repeated, the

refined elements will upgrade the existing displacement fields from orderp to p+1. All new dofs

associated with the shape functions of orderp+1 are introduced into the element edges and/or face.

The updated element displacement fields are now written as,

29

Page 45: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

fug = [Ni] fdig+ [Nh] fdhg (3.4)

where the subscripth refers to the hierarchical level,[Nh] are the hierarchical shape functions for

p>1 andfdhg is a vector ofp-dofs.

Consequently, equation (3.2) and equation (3.3) are updated, respectively, as,

264 kii kih

kTih khh

3758><>:

di

dh

9>=>; =

8><>:

fi

fh

9>=>; (3.5)

and, 264 Kii Kih

KTih Khh

3758><>:

Di

Dh

9>=>; =

8><>:

Fi

Fh

9>=>; (3.6)

where the subscriptih refers to the interaction of the nodal dofs with thep-dofs. Next, equation

(3.6) is solved. If a more accurate result is preferred, another step of the refinement is repeated.

The updated global equations can be rewritten, for example, as,

2666664

Kii Kih K0

ih

Khh K0

nh

Sym: K0

hh

3777775

8>>>>><>>>>>:

Di

Dh

D0

h

9>>>>>=>>>>>;=

8>>>>><>>>>>:

Fi

Fh

F0

h

9>>>>>=>>>>>;

(3.7)

where the subscriptnh refers to the interaction of higher orderp-dofs with the lower order ones.

The process ofp-enrichment is repeated until the convergence criteria achieves the desired level.

The criteria could be the energy error, the relative stress between the successive steps, or other

quantities of interest.

3.3 Storage Scheme of Element Stiffness Matrix

Considering the transition of the element stiffness matrix from equation (3.2) to equation (3.5),

the element stiffness matrix of the former equation,[kii], is reused in the latter equation. Only the

30

Page 46: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

[kih] and [khh] terms need to be calculated in equation (3.5). Those element sub-stiffness terms

have to be stored in a way that the equation solver, which will be described in the next section,

can use efficiently. Furthermore, such element stiffness matrix storage should be flexible enough

to accommodate new element sub-stiffness terms that are calculated in the latter refinement steps

during the refinement process.

The following procedure describes a storage scheme of an element stiffness matrix generated

during thep-refinement process. The element stiffness matrix is considered as several small block

matrices. Each block matrix has a size of 2x2 for a two-dimensional plane element or of 3x3 for

a three-dimensional solid element. One block matrix requires only one index pair which gives

the global position of the element [1,1] of that block. Considering that[k] is an element stiffness

matrix, e.g. the coefficient of equation (3.5), it can be written as,

[k] =mXb=1

[k�]b (3.8)

wherem is the number of block matrices present in the element, and[k�] is a block stiffness matrix.

The concept used in this study for storing[k] is that all element block matrices of each element

are stored in a simplestackof typematrix. The new block matrices generated in the latter refine-

ment steps are appended into the end of thestack. From the object-oriented programming point of

view, thestackof block matrices is the attribute of anelement object.

Thus, the global stiffness matrix,[K], e.g. the coefficient of equation (3.6), can be written as,

[K] =nXl=1

[k]l =nXl=1

mXb=1

[k�]b

!l

(3.9)

wheren is the number of elements in the mesh, and[k]l is the element stiffness matrix of element

l. Equation (3.9) implies that the sparse matrix[K] contains all block matrices present in the mesh.

31

Page 47: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

3.4 Solution Technique

A direct equation solver based on Gaussian elimination could be used to solve equation (3.3).

Nevertheless, it is not as readily usable to solve the equations at the latter steps of the refinement

process. This is because the coefficient matrices of the equations become sparse with a large

bandwidth. To be precise, in each refinement step, the new dofs are added throughout the mesh

without any renumbering. The new stiffness matrix terms that correspond to the interaction of

the newp-dofs and the existing ones appear far from the diagonal in the global stiffness matrix.

Efficiency of a direct equation solver is rapidly reduced in solving this type of equation. An

iterative equation solver is an alternative. The combination of a direct solver and a preconditioned

conjugate gradient (PCG) solver proposed by Wiberg,et al [21] was used in this study.

A PCG solver is based on the conjugate gradient (CG) method incorporated with a precondi-

tioning technique for accelerating the convergence rate [48]. In the CG method, a linear equation,

[A]fxg = fbg, is solved by minimizing the energy function,�(x) = 1

2fxgT [A]fxg � fxgTfbg,

where[A] is the symmetric and positive definite matrix,fxg is the vector of unknowns, andfbg

is the vector of the right hand side constants [49]. We can see that the method requires the multi-

plication of the matrix,[A], and the vector,fxg. The[A]fxg multiplication is performed at every

iteration step of the CG method.

For the system of equations of thep-refinement process, e.g. equation (3.6),[A] is [K] andfxg

is fcDg, where[K] is the global stiffness matrix andfcDg is the transformed global displacement

vector. The vectorfcDg is transformed by the preconditioning equation [21]. The[K]fcDg multi-

plication is required for every iteration step of the PCG solver. As shown in the equation (3.9) that

[K] contains all contributions of all element block stiffness matrices. Therefore, the final result of

[K]fcDg multiplication is the sum of the contributions, which can be written as,

[K]fcDg = nXl=1

mXb=1

[k�]bf bdgb!l

(3.10)

where the transformed displacement vectorf bdgb, size of 2 for a plane element or of 3 for a brick

32

Page 48: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

element, is mapped by the global indices stored in the block matrix[k�]b, m is number of block

matrices present in elementl, andn is number of elements present in the mesh.

The[K]fcDg multiplication discussed above is the most heavily computational part of the PCG

solver. Equation (3.10) is given by means of data organization. The computer algorithm of the

PCG solver is given in the book by Golub and Loan [48].

3.5 Error Indicator, the Element Residual Method

The extension of the residual method to the element residual method was described in section

(2.5), which begins on page 17. An element error indicator approximation is based on a temporary

increase in element order fromp to p+1. Then, the energy error of every corresponding dof is cal-

culated based on the available information from the previous solution. The element error indicator

is the sum of all dof contributions. Equation (2.47) is rewritten as,

��p+1 =X

kek2j (3.11)

wherekek2j is the energy error of the dofj. Equation (2.43) can be rewritten as,

kek2j =(f p+1h � fkp+1nh gTfdng)2j

(kp+1hh )j

(3.12)

wherefdng is the resulting vector from the previous solution,fkp+1nh g andkp+1hh are element sub-

stiffness matrices that correspond to the dofj, andf p+1h is the load value.

The major drawback of this error estimate is that it requires the calculation of all values of

kp+1nh andkp+1hh at the intermediate stage between the previous solution and the selection of refined

elements. If we consider the transition from equation (3.2) to equation (3.5), for example, we can

see that thekp+1nh andkp+1hh terms of the element order 1 are[kih] and[khh]. These sub-matrices can

be reused if the element is later upgraded to order 2. Thus, in each refinement step, allkp+1nh and

kp+1hh terms of the refined elements and some of their neighborhood can be immediately used. The

33

Page 49: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

remainingkp+1nh andkp+1hh terms of the mentioned neighborhood and all of the non-refined elements

may be stored. They can be reused in the subsequent refinement steps.

3.6 Data Structure of Element Stiffness Matrix

In this section, we will discuss how block matrices of an element stiffness matrix are treated if new

p-dofs are introduced into the element. The data structure of the element stiffness matrix, called a

map of element block matrices, is introduced.

To understand in detail, an element stiffness matrix of a quadrilateral element of order 5 is

given as an example in Figure 3.1. The block matrices are classified into 11 types represented by

the letters A to L. Each type depends on the interaction characteristics of its dof pair, for example

[G] corresponds to the interaction of face and edgep-dofs. The block [A] is equivalent to the

stiffness matrix of a typical corner-noded quadrilateral element. Its size is 8x8. The blocks [B] and

[F] are special ones in which their rows correspond to all nodal dofs. This map of element block

matrices is very useful in deciding which block matrices will be calculated if newp-dofs are added

into the element. For example, we assume that the current element order is 4 and we would like to

introduce the newp-dofs (x andy directions) of order 5 positioned at the element edge 1 into the

element. In this case, all block matrices of the column (p = 5,e1) will be calculated.

The map in Figure 3.1 supports the requirements of local error estimation and the reuse of

element stiffness matrix terms of orderp+1, kp+1nh andkp+1hh terms of equation (3.12). In brief,

the element edges and face are considered as theobjectsof anelement object. The attributes of an

element edge objectare the variables of block matrices [B] and [D], and ofstacksof block matrices

[E], [I], and [C]. Attributes of anelement face objectinclude the variables of block matrices [F]

and [H], and ofstacksof block matrices [G], [J], and [L]. Those variables are the temporary storage

of the element stiffness terms of orderp+1.

Considering the refinement stepn, for example, the kp+1nh andkp+1hh terms of equation (3.12)

are calculated and stored in the above mentioned manner. After the calculation of the element

34

Page 50: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

B B B B B B B B B B B B F FA

DD

D

D

DD

D

DD

DD

D

H

HH

C C CC C

C

F

G

L

I

EEEE

E E EEEE

E EE E

C CC

CCC

C CC

CCC

I I I J J

E E

GGG

E E E EEEEE

EE

EE E

E EE

EEEE E

E EEE

EEE

EEEE

G GG GG GG G

GGGGG

GGG

GGGG

GGGG

GGGG e1

e2

e3

e4

e1

e2

e3

e4

f1

e1

e2

e3

e4

f1

f2

e1 e2 e3 e4 e1 e2 e3 e4 f1 e1 e2 e3 e4 f1 f2

p p =2 p =5

p

p

== k3hh

k3ih

k3nh

4ihk

k4nh

k4nh

k4hh

k5nh5knh5khh

nh5k

5kihkii k

k

2ih2hh

[k]

SYMMETRY

SYMMETRY

p=5

ξ

η

2

34

1

3

4 2

node #

edge #

1

=1 =4p

p =2

p =1

=4

=5

where,[kp] = sub-matrix of orderp

ei = edge no.i

fj = face shape function no.j

Block Group Size Interaction of dof pair

matrix

[ A ] [kii] matrix 8x8 nodal dofs

[B ] [kih] matrix 8x2 edgep-dofs and nodal dofs

[C ] [knh] matrix 2x2 edgep-dofs of the same order

[D ] [khh] matrix 2x2 edgep-dofs themselves

[E ] [knh] matrix 2x2 edgep-dofs of different order

[F ] [kih] matrix 8x2 facep-dofs and nodal dofs

[G ] [knh] matrix 2x2 facep-dofs and edgep-dofs

[H ] [khh] matrix 2x2 facep-dofs themselves

[I ] [knh] matrix 2x2 edgep-dofs corresponding to an edge shape function

of orderp�5 and facep-dofs

[J ] [knh] matrix 2x2 facep-dofs of different order

[L ] [knh] matrix 2x2 facep-dofs of the same order

Figure 3.1: Element block stiffness matrices for a quadrilateral element of orderp = 5.

35

Page 51: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

error indicator, some of the elements in a mesh will be selected for refinement in the next step

n+1. Thus, all of thekp+1nh andkp+1hh terms of the selected element will be moved from their storage

to the element storage which is[k] of equation (3.8). This process is repeated for all selected

elements. Also, some of thekp+1nh andkp+1hh terms of the neighborhood elements around the selected

element will be done in the same procedure. This is because of the requirement for interelement

compatibility described in the next section.

3.7 Interelement Compatibility

Compatibility must be satisfied across interelement boundaries. Consider two elements having

the same orderp, the first element is upgraded to orderp+1, while, the second element order is

retained atp. Interelement compatibility between both elements is preserved by adding the edge

shape function of orderp+1 into the adjacent edge of the second element. This local upgrade

is permanent. To be precise, the new element block stiffness matrices corresponding to the new

introduced dofs associated with the common edge are added into the second element which is

currently of orderp. If this element is later selected to upgrade to orderp+1 in the subsequent

steps of the refinement process, those block matrices will not have to be recalculated.

3.8 Degrees of Freedom Numbering

The mesh having three quadrilateral elements as in Figure 3.2-a shows element number, nodal

number, and local/global edge numbers. Each node has two dofs which are inx andy directions.

The size of the nodal dofs is 16. Figure 3.2-b shows the first index number (ID) of the nodal dofs.

These ID’s are the global index numbers of the vectorfDig in equation (3.3). In the first step of

the refinement process, we assume that the elements 1 and 2 are selected for refinement. Then, the

newp-dofs (start from 1) are introduced into the global edges as shown in Figure 3.2-c. These ID’s

are the global index numbers of the vectorfDhg in equation (3.6). Also, in three subsequent steps,

36

Page 52: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

E 1 E 2 E 3

1 2 3 4

5678

1

3

4

3 3

4 4

11

a. Element, node, and local/global edge numbers. b. Nodal dof number.

1 3 5 7

9111315

1

3

5

7 11

13

9

7212945

3172541

1153

35

51927

152339

1355

951

37

33

3147,49

d. p-dofs, after 4 refinement steps. The refined

3 7 10

9

1 5 8

2 2 2

refined. elements of steps 2, 3, and 4 are 1, 1&3, and 1&2respectively.

1

43

2 64

c. p-dofs, the first refinement. Elements 1 & 2 are

Figure 3.2: Degrees of freedom numbering for an example of 3 quadrilateral elements with 4

refinement steps.

37

Page 53: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

the refined elements are 1, 1 & 3, and 1 & 2, respectively. The final orders of elements 1, 2, and 3

are 5, 3, and 2, respectively. The first ID of thep-dofs located at the edges and the face are shown

in Figure 3.2-d.

In terms of the storage, ID’s ofp-dofs are locally stored on edges as a stack of numbers where

the first element is of order 2, the second is of order 3, and so on. These ID’s can be used in

local/global mapping and in setting the indices of a block matrix discussed in the previous sections.

3.9 Consistent Loading and Lumped Load Error Correction

Term

The meaning and calculation of element consistent loads,ffig andffhg for equations (3.2) and

(3.5), will be described. Consistent loading is the discrete form resulting from an external traction.

The traction and the consistent loads produced are comparable in both work and force equivalences

[13]. The calculation of consistent loads uses the same shape functions as used in the calculation of

the element stiffness matrix. The expression of an element load vector resulting from the traction

applied on an element surface is written as [13],

ffg =ZS[N ]Tf�g dS (3.13)

whereffg is the resulting load vector,S denotes the surface of an element where the tractionf�g

is applied, and[N ] is evaluated onS.

Considering the case of an external traction as a uniform normal distributed load per length,q,

on a quadratic edge of ah-element as shown in Figure 3.3-a, the calculated work equivalent loads

at nodes 2, 6, and 3 using equation (3.13) areffg = f qL6; 2qL

3; qL

6gT , whereL is the length of the

considered edge. The sum of those nodal forces is equal to the total external force,qL. In other

words, force equivalence is preserved.

However, for ap-element, we start from the solution of the mesh of order 1. The element nodal

38

Page 54: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

4 3

q

1

6

7

8

52 2

374

8 6

qL/6

qL/6

2qL/3L

x

y1 5

a. Consistent nodal loads produced by a uniform distributed load on a quadratic edge for a

quadrilateralh-element. Node 6 is at the mid-edge.

4

1

3

q

12 2

34

L

x

y qL/2

qL/2

1

4

1

2

3

2

3 η

b. Nodal forces produced by a uniform distributed load on an edge of a quadrilateral

p-element.

4

1

x

y

q

3 d3

2 d2

dh

Displacement line along the edge 2

4 2

3

1

p=2

c. Displacement line along edge 2 for ap-Element of order 2.

Figure 3.3: Consistent loads for quadrilateralh- andp-elements.

39

Page 55: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

load terms,ffig, corresponding to the distributed loadq aref qL2; qL

2gT as illustrated in Figure

3.3-b. If the element is later updated to order 2, those nodal loads are retained in use and now

become inconsistent loading (lumped loads) because they only provide force equivalence. In order

to include the work equivalence, the termfh is added into the element. The termfh is the resultant

force produced from the force boundary condition on an element edge associated with the shape

functions of order 2 . Its value is:

fh =Z L

0N2

h q dy =qL

2

Z 1

�1(1� �2)d� =

2qL

3(3.14)

whereN2h is the edge shape function of order 2 associated with the edge 2. In other words, the

termfh represents alumped load error correction term.

In order to show the work equivalence, consider the work done by the external distributed load,

q, in going through the displacement fieldu along the edge 2 as illustrated in Figure 3.3-c. The

value of that work is:

Wq =Z L

0u q dy (3.15)

where the continuous displacement displacement along edge 2 is written as,

u = [N ]fdg = 1

2(1� �)d2 +

1

2(1 + �)d3 + (1� �2)dh (3.16)

whered2 and d3 are the nodal displacements of nodes 2 and 3, respectively, anddh is the p-

displacement of order 2, which is located at the middle of edge 2 (see section (2.4) for the physical

meaning ofp-elements).

By substitutingu anddy = J d� = L2d� into equation (3.15), the resulting consistent work is:

Wq =qL

2d2 +

qL

2d3 +

2qL

3dh: (3.17)

The first two terms on the right hand side represent the work done by lumped loads, and the

last term represents the work done by the lumped load error correction term,fhdh, wherefh is the

40

Page 56: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

lumped load error correction term defined in equation (3.14).

A calculation of an element load vector for arbitrary element shape can be performed by using

numerical integration.

For an element of orderp> 2 under a uniform distributed load, the termfh becomes zero. This

is becauseq is a constant and the integrationR L0 N

ph dy is zero. In this study, the implementation

of the p-method limits the traction to a uniform distributed load. However, for a higher order

of a traction,q is a function of coordinates, and the termsffhg corresponding to element shape

functions of ordersp� 3 are not zeros.

3.10 Edge Constraints

In finite element analysis usingh-elements, a support condition is represented by the nodal restraint

which is set to the known value of dof (usually zero). A mid-edge constraint could be either

the prescribed value of dof or the prescribed relationship between two or more dofs [13]. The

constraint equations can be eliminated from the global system of equation. A simple constraint

equation elimination procedure for a problem having fixed supports is to remove the rows and

columns from the global system of equations. The removed rows and columns are the ones that

correspond to the problem constraints. The remaining global equations are usually solved by using

a direct solver.

However, forp-elements, there is no literature on how to treat an edge constraint. The following

defines the definition ofa constraint edgeof p-elements and describes the constraint equation

elimination. The discussion is limited to a problem which has fixed supports only. Aconstraint

edgeis an element edge that corresponds to a fixed support in the problem. Figure 3.4 shows the

constraint edge of a two element finite element model. The model has edge 4 of element 1 as the

constraint edge. During the refinement process, newp-dofs are introduced into edges and faces as

discussed in section (3.8). The dofs inx direction that are added into edge 4 are the constraint dofs

of the problem. Thus, the equations that correspond to the constraint dofs must be eliminated from

41

Page 57: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

6 5

2

x

y3

4

Element 1 Element 2

1

2

3

4

1

F

Figure 3.4: Constraint edge ofp-elements.

42

Page 58: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

the global system of equations. However, because an iterative solver is used to solve the equations,

the procedure of a constraint equation elimination ofh-elements discussed above is not sufficient

for p-elements. The following technique is used in this study. All constraint dofs of the problem

are forced to zeros. This is possible for a problem with fixed supports. The process of setting the

constraint dofs to zeros is done in the inner iterative loop of the PCG solver. To be specific, the

elements offcDg that correspond to the constraint dofs will be set to zeros before the multiplying

[K]fcDg of equation (3.10) on page 32. This technique ensures that the equations of constraint are

eliminated from the global system of equations.

For an analysis using brick elements, the above technique is extended to the constraint equa-

tions that correspond to face constraint dofs.

3.11 Element Stiffness Matrix Calculation and Gauss Integra-

tion Points

The stiffness matrix calculation procedure forp-elements is the same as the traditional one for

h-elements. The element stiffness matrix formula is expressed [13] as,

[k] =ZV[B]T [E][B]dV (3.18)

where[B] is the strain-displacement matrix and[E] is the material property matrix. The matrix

[k] can be considered as an element block stiffness matrix in which[B] contains the derivatives of

the shape functions that correspond to the considered dof pair. By using Gaussian integration, the

block stiffness matrix[k] can be rewritten as,

[k] =nXi=1

nXj=1

[B]T [E][B] t J wjwi (3.19)

wheret is the element thickness,J is the determinant of the Jacobian matrix,wi andwj are the

weight factors, and wheren is the number of Gauss integration points. For an element having

43

Page 59: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

straight edges, the minimum number of Gauss integration points isp+1 [1]. For an element having

quadratic edges, the number of Gauss integration points isp+2, wherep is the maximum polyno-

mial order of the shape functions that correspond to the considered dof pair. For example,p is 4 if

the dof pair contains the nodal dof and the edge dof associated with the edge shape function order

4. In this case, the resulting[k] is the block matrix[F ] as illustrated in Figure 3.1.

3.12 Numerical Example

The effectiveness of non-uniformp analysis is illustrated. A stress singularity problem in elasto-

static fracture mechanics is selected as an example. The strength of the singularity is presented

in terms of the stress intensity factor,KI . Accurate analysis using anh-method usually requires

singular elements placed around the crack tip [50]. The singular element is an eight-node isopara-

metric element with the mid-side nodes moved to a quarter-point closest to the crack tip.

The selected problem is a center cracked plate under tensile stress. Figure 3.5 shows the prob-

lem statements and the finite element models. Adaptivity parameter is 0.3 for non-uniformp

analyses. The computer used was a PC with a Pentium 133 MHz processor. A stress intensity

factorKI is approximated from the crack deformation [51],

KI =uy

Cpr; C =

� + 1

2Gp2�

(3.20)

whereuy is the crack opening at a distance,r, from the crack tip,G is the elastic shear modulus

and� = (3�4�) for plane strain and� = (3��)=(1+�) for plane stress, and� is Poisson’s ratio.

The resultingKI ’s are compared to the experimental results given in the book by Murakami [52].

Figure 3.6 presents the reduction of percent error of stress intensity factor against number of

dofs. The accuracy achieved is less than 5% error for all analyses. The ratio of dofs used in the

non-uniformp analysis to ones used in the uniformp analysis is approximately 1/3 and 1/6 for

mesh A and B, respectively. Also, computational time used in the non-uniformp analysis is less

44

Page 60: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

σ 0σ 0

2a wδ

y 1.0

x

σ =

1.0

0

a =

0.2

5w

/2 =

0.5

a. Center cracked plate. b. Finite element model.

c. Mesh A, 16 elements, 25 nodes. d. Mesh B, 48 elements, 63 nodes.

Material properties are: E = 1,�= 0.3.

Figure 3.5: A center cracked plate under tensile stress and finite element models.

45

Page 61: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

0

10

20

30

40

50

100 1000

Per

cen

t st

ress

in

ten

sity

fac

tor

erro

r, %

Number of degrees of freedom

p=1

2 3

4 5 6 7 8

p=1

2 3

45 6 7 8

Mesh A, uniform p analysisMesh B, uniform p analysis

Mesh A, non-uniform p analysisMesh B, non-uniform p analysis

Figure 3.6: Percent stress intensity factor error versus number of dofs used.

46

Page 62: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

than 20% of the time used in the uniformp analysis as listed in Table 3.1. Figure 3.7 shows the

final p-distributions from the analysis of the mesh B after eleven iterations. It can be seen that

only elements around the crack tip have order 8, while others have order less than 5. This local

increment improves the accuracy from approximately 10% error (atp=4 in Figure 3.6) to 5% error.

3.13 Closure

A fully adaptivep-refinement finite element code for solving two-dimensional solids has been de-

veloped. The element-by-element refinement algorithm was introduced to take advantage of non-

uniformp analysis using a high element order. Computational robustness of the code developed is

based on the use of direct/PCG solvers, retaining use of the existing lower order element stiffness

matrices, and retaining use of the by-product element stiffness matrices of orderp+1 resulting from

the error estimate using the element residual method.

Numerical examples demonstrate that the ratio of computational time used in non-uniformp

analysis to that used in uniformp analysis is about 1/5 in solving a two-dimensional stationary

fracture mechanics problem.

Another goal of this effort is to extend the code developed to solve three-dimensional elasto-

static problems using non-uniformp analysis. The brick element was added into the code. The

details of implementation and numerical demonstrations are presented in the next chapter.

47

Page 63: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Table 3.1: Comparison of the resulting stress-intensity factors for a center cracked plate.

Case Number of iterations FinalK�

I Computational time (s)

Mesh A

Uniform p p= 8 1.12 198

Non-uniformp 9 1.12 33

Mesh B

Uniform p p= 8 1.13 634

Non-uniformp 11 1.13 54

Murakami [52] - 1.19 -

K�

I = KI=�0p�a.

48

Page 64: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Figure 3.7:p-Distributions for a center cracked plate of mesh B with 11 iterations.

49

Page 65: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Chapter 4

Adaptive p-Refinement FEM for 3-D Solids

Analysis

4.1 Introduction

In this chapter, an implementation of a three-dimensional adaptivep-refinement procedure based

on the element-by-element algorithm will be presented. The procedure is extended from the two-

dimensional procedure developed in the previous chapter. The parametric brick element is selected

for this implementation. The current state of the art of the finite elementp-method for three-

dimensional solids is briefly reviewed. Several topics related to the above mentionedp-refinement

procedure are explained. In order to show accuracy and efficiency in the use ofp-elements and

the use of non-uniformp analysis in solving elastostatic three-dimensional solids problems, two

benchmark problems were selected as the examples. The first problem is a simple cantilever beam.

It demonstrates the acceptable element distortion level for a high order element by changing the

element geometry. The second problem is a semi-elliptical surface crack in a finite-thickness plate

under tensile stress. An accurate stress intensity factor at the crack front is predicted.

As mentioned in chapter 1 that most of the commercial finite elementp-method programs

50

Page 66: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

for three-dimensional solids analysis are limited to uniformp analysis. Those programs usually

generate a very large system of equations and require large computer resources to solve the equa-

tions. Numerical examples using the mentioned commercial programs for solving practical three-

dimensional solids problems were demonstrated in the works by Carnevaliet al [8] and Andersson

and Falk [53]. A recent version of the program I-DEAS (SDRC) has added a non-uniformp analy-

sis capability, but the only available element is the tetrahedral element. Thep-refinement procedure

of the program I-DEAS simply follows the simple procedure proposed by Zienkiewicz,et al [11]

as described in section (2.5) on page 17. The program limits the use of the element order to 5

or limits the use to nodal, edge, and face shape functions only. The body shape functions of the

tetrahedral element appears in the element of order� 6 [2].

The procedure proposed in this study is to upgrade the mesh by using the element-by-element

refinement algorithm as presented in section (3.2).

Published work related to the implementation of a three-dimensionalp-element is very limited.

The sets of shape functions for the brick and tetrahedral elements, which are extended from the

quadrilateral and triangular elements respectively, are given in the book by Szab´o and Babuˇska [2].

Those shape functions of the brick element are used in this study. The only modification is the

sign of the even functions. Carnevali,et al [8] introduced a new set of hierarchical shape functions

for the tetrahedral element. An investigation of the iterative solvers in solving a large system

of equations (104 to 106 dofs) generated from uniformp analysis was presented in the works by

Morris, et al [25] and Mandel [9].

The brick element consists of 8 corner nodes, 12 edges, 6 faces, and 1 body. The numbering

of those entities is presented in Figure 2.1-c on page 11. A model input data file provides a list

of eight corner nodes in order. The numbers of edges and faces are generated from the provided

node information. For example, face 3 is generated from the corner nodes 1, 5, 6, and 2. Table

4.1, in which the element orders ranging from 1 to 8, shows the number of shape functions and the

sizes of the element stiffness matrix. All element shape functions used in this study are given in

Appendix A.

51

Page 67: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Table 4.1: Number of shape functions and sizes of element stiffness matrix for a brickp-element.

Element Number of shape Total number of

order functions added degrees of freedom

1 8 node’s 24

2 12 edge’s 60

3 12 edge’s 96

4 12 edge’s + 6 face’s 150

5 12 edge’s + 18 face’s 222

6 12 edge’s + 36 face’s + 1 body’s 315

7 12 edge’s + 60 face’s + 3 body’s 432

8 12 edge’s + 90 face’s + 6 body’s 576

52

Page 68: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

An effort had been put in computer-coding and incorporating the brick element into the code

developed in the previous chapter. The code was initially designed to support the multi-dofs per

node, and to support an element having an arbitrary number of nodes, edges, and faces. Neverthe-

less, the characteristics of the brick element itself created some difficulties. Those characteristics

include the appearance of the body shape functions in the element orders� 6, the requirement of

the interelement compatibility across element faces and edges, and the calculation of the consistent

loading terms. The topics presented in the subsequent sections deal with the mentioned behavior

of the brick element.

However, it is noted that the contents provided in this chapter are not complete without the

understanding of the implementation of the two-dimensional element. The equation solvers and the

error indicator calculation using the element residual method can be shared with the quadrilateral

element. The element stiffness matrix calculation, the degrees of freedom numbering, and the

edge/face constraint treatment can be analogously extended from the two-dimensional element.

4.2 Map of Element Block Stiffness Matrices

The extension of the map of element block stiffness matrices from the quadrilateral element to the

one for the brick element will be described. The brick element contains more nodes, edges, and

faces. In solids analysis, the element has three dofs per node, or the size of a block matrix is 3x3.

The map of block matrices described in section (3.6) can be applied for the brick element up to

order 5. However, the appearance of the body shape functions in the element brick orders� 6

results in the element block matrix terms that correspond to the interaction between the body dofs

with the nodal, edge, face, or body dofs. The expansion of the map to support the presence of the

element block matrices that correspond to the body dofs is necessary.

The map of block matrices illustrated in Figure 3.1 on page 35 contains eleven types of block

matrices lettered from A to L. For the brick element, the additional eight types of block matrices

are introduced into the map. The letters M to T are used to represent the newly introduced block

53

Page 69: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

matrices as shown in Figures 4.1 and 4.2.

It should be noted that the map of block matrices is used as a guide in storing the sub-stiffness

matrix termskp+1nh andkp+1hh which are calculated before the estimation of error indicators by using

the element residual method (see section 3.5 on page 33). Those terms are temporarily stored at

the specific locations in the element, saving them for the error indicator estimate and the assembly

into the element stiffness matrix storage (if the element is selected for refinement). The storage

location of the block matrices [M] to [T] is the element body.

4.3 Interelement Compatibility

The interelement compatibility of the brick elements must be satisfied across interelement edges

and faces. Figure 4.3 shows, for example, element interfaces between the brick elements. Let the

elements 1, 2, and 3 the orders 5, 3, and 2 respectively. The compatibility across the face and

edges between the elements 1 and 2 is preserved by adding all face and edge shape functions of

orders 4 and 5 into the element 2, where those shape functions are associated with the adjacent

face. The compatibility across the edge between the element 1 and 3 is preserved by adding the

edge shape functions of orders 3, 4, and 5 into the edge of the element 3, where the shape functions

are associated with the adjacent edge.

4.4 Consistent Loading

In section 3.9, the calculation of consistent loads for a quadrilateral element under a uniform dis-

tributed load on an element edge was investigated. For a brick element, an external traction is a

distributed load applied on an element face. If the traction is a uniform distributed load, the terms

ffhg appear when the element is updated to the orders 2 and 4. By using the expression (3.13)

on page 38, the element load vectors produced from a uniform distributed loadq applied on the

rectangular face of areaA, for example, are:

54

Page 70: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

IIIIII

I I I I I I I I I I II I I I I I I I I I II I I I I I I I I I II I I I I I I I I I II I I I I I I I I I II I I I I I I I I I I

J J J J J JJ J J J J JJ J J J J JJ J J J J JJJ

JJ J

J JJ J

J JJ

IIIIII

OOOOOOOOOOOO

JJJJJJ

JJJJJJ J

JJJJJ J

JJJJJ J

JJJJJ J

JJJJJ

J J J J J J J J J J J JJ J J J J J J J J J JJ J J J J J J J J J J JJ J J J J J J J J J J JJ J J J J J J J J J J JJ J J J J J J J J J J JJ J J J J J J J J J J JJ J J J J J J J J J J JJ J J J J J J J J J J JJ J J J J J J J J JJ J J J J J J J J J JJ J J J J J J J J J J

JJJ

J

I I I I I I I I I I II I I I I I I I I II I I I I I I I I I II I I I I I I I I I

IIIIIIIIIIII I I I I I I I I I I

I

I

J

f1-1f1-2f2-1f2-2

f3-2f4-1f4-2f5-1f5-2f6-1f6-2

f3-1

D C C C C C C C C C C CC C C C C C C C C C

C C C C C C C C CC C C C C C C C

C C C C C C CC C C C C C

C C C C CC C C C

C C CC C

C

DD

DD

DD

DD

DD

D

G

G

NNNNNNNNNNNN

GG G G G G G G G G G G G G G G G GGGGGGGGGGG

GGGGGGGGGGG

GGGGG

GGGGG

GGGGGGGGGGG

GGGGGGGGGGG

GGGGG

GGGG G

GGGGGGGGGG G

GGG

GGGGGG G

GGGGGGGGGG G

GGGGGGGGGG G

GGGGGGGGGG G

GGGGGGGGGG G

GGGGGGGGGG G

GGG

GGGGGG G

GGGGGGGGGG G

GGGGGGGGGG G G

GGGGGG

GGGGGGGG

GGG G

GG

GGGG

G

e12e11e10e9e8e7e6e5e4e3e2e1

H L L L L L L L L L L L L L L L L LL L L L L L L L L L L L L L L L

L L L L L L L L L L L L L L LL L L L L L L L L L L L L L

L L L L L L L L L L L L LL L L L L L L L L L L L

L L L L L L L L L L LL L L L L L L L L L

L L L L L L L L LL L L L L L L L

L L L L L L LL L L L L L

L L L L LL L L L

L L LL L

L

HH

HH

HH

HH

HH

HH

HH

H

HH

OOOOOOOOOOOOOOOOOO

f1-1

f1-3f1-2

f2-1f2-2f2-3f3-1f3-2f3-3f4-1f4-2f4-3f5-1f5-2

f6-1f6-2f6-3

f5-3

B BB B B B B B B B B B FFFFFF

EE

EE

E E

E E E E E E E E E EE E E E E E E E E EE E E E E E E E E E

EEEEEE

EEEEEE

EEEEEE

EEEEEE

EEEEEE

EEEEEE

E EE EE EE EE EE E

EEEEEE

EEEEEE

EEEEEE

EEEEEE

EEE

E E E E E E E E E E EE E E E E E E E E E EE E E E E E E E E EE

G G G G G GGGGGGGGGGGG

GG

G G G GG G G G

G G G G GG G G G GG G G G GG G G G GG G G G GG G G G GG G G G GG G G G GG G G G G

F F F F F F F F F F F F M

N

N

NN

NNNNNNNN

G G G G G G G G G G G GG G G G G G G G G G G GG G G G G G G G G G G GG G G G G G G G G G G GG G G G G G G G G G G GG G G G G G G G G G G GG G G G G G G G G G G GG G G G G G G G G G GGGGG

GGGG G

GGG G

GGG G

GGG G

GG

GGGG G

GGG G

GGG G

GGG G

GG G

GGG

G

G

G=

hhk 6nhk 6

6ihk

b11 2 3

p=6

1 2 3 1 2 3 1 2 3 1 2 3 1 2 3e9

e8e7

e6e5

e4e3

e2e1 f1 f2 f3 f4 f5 f6

=1p

e12e11e10e9e8e7e6e5e4e3e2e1

e12e10e11

p=5

P b1

p=6

Figure 4.1: Element block stiffness matrices of order 6 for a brick element. See Figure 3.1 and 4.2

for the definition of the symbols.

55

Page 71: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

III

III

III

G G G G

III

III

III

G G G GG G G GG G G G

G G G GG G G GJ J J JJ J J JJ J J J

J J J JJ J J JJ J J J

J J J JJ J J JJ J J J

J J J JJ J J JJ J J J

N N N

N N N

O O OO O O

O O OO O OO O O

G G G G G G G GG G G G

G G G G G G G G

G G G GN N NN N N

N N NO O OO O OO O OO O O

O O OO O OO O OO O O

f1

4 4321321

f6

E E

e1 e2

E

e12

N

b3b2b1

e1e2

e12f1-1f1-2f1-3

f6-1f6-2f6-3

Q

p =6

b1

e1e2

e12f1-1f1-2f1-3f1-4

f6-4f6-3f6-2f6-1

P

b1b2b3

=7p

p =7

Q Q

E E E

E E EN N

O O O

R R R R R R R R S S S

D C CCD

DH L L L L L L L

L LL

L L L LL L L LL L L L

LLLL L

L

HH

H

HH

HH

TT

PP T

=hhk7

7nhk

where,[kp] = sub-matrix of orderp

e i = edge no.i

b n = body shape function no.n

f j �m = face no.j with shape function no.m

Block Group Size Interaction of dof pair

matrix

[M ] [kih] matrix 24x3 bodyp-dofs and nodal dofs

[N ] [knh] matrix 3x3 bodyp-dofs and edgep-dofs

[O ] [knh] matrix 3x3 bodyp-dofs and facep-dofs

[P ] [khh] matrix 3x3 bodyp-dofs themself

[Q ] [knh] matrix 3x3 edgep-dofs corresponding to an edge shape function

of orderp�7 and bodyp-dofs

[R ] [knh] matrix 3x3 facep-dofs corresponding to a face shape function

of orderp�7 and bodyp-dofs

[S ] [knh] matrix 3x3 bodyp-dofs of different order

[T ] [knh] matrix 3x3 bodyp-dofs of the same order

Figure 4.2: Element block stiffness matrices of order 7 for a brick element.

56

Page 72: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Element 1p=5

Element 2p=3

Adjacent face between element 1 and 2

Adjacent edge between

element 1 and 3

Element 3, p=2

Figure 4.3: Interelement interfaces of brick elements.

57

Page 73: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

ffig = fqA4;qA

4;qA

4;qA

4gT ; (4.1)

ff 2hg = fqA3;qA

3;qA

3;qA

3gT ; (4.2)

f 4h =4qA

9(4.3)

whereffig is the nodal load vector, the termsff 2hg are calculated from the integration of the edge

shape functions of order 2 over the areaA and are located at the middle of the associated edges,

and the termf 4h is calculated from the integration of the face shape functions of order 4 over the

areaA and is located at the middle of the associated face.

The termsff 2hg andf 4h discussed above are calculated and used in the estimation of an error

indicator using the element residual method. Then those terms are stored in the associated edges

or face. They will be assembled into the global load vector,fFhg of equation (3.6) on page 30, if

the element which the edges or the face are located is selected for refinement. Or, the remaining

ffhg terms can be reused for the calculation of the error indicator in the next refinement steps. A

calculation of element load vectors for an arbitrary element shape can be performed by using a

numerical integration.

4.5 Numerical Examples

4.5.1 Element Distortion Test

The purpose of this test is to approximate the acceptable element distortion level of a brickp-

element under the elastic static condition. Figure 4.4 shows the finite element model of a uniform

cantilever beam under a uniform distributed vertical load applied on the face at the beam end. The

beam size is 1.0 x 0.1 x tm3, wheret is the thickness inz direction. The model contains ten brick

elements having the average length,l, of 0.1m. The trapezoidal-shape elements are generated by

changing the skew angle,�. The degree of element distortion is measured in terms ofb=a andl=t

58

Page 74: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

are clampedbelonged to this faceNodes, edges, and face

a

Skew angle,φ

b

x

Element 2

Element 10

thickness, t

Uniformdistributedload

0.1m

y

z

Element 1

Figure 4.4: Cantilever beam, ten brick elements.

59

Page 75: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

ratios. The uniformp analyses are performed atb=a = 1, 10, 20, and 50, andl=t = 2, 20, and 100.

The accuracy of the results is measured in terms of the end beam deflection compared to the exact

solution from beam theory.

The results from the analyses are plotted in Figure 4.5. For the least distorted elements, only

the elements of order 1 yield poor results. The displacement error of elements of order 1 with

rectangular shape (b=a = 1) is about 35% compared to the exact solution. This error is improved

to 3% if the elements of order 2 are used. Such error can be improved by using a more fine mesh,

which is the concept ofh-refinement. For the highly distorted elements (b=a >10), however, the

accuracy of the displacement results depends mainly on the element order. The displacement errors

from the analyses using the elements of orders 2, 4, and 6 are approximately 10%, 4%, and 1%

respectively. The thickness distortion is less influential. The displacement error increases from 1%

to 3% when the ratiol=t is changed from 2 to 50.

The conclusion could be drawn that the acceptable degree distortion of the brickp-element,

which is redefined as the length ratio of the longest edge to the shortest edge, is about 20. A

distorted level higher than 20 is not recommended. It will result in a high condition number of

the element stiffness matrix and will slow down the convergence rate of an iterative solver. For

example, the numbers of iterations of the PCG solver in solving for the equations ofb=a = 1, 10,

20, and 50 are 211, 303, 308, and 645 iterations respectively, where the mesh order is 6, thel=t

ratio is fixed at 20, and the PCG tolerance is 0.001. Note that the tolerance is defined as the ratio

of the global residual norm to the global external load norm. For the analysis using the elements

of b=a = 100 and of orderp = 5, the PCG solver did not converge to 0.001 tolerance after 1 000

iterations.

4.5.2 A Semi-elliptical Surface Crack in a Finite-thickness Plate

To demonstrate the accuracy and the efficiency in the use of a high orderp-element and the adap-

tive p-refinement procedure in solving a three-dimensional linear fracture mechanics problem, a

60

Page 76: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

0

0.2

0.4

0.6

0.8

1

1.2

0 10 20 30 40 50

No

rmal

ized

en

d b

eam

ver

tica

l d

efle

ctio

n

b/a

Exact solution

p=1, l/t=2p=2, l/t=2p=4, l/t=2p=6, l/t=2p=6, l/t=50

Figure 4.5: End beam deflection versus degree of distortion (b/a) of the cantilever beam with ten

brick elements.

61

Page 77: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

calculation of a stress intensity factor of a semi-elliptical surface crack in a finite-thickness plate

under tensile stress is presented below.

Note that the surface flaws are the common defects found in aircraft structures and pressure

vessel components. Lifetime of parts depends on crack growth rate which is a function of crack

geometry and stress intensity factor values along the crack front. Thus, an accurate stress intensity

factor prediction is necessary in studying the behavior of this kind of phenomena. The stress inten-

sity factor prediction was the subject in the linear fracture mechanics during 1960’s to 1970’s. As

a result, exact solutions for simple crack geometries are available [54]. An experimental technique

could be more expensive than a numerical analysis. A finite element method using a combination

of isoparametric and singularh-elements (a quarter-point isoparametric brick element) provides an

accurate stress intensity factor, especially at the critical point where the maximum value occurs.

Raju and Newman [55] used the above mentionedh-elements to predict the stress intensity fac-

tors for semi-elliptical surface cracks in finite-thickness plates with various crack geometries. The

accuracy of their results is in the range of 1%-3% error compared to the exact solutions.

In this study, the selected example problem is the one mentioned by Raju and Newman as a

difficult problem in terms of accuracy assessment. The crack geometry is a deep surface crack in

which the crack size isa=t = 0:8 anda=c = 0:2 as shown the Figure 4.6. The material is assumed

to have an elastic property. The maximum stress intensity factor is located at the point on the

crack front along thez axis. The finite element model contains 60 brick elements and 132 nodes.

The main consideration in designing the mesh is the representation of crack surface geometry. A

uniform distributed load,�0, is located on the bottom face of the model. The load value is 25 MPa.

For non-uniformp analysis, two cases were conducted: in case A, thep-refinement process starts

after the solution of the mesh of order 1, and in case B, thep-refinement process starts after the

solution of the mesh of order 2. The reason of the analysis of case B is to observe the convergence

of the results as compared to case A. This is because the evidence from the previous example

showed that the use of elements of order 1 yields poor final results with the coarse mesh. And,

the result is improved greatly in the use of elements of order 2. Thus, it is interesting to observe

that case B may provide a faster convergence rate than case A. The adaptive parameter is 0.3 for

62

Page 78: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

a. Problem statement.

b. Finite element model with 60 brick elements and 132 nodes.

Material properties are: E = 207e3 MPa and� = 0:3.

Figure 4.6: A semi-elliptical surface crack in a finite-thickness plate under tensile stress.

63

Page 79: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

both cases. The maximum order of an element is 6. The results from the uniform and non-uniform

p analyses are compared to the results obtained by Raju and Newman. Convergence rate of the

analyses is presented in terms of computational time and number of dofs used.

A stress intensity factor at a point on the crack front can be approximated from the crack-

opening displacement. The expression used is the same as the one used in the two-dimensional

crack analysis presented in section 3.12. The development of the quarter-point isoparametric brick

h-element uses the value of crack-opening displacement at the quarter-point node [56]. However,

in applying the expression with ap-element, an optional technique is taken. Crack-opening dis-

placements (uy) are measured at several sampling distances (r) along the line normal to the crack

front. Then a linear least square fit is used on those data. Consider the equation (3.20) on page 44

in which� = (3� 4�), it can be rearranged as,

u = Dpr (4.4)

KI =

p2�E

4(1� �2)D (4.5)

whereD is the slope of a regression line which is forced to intercept zero, andKI is a stress

intensity factor calculated fromD. Figure 4.7 shows the plots, for example, ofuy versuspr of the

uniformp = 2, 4, and 6 analyses.

Figure 4.8 presents the convergences of stress intensity factors,K�

I , versus degrees of freedom

used in the uniform and non-uniformp analyses. The resultingK�

I values of the uniformp analysis

and the non-uniformp analyses of cases A and B are converged to the certain values. The finalK�

I

of the uniformp = 6 analysis is in well agreement with the result obtained by Raju and Newman,

the results of both analyses areK�

I = 1.85. The finalK�

I values of non-uniformp analyses of

cases A and B converge to 1.90 and 1.89. Those values are approximately 3% error as compared

to the result of the uniformp = 6 analysis. The numbers of the dofs used in the non-uniformp

analyses are less than that used in theh-method. Number of dofs used in theh-method is 4797

dofs [55]. From Figure 4.8, the numbers of dofs used in the non-uniformp analyses at the points

where the results begin converge to the certain values are approximately 80% of the dofs used in

64

Page 80: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

0

5e-07

1e-06

1.5e-06

2e-06

2.5e-06

3e-06

0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 0.055 0.06

Hal

f o

f cr

ack

op

enin

g,

m

Square root of distance from crack front (r), m^0.5

24

p=6

2 4 6

Fitted parameters:p Slope(m^0.5) R-square2 2.988e-5 0.874 3.329e-5 0.936 3.461e-5 0.96

Figure 4.7: Crack-opening displacement,uy, versuspr of the uniformp = 2, 4, and 6 analyses for

a semi-elliptical surface crack.

65

Page 81: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

0 2000 4000 6000 8000 10000Number of degrees of freedom

0.5

1.0

1.5

2.0

Str

ess

In

ten

sity

Fa

cto

r

Uniform p analysisNon−uniform p analysis, Case ANon−uniform p analysis, Case BRaju and Newman (h−elements)

p=6p=5

p=4p=3

p=2

Stress intensity factorK�

I = KI=�0q�a=Q, whereQ is the shape factor for an ellipse = 1.104.

Figure 4.8: Convergence of stress intensity factor versus degrees of freedom used for a semi-

elliptical surface crack.

66

Page 82: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

theh-method. However, the number of dofs used in the uniformp analysis is approximately double

the number used in theh-method. This is because the mesh has a large number of elements that

leads the size of the system of equations up to 9429 dofs atp = 6. A mesh with fewer elements was

not tested in this study.

Compared to the uniformp analysis, the non-uniformp analysis provides a faster convergence

rate with respect to the number of dofs used and the computational time, and requires less computer

resources. As shown in Figure 4.9, computational times of non-uniformp analyses at the points

where the results begin converge to the certain values is approximately one hour, which is about

50% of the computational time of the uniformp = 5 analysis. The computer used was the Pentium

133 MHz system with 32 MB RAM. The machine failed to solve the uniformp = 6 analysis. The

memory requirement is more than the capacity of the machine. The results of the uniformp = 6

presented in Figure 4.8 are obtained by using the IBM RS/6000 processor of the Virginia Tech SP2

System.

The comparison between the non-uniformp analyses of case A and case B shows that there is

no difference in the convergence rate of both cases at the latter steps of the refinement processes.

Also, the final results of both cases are converged to the close values. The distributions of element

orderp is illustrated in Figure 4.10.

4.6 Closure

A successful effort in the development of the fully adaptivep-refinement finite element code for

solving three-dimensional elastic solids problems was presented in this chapter. The main benefit

of the analysis using the adaptivep-refinement method is the reduction of computation costs (com-

putational time and computer resources). Also, highly accurate results are achieved. The adaptive

p-refinement method allows the use of a small scale computer to solve practical engineering solids

problems which usually are solved by a large computer by using uniformp analysis. Also, an

automaticp-refinement analysis minimizes the model preparation cost.

67

Page 83: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

0.0 50.0 100.0 150.0Computational time (minutes)

0.5

1.0

1.5

2.0

Str

ess

In

ten

sity

Fa

cto

r

Uniform p analysisNon−uniform p analysis, Case ANon−uniform p analysis, Case B

p=1

p=2

p=3p=4

p=5

Stress intensity factorK�

I = KI=�0q�a=Q, whereQ is the shape factor for an ellipse = 1.104.

Figure 4.9: Convergence of stress intensity factor versus computational time for a semi-elliptical

surface crack.

68

Page 84: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Figure 4.10: Distribution of element orders after 7 refinement steps (include the solution steps of

p=1 and/orp=2).

69

Page 85: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Numerical examples demonstrate that there is no-oscillation in the finite element results using

high orderp-elements. However, the convergence of the results to the exact solutions does not

only depend on the use of the high order elements but also the proper treatment of the boundary

conditions. In this study, all edge- and face-degrees of freedom associated to the fixed support

conditions are set to zero. Also, the consistent loading terms corresponding to a uniform external

pressure load are used in the analysis of the examples. A more complex support condition and a

higher order force boundary condition are recommended for future study.

Error estimation by the element residual method is suitable as the error indicator which is used

to select the elements for refinement. However, the local/global energy errors are not the quantities

of primary engineering interest for use as a convergence criteria in the refinement process. The

ideal convergence criteria could be the stress convergence value at a particular area or a point in the

problem domain. The accurate stress calculation is important in practical engineering analysis. The

stress calculation and the stress error estimate of an analysis usingp-elements will be investigated

in the next chapter.

70

Page 86: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Chapter 5

Stress Calculation and Stress Error

Estimate

5.1 Introduction

In this chapter, a new posteriori error indicator measured in von Mises equivalent stress, called

a stress error indicator, is introduced for the fully adaptivep-refinement finite element method in

solving elastic solids problems. An investigation of the behavior of the direct calculated stresses of

high orderp-elements, which are found from the first derivatives of the displacement fields, is dis-

cussed and graphically illustrated. The performance comparison between the stress error indicator

and the error indicator measured in an energy norm, the residual method, is numerically demon-

strated. A recommendation on the convergence criteria for the adaptivep-refinement process using

the stress error is described. The selected example problem is a plate with a transverse hole under

tensile stress.

The main goal in solids mechanics analysis is to calculate the stresses at particular points

inside the problem domain. The maximum stress and the related terms are usually the quantities of

interest. In the finite element method, accuracy of the results (displacements, stresses, and others)

71

Page 87: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

can usually be achieved by controlling the discretization error. The practical approaches are the

mesh refinement methods:h-refinement,p-refinement, or a combination of both, where thep-

refinement method is the content of the present study. However, the effectiveness of the refinement

procedures depends on the accuracy of the error indicator, which is estimated from the available

information from the previous refinement stepn, used to select the elements for refinement in the

next stepn+1.

The error indicator of the residual method has been used for testing the adaptivep-refinement

procedure in chapters 3 and 4, where the examples are the stress intensity problems. The residual

method is suitable to such problems, even though it is slightly less accurate. This is because an

element energy norm value is dominated by the problem singularity. In brief, for elements that

are close to the singular point(s), the error of an element energy norm is of the order ofO(h�),

where� is the singularity strength, 0.5� � <1.0 [57]. We can see that, for a mesh having uniform

elements, the energy norm values of elements near singular point(s) are always higher than those

of elements that are far from the singular point(s),O(hp), see the next paragraphs for more detail.

In other words, the elements that are close to singular point(s) will be selected for refinement in

every refinement step until the element order has achieved the maximum allowable orderp. The

accuracy of the residual method will be noted later in this section.

Most of the posteriori error estimates found in the literature [2, 11, 19, 20] result in an energy

norm. Two main disadvantages in using an energy norm error indicator in the refinement process

are: 1) the energy convergence may not guarantee stress convergence especially of the maximum

stress (also the energy norm error is less interesting and less meaningful than the stress error) and

2) the accuracy of an energy norm error of theC0 continuous finite elements is generally “one order

less than” the displacement error. In order to explain the quotation “one order less than,” we will

consider the bounds of the discretization errors in the finite element method as the following. It has

been proven in the references [1, 2] that, for aC0 continuous finite element having a characteristic

sizeh and with the highest polynomial approximation function of orderp, the displacement error

will be on the order ofO(hp+1), and the first derivative of displacement (strain or stress) error

will be on the order ofO(hp) at the element boundaries. The strain energy, which is the product

72

Page 88: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

of strain and stress over the element space, has the error on the orderO(h2p). An energy norm,

defined as the square root of an energy error [1], will be the order ofO(hp), which is the same as

the order of the stress error and “one order less than” the displacement error. It should be noted

that the unit of the energy norm is(Force-Length)1=2.

Research [11, 20, 58, 59, 60] over the last decade has developed stress smoothing techniques

for recovering more accurate stresses from the final finite element results. The resulting recovered

stresses are used for post-processing operations or for estimating error indicators (measured in a

norm of stresses or an energy norm) for theh-refinement method. Those stress recovery techniques

are based on the fact that strains and stresses are more accurate at element interiors, which are at, or

near, Gauss points. The stress error at these points is of the orderO(hp+1) [13]. It is worth noting

that the energy norm estimated from the recovered stresses is less accurate than the stresses at the

Gauss points. This is because the energy norm is calculated from the integration over the element

domain, which includes the area with the lesser accuracy of stresses. Thus, it could be speculated

that the energy norm error based on the recovered stresses is of the orderO(hp+0:5), which is less

than the stress error order at Gauss points but higher than the original order of the energy norm

error.

It is interesting to directly use the stress error at the selected Gauss point(s) as an error indicator

for thep-refinement procedure instead of the energy norm, where a stress error is defined as the

difference between the more accurate stress and the calculated stress from the previous solution.

An obvious question that arises is how to find more accurate stresses forp-elements? The stress

recovery methods discussed above can only be applied to the low orderp-elements. Zienkiewicz,

et al [61] developed the superconvergent patch recovery techniques for two dimensional elements,

which can be applied to elements of order� 4. A possibility in obtaining more accurate stresses for

ap-element is the use of the temporarily upgraded displacement fields from adding shape functions

of orderp+1 into the element. The corresponding updated stress fields will be approximately one

order higher than the stresses of the previous solution. The approximate stress error at Gauss points

on the updated stress fields is postulated to be of the orderO(hp+1:5). This concept of temporarily

upgrading displacement fields has been used to develop the residual method as presented in section

73

Page 89: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

(2.5). Thus, it could also be postulated here that the error of the residual method is of the order

O(hp+0:5), which is one order less than the error order of the stress error estimate.

The approach of developing the stress error indicator discussed above seems reasonable in light

of the fact that the stress error at Gauss points is more accurate than the energy norm.

5.2 Direct Stress Fields

Continuous stress fields,f�g, in a finite element can be calculated from the displacement results.

Assuming that the initial strains and stresses are absent, the stress fields,f�g, in an element are:

f�g = [E] f"g (5.1)

where[E] is the symmetric matrix of elastic stiffnesses, andf"g is the vector of mechanical strains,

which is written as,

f"g = [B] fdg (5.2)

where[B] is the matrix of strain-displacement relations which are the spatial derivatives of the

shape functions, andfdg is the vector of displacement values associated with the shape functions.

Considering ap-element of orderp, the displacement fields, equation (3.4), can be rewritten as,

fug = [Ni]fdig+ [Nh]fdhg (5.3)

where[N ] are the shape functions, and the subscripti andh denote the relations to corner nodes

and hierarchical levels, respectively.[Nh] andfdhg contain all contributions of the components of

orders 2 top. Shape functions[Ni] and[Nh] are given in section 2.3 and Appendix A. Thus, the

strain and stress fields corresponding to the element displacement fields of equation (5.3) are:

f"g = [Bi] fdig+ [Bh] fdhg (5.4)

74

Page 90: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

f�g = [E] ([Bi]fdig+ [Bh]fdhg) (5.5)

where[Bi] and[Bh] are the derivatives of shape functions[Ni] and[Nh], respectively.

These derivatives (strains and stresses) are discontinuous at the element interfaces forC0 for-

mula. In a finite element mesh,f"g andf�g exhibit a jump at a point on an element interface from

one element to another. Stress jumps along an element interface are calledinterelement traction

jumps[5]. In order to observe the values of traction jumps as element orders increase, the contour

plots of the directed calculated stress,f�g, are presented Figure 5.2 on page 80 as an example.

5.3 Stress Error Indicator

Considering that the element of orderp is temporarily increased top+1, the upgraded displacement

fields and the corresponding stress fields, equation (5.3) and (5.5), can be written as,

fu0g = [Ni]fdig+ [Nh]fdhg+ [N0

h]fd0

hg (5.6)

f�0g = [E]([Bi]fdig+ [Bh]fdhg+ [B0

h]fd0

hg) (5.7)

where[N0

h] are the shape functions of orderp+1, [B0

h] are the spatial derivatives corresponding to

the added shape functions, andfd0

hg is the vector of the approximatep-displacements calculated

by using equation (2.35).

Let us define the stress error as,

e� = �� � � (5.8)

where�� is the exact stress and� is the calculated stress. However, in practical analysis,�� is not

known. We assume that the upgraded stresses are closer to the exact solution,f��g � f�0g. That

is to say, the stress error fields can be approximated by subtracting equation (5.5) from equation

(5.7). The result is written as,

75

Page 91: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

fe�g = [E][B0

h]fd0

hg (5.9)

where [B0

h] andfd0

hg contain all contributions associated with the added shape functions. The

vectorfe�g represents the stress error fields of the element of orderp. Each term of[B0

h] is a

function of the location (�,�,�). Thus, the stress error at any point can be written as,

fe�(�; �; �)g = [E]mXi=1

[B0

h(�; �; �)]ifd0

hgi (5.10)

wherem is the number of temporarily added shape functions. The components of the stress error

vector,fe�(�; �; �)g, depend on the type of problem being considered, e.g. for plane stress,fe�g

consists of error estimate for�x, �y and�xy. These components are not scalar values ready for use

as an error indicator. A suitable scalar value is the von Mises equivalent stress error estimate, cal-

culated from these components. The von Mises equivalent stress error will be denoted asevonMises,

which is a function of the coordinates but not of coordinate system. We have discussed early in this

chapter that the most accurate stress value is at Gauss points. The Gauss point values ofevonMises

are of the orderp because the upgraded displacement fields are ordersp+1.

An error indicator using the von Mises equivalent stress error estimate will be defined as,

�� = (evonMises)max (5.11)

where�� is called the stress error indicator, associated with the element under consideration, and

(evonMises)max is the maximum value of the von Mises equivalent stress error estimate calculated

over all Gauss points of orderp inside the element.

5.4 Numerical Example

The selected example problem is a classical known solution in two-dimensional stress concentra-

tion. Figure 5.1 illustrates the problem statement and the finite element models of a plate with a

76

Page 92: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

0.1

m σ0

0.005 m

E = 207e3 MPa

ν = 0.3Q

= 20 MPaσ0

0.15 m

σ0

x

y

a. A quarter model.

b. Mesh A, 6 elements, 12 nodes. c. Mesh B, 20 elements, 30 nodes. d. Mesh C, 56 elements, 72 nodes

e. Number of degrees of freedom of the meshes having the elements of uniformp order.

Mesh Number of degrees of freedom

order,p Mesh A Mesh A Mesh C

1 24 60 144

2 58 158 398

3 92 256 652

4 138 394 1018

5 196 572 1496

6 266 790 2086

7 348 1048 2788

8 442 1346 3602

Figure 5.1: Problem statement and finite element models for a plate with a transverse hole under

tension.

77

Page 93: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

transverse small hole under tensile stress. Three finite element meshes, named A, B, and C, are

selected, where the mesh C is the most refined one. The theoretical maximum stress value is 60.7

MPa [62], which is located at point Q. The curved boundary elements, which are close to the cir-

cular hole, are mapped by using the curvilinear mapping functions. The functions map an element

having arc (a segment of circle) edges in thex, ycoordinate system from a square element in�, �

coordinate system. The mapping functions used are provided in Appendix B.

Direct calculated stresses, equation (5.5) on page 75, are the quantities of interest. Convergence

of the maximum�x results is compared to the theoretical values and is expected to be located at

point Q precisely. Convergence rate of stress results is presented in terms of number of degrees of

freedom used and computational time.

Topics for discussion of this numerical example are: 1) the convergence of direct calculated

stresses and interelement traction jumps as a mesh order increases, 2) the comparison between the

stress error indicator and the residual method, and 3) the improvement of stress accuracy in using

the curvilinear mapping functions applied for the curved boundary elements, as compared to the

use of bilinear mapping functions (straight edge elements).

5.4.1 Convergence of Direct Calculated Stresses

Table 5.1 shows the convergences of the resulting maximum�x values of the uniformp = 1 to 8

analyses. The results show that the convergence (in both value and location) of the stresses depends

mainly on the element order and number of elements (smaller size elements). The maximum�x

of all analyses converge to less than 1% error. However, only in the most refined mesh, mesh C,

is the maximum�x located exactly at point Q with the mesh of ordersp � 5. This convergence

process has been well-known as thehp-refinement method, where small size elements are placed

around the high stress concentration point plus use of high order elements [4, 63].

Figure 5.2 graphically shows the reduction of the interelement traction jumps as the mesh

order increases. Discontinuance of each contour line across the element interface represents the

78

Page 94: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Table 5.1: Convergence of the maximum�x values versus the meshp orders ranging from 1 to 8

using uniformp analysis for a plate with a transverse hole.

Mesh Values of maximum�xy (MPa)

order,p Mesh A Mesh B Mesh C

1 48.3 58.6 63.6

2 56.2 66.9 63.2

3 56.3 64.6 61.3

4 58.4 62.0 60.8

5 59.6 60.8 60.9*

6 59.6 60.7 60.9*

7 60.0 60.7 60.9*

8 60.2z 60.6 60.9*

The theoretical maximum normal stress is 60.7 MPa located at point Q

(see Figure 5.1).

y The maximum�x value for the mesh is found from the 10 by 10 grid

of every elements.

z Number in Roman Bold means the stress converges to 1% error.

* The maximum�x is located at point Q precisely. Otherwise, the

stress occurs at the point that lies on the hole surface and

closest to point Q.

79

Page 95: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

a. p = 1, error of max.�x = -3.5%. b.p = 2, error of max.�x = 10.2%.

c. p = 4, error of max.�x = 2.1%. d.p = 4 (zoom in).

e. p = 6, error of max.�x < 1%. f. p = 6 (zoom in).

The plate with a hole, Mesh B. Unit of stress is Pa.

Figure 5.2: Improvement of the interelement traction jumps as the mesh order increases.

80

Page 96: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

interelement traction jump. Level of a traction jump is defined as the difference in stress contours

at a point on an element interface between two adjacent elements. The high interelement traction

jumps occur in the mesh orderp = 1, see Figure 5.2-a. Such jumps are reduced when the mesh

orderp is increased to higher orders as shown in Figure 5.2-b, c, and e. Since the stress contours

are the direct calculated stresses, the above results represent the convergence of the direct stresses

with the element order as concluded in the previous paragraph.

A point of discussion is that there is little oscillation in the direct stress results as the element

orders increase. This confirms the reliability of the use of the fully adaptivep-refinement finite

element method for solids problems. The accuracy of the final stress results are bounded and

independent of the order of the high order elements. In other words, it is possible to use the stress

convergence as a convergence criteria parameter of the refinement process. Details of the stopping

criteria using the stress errors will be discussed later in this chapter.

5.4.2 Comparison Between the Stress Error Indicator and the Residual Method

In this subsection, the performance comparison between the stress error indicator and the energy

error indicator of the residual method will be numerically demonstrated. The selected finite ele-

ment models of the plate with a hole are meshes B and C. The adaptivep-refinement process of

non-uniformp analysis solves the model until the maximum�x value achieves 1% error compared

to the theoretical solution. Also, for mesh C, the location of the resulting maximum�x should

be located at point Q precisely. The refinement process starts at the mesh of order 2. The reason

for this is to avoid the use of a superparametric element in the meshes during the refinement pro-

cess. A superparametric element is the one that has mapping functions of higher order than the

displacement fields. As presented in Table 5.1 that the maximum�x results of the mesh B and C

converge to the above goals at the meshes of order 5. Thus, we expect to see 3 refinement steps of

the refinement process for the elements around the high stress gradient region to reach the order 5.

This is because the convergence of stresses depends mainly on the element order as concluded in

the previous subsection. The incorrect selection of the elements for refinement will result in more

81

Page 97: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

refinement steps and computational time. The convergence rate of stresses is presented in terms of

number of refinement steps, number of degrees of freedom used, and computational time.

Table 5.2 presents the results from the analyses with the adaptive parameters, , = 0.3, 0.4,

and 0.5. We can see that the stress error indicator performs a remarkable effectiveness as com-

pared to the residual method. As compared to the residual method, the stress error indicator uses

approximately 10% - 30% fewer degrees of freedom and uses less computational time for nearly

all analyses. However, there is no difference in the number of refinement steps between the two

error indicators in the analyses of mesh B. For mesh C, at = 0:3, the stress error indicator takes

3 refinement steps, while the residual takes 4 refinement steps. Also, the stress error indicator uses

1/2 computational time compared to the residual method. At = 0:4 and = 0:5, both error indi-

cators take 4 and 6 refinement steps to achieve the desired results. However, the residual method

with = 0.4 takes more computational time than the uniformp analysis.

5.4.3 Importance of Mapping Functions on Stress Accuracy

As reviewed in section 2.2.2 on page 8, curvilinear mapping functions are used to map a curved

boundary element in thex, ycoordinate system from a square element in the�, � coordinate system.

For the models of the plate with a transverse hole, the elements that are close to the hole are curved

boundary elements. One edge of each element represents a segment of circle (arc edge). The

mapping functions used are provided in Appendix B.

The results presented below are the comparison between the use of curved boundary elements

(case 1) and the use of straight elements (case 2) as the elements around the transverse hole. The

accuracy of maximum�x is observed.

Figure 5.3 illustrates the stress contours of the the analyses of cases 1 and 2. Figure 5.3-a and

5.3-b are the results of case 1. Figure 5.3-c and 5.3-d are the results of case 2. Both analyses are

uniformp = 8 analyses. The errors of the maximum�x values are< 1% and 40% for the analyses

of case 1 and case 2, respectively. For the mesh of orders 2, 3, 4, and 5, the errors of the maximum

82

Page 98: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Table 5.2: Comparison between the error indicator of the residual method and the stress error

indicator for a plate with a transverse hole.

a. The results of mesh B.

Adaptivity Residual Method Stress error indicator

# refinements dofsy used time (s) # refinements dofs used time (s)

0.3 3 370 11 3 318 10

0.4 3 348 10 3 294 9

0.5 3 344 10 3 274 9

The results of uniformp analysis are: final mesh order = 5, number of dofs used = 572 dofs,

and computational time = 21 s.

b. The results of mesh C.

Adaptivity Residual method Stress error indicator

# refinements dofsy used time (s) # refinements dofs used time (s)

0.3 4 1206 60 3 790 27

0.4 4 1210 67 4 1038 51

0.5 6 1066 53 6 978 53

The results of uniformp analysis are: final mesh order = 5, number of dofs used = 1496 dofs,

and computational time = 62 s.

All analyses achieve 1%�x error compared to the theoretical solution.

y = number of degrees of freedom

83

Page 99: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

a. With curvilinear mapping (case 1). b. Case 1 (zoom in).

error of max.�x < 1%.

c. With bilinear mapping (case 2). d. Case 2 (zoom in).

error of max.�x = 40%.

The plate with a hole, Mesh B. Uniformp = 8 analysis. Unit of stress is Pa.

Figure 5.3: Stress contours of the analyses using curvilinear mapping and bilinear mapping for the

elements around the transverse hole of a plate with a transverse hole problem.

84

Page 100: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

�x values of case 2 are 15.2%, 13.2%, 9.7%, and 14.4%, respectively. Those stress errors are

improved to 10.2%, 6.5%, 2.1%, and< 1% in the analysis of case 1 (the third column of Table

5.1), respectively.

From the above observation, it should be noted here that an accurate curvilinear mapping tech-

nique for a curved boundary element is required for an analysis using high orderp elements.

5.4.4 Stress Error and Convergence Criteria forp-Refinement Process

In this subsection, convergence criteria for the adaptivep-refinement process will be described.

The criteria parameters are the two sources of available information: 1) stress error values and

2) stress error indicator values.Stress error valuesare defined as the difference of stresses at

particular points between the refinement stepsn andn-1.

In order to understand in detail, consider the resulting stress error values and stress error indica-

tor values from the analysis of the plate with a hole of mesh B as shown in Table 5.3. The stresses

of interest are the maximum von Mises equivalent stresses. Thep-refinement process starts from

the mesh of order 2. After finishing the calculation of the refinement stepn, the process is paused

to observe the maximum von Mises equivalent stresses, and the maximum, the minimum, the mean

value, and the standard deviation of the stress error indicators. If we compare the stress error values

(the third column of Table 5.3-a) and the stress error indicator values (the second column of Table

5.3-b), we can see that the refinement process could be finished after the refinement step 2 or 3.

Note that the true errors of the von Mises equivalent stresses compared to the theoretical solution

after the refinement step 3 are less than 1%.

5.5 Closure

An accuracy assessment in solids analysis using the fully adaptivep-refinement finite element

method is controlled by two parameters: an error indicator used to select the elements for re-

85

Page 101: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Table 5.3: The stress errors from the analysis for a plate with a transverse hole of case B.

a. Maximum von Mises equivalent stresses.

Case von Mises equivalent stress (MPa) Stress error (MPa)

Uniform p = 1 52.9 6.3

Uniform p = 2 59.2 4.7

Refinement # 1 63.9 -2.3

Refinement # 2 61.6 -0.7

Refinement # 3 60.9 0.1

Refinement # 4 61.0 0

Refinement # 5 61.0 -

b. Values of the stress error indicators (unit in MPa).

Case Maximum Minimum Mean Standard Deviation

Uniform p = 1 34.1 9.6 18.5 6.9

Uniform p = 2 5.9 0.7 1.2 1.7

Refinement # 1 1.9 0.7 0.6 0.7

Refinement # 2 0.8 0.6 0.3 0.3

Refinement # 3 1.2 0.4 0.2 0.3

Refinement # 4 1.3 0.4 0.3 0.3

Refinement # 5 0.3 0.4 0.1 0.1

86

Page 102: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

finement and an estimated error used to check the convergence of the quantities of interest. The

posteriori error estimate introduced in this chapter provides the values of error indicators, which

are measured in von Mises equivalent stress. The stress error indicator is shown to yield a more

reliable and faster convergence rate than the previously used error indicator, which is an energy

norm, the residual method. Also the agreement in the convergence rates of the stress error indica-

tors and of the calculated stress errors provide very helpful information for an analyst in confirming

the convergence of the output stresses.

This chapter also shows that: 1) the resulting direct calculated stress values are converged to

exact solution as element orders increase, 2) there is a little oscillation of stress results in the use

of high orderp-elements, and 3) the stress error estimate provides an accurate error indicator.

Accurate mapping functions for curved boundary elements are required in order to get accurate

stress results. A plate with a hole is a good example for this requirement, where the location of

stress concentration lies on the curved element boundary.

87

Page 103: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Chapter 6

Conclusions

1. A fully adaptivep-refinement method has been further investigated and implemented in this

study. The element-by-element algorithm and the global/element data structures introduced

enabled non-uniformp analysis to use higher order elements ranging from order 1 to 8. The

algorithm and the data structure also allowed use of the existing lower order element sub-

stiffness matrices, the direct/PCG solvers, and the by-product element sub-stiffness matrices

of orderp+1 resulting from the error estimates.

2. Numerical examples demonstrate that the computational time used in the non-uniformp

analyses is about 20% to 50% of that of uniformp analyses. Also, the computer resource

requirements of non-uniformp analysis are much lower than that of uniformp analysis. The

sizes of system of equations of non-uniformp analysis (number of degrees of freedom) are

reduced to 1/4 to 1/2 of that of uniformp analysis, which are based on the same accuracy of

final results.

3. A stress error estimate has been introduced for the fully adaptivep-refinement finite element

method. The error indicator is defined as the maximum value of the von Mises equivalent

stress error estimate calculated over all Gauss integration points inside an element. The stress

error indicator is postulated to have an order ofO(hp+1:5). This error order is approximately

88

Page 104: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

one order higher than that of the residual method.

4. An error indicator using the stress error estimate performs better than that of the residual

method. As compared to the residual method, the stress error estimate uses approximately

10% - 30% fewer degrees of freedom and uses less computational time for nearly all anal-

yses in solving a plate with a transverse hole. The stress error indicator values are in good

agreement with the stress error values from the refinement process. The stress error estimate

provides very helpful information for an analyst in checking the convergence of the output

stresses.

5. The convergence of direct calculated stresses depends mainly on the element order. And,

there is a little oscillation in the values of stress error and the values of the stress error

indicator at high orderp-elements. These statements confirm the reliability of the use of the

fully adaptivep-refinement finite element method for a practical engineering analysis.

6. A finite element analysis program has been developed for the fully adaptivep-refinement.

Quadrilateral and brick elements are selected for the implementation. The program is de-

signed to support multi-degrees of freedom per node and is developed by using the concept

of object-oriented programming. It allows add item of new element types.

89

Page 105: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Chapter 7

Recommendations for Future Work

This dissertation presents the initial work done in the development and implementation of the fully

adaptivep-refinement finite element method combined with the stress error estimate. The computer

code has been written for this method. The code is capable for solving two- and three-dimensional

elastic problems by using quadrilateral and brick elements. Detail of licensing and source code

distribution are given the Appendix C.

At this stage of the present study, the code supports the two element types (as mentioned above),

uniform external traction, fixed support condition, simple stress contour plotting, and simple el-

ement geometry mapping for an arc edge element. Additional work on further implementation,

usage, and testing remains to be done.

The brick element was tested up to order 6. This is due to the limitation of the computer used in

this study, which is a Pentium 133 MHz system with 32 MB RAM. However, the code developed

has incorporated all functions related to brick element of order 7 and 8. For further testing, higher

computational power such as a multi-CPU computer or a parallel machine is necessary. Two inten-

sive calculations, which could be distributed for a parallel computation, are the element stiffness

matrix calculation, equation (3.19) on page 43, and the[K]fcDg multiplication, equation (3.10) on

page 32. A low cost parallel machine such as a Parallel Virtual Machine (PVM) [64] could be

90

Page 106: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

used for this testing of the brick element. Literature on the parallel computation forp-method are

[9, 22, 26, 27, 28].

The code developed could be extended for other element types. The code was designed using

object-oriented programming concepts, and it supports multi-degrees of freedom per node. Adding

a new element type into the code can be done with a little effort. The interesting element type, for

example, which can be immediately added into the code is the Mindlin plate element [13]. The

element hasC0 continuity and three degrees of freedom per node. It is interesting to study the

“locking” [10] behavior of a large aspect ratio problem using high orderp-elements, where the

aspect ratio is the ratio of in-plane length to thickness. Also, there is no literature on aC1 p-

element.

Structural shape optimization is the area of interest for the fully adaptivep-refinement method

in two- and three-dimensional elastics. The shape optimization procedure is to sequentially solve

the upgraded finite element models by changing a shape (boundary) of solid in the optimal way

[65]. The optimization function could be a function of maximum stress or weight of the solid.

Salagame and Belgundu [65] recently studied two-dimensional structural shape optimization by

using a simplep-refinement as proposed by Zienkiewicz,et al [5, 11], see section 2.5. Three-

dimensional structural shape optimization is a current research topic of this area.

The area of non-linear and dynamics analyses are still widely open for future research using

p-elements. This work provides several background details of thep-elements from an engineer’s

point of view.

Finally, an expectation of this study is the more widespread use ofp-elements for engineering

analysis and design.

91

Page 107: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Bibliography

[1] Zienkiewicz, O.C. and Taylor, R.L.,The Finite Element Method, Fourth Edition, Vol. 1 Basic

Formulation and Linear Programs, McGraw-Hill Book Company Europe, 1994.

[2] Szabo, B. and Babuˇska, I.,Finite Element Analysis, John Wiley & Sons, Inc., New York, 1991.

[3] Babuska, I. and Suri, M., “Thep andh-p Versions of the Finite Element Method, Basic Prin-

ciples and Properties,” SIAM Review, Vol. 36, No. 4, pp.578-632, 1994.

[4] Szabo, B.A., “The p- andh-p Versions of the Finite Element Method in Solid Mechanics,”

Computer Methods in Applied Mechanics and Engineering, Vol. 80, pp. 185-195, 1990.

[5] Zienkiewicz, O.C. and Craig, A., “Adaptive Refinement, Error Estimates, Multigrid Solution,

and Hierarchic Finite Element Method Concepts,” inAccuracy Estimates and Adaptive Refine-

ments in Finite Element Computations, Babuska, I., Zienkiewicz, O.C., Gago, J., and Oliveira,

E.R.de.A. (eds.), John Wiley & Sons, Inc., 1986.

[6] Szabo, B.A., “Implementation of a Finite Element Software System withh andp Extension

Capabilities,” Finite Elements in Analysis and Design, Vol. 2, pp. 177-194, 1986.

[7] Szabo, B.A., “Mesh Design for thep-Version of the Finite Element Method,” Computer Meth-

ods in Applied Mechanics and Engineering, Vol. 55, pp. 181-197, 1986.

[8] Carnevali, P., Morris, R.B., Tsuji, Y., and Taylor, G., “New Basis Functions and Computa-

tional Procedures forp-Version Finite Element Analysis,” International Journal for Numerical

Methods in Engineering, Vol. 36, pp. 3759-3779, 1993.

[9] Mandel, J., “Adaptive Iterative Solvers in Finite Elements,” inSolving Large-scale Problems

in Mechanics, Papadrakakis, M. (ed.), John Wiley & Sons, Ltd., pp. 65-88, 1993.

92

Page 108: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

[10] Knight, C.E.,The Finite Element Method in Mechanical Design, PWS-KENT Publishing

Company, Boston, 1993.

[11] Zienkiewicz, O.C., Gago, J.P. de S.R., and Kelly, D.W., “The Hierarchical Concept in Finite

Element Analysis,” Computers & Structures, Vol. 16, No. 1-4, pp. 53-65, 1983.

[12] Zienkiewicz, O.C., Irons, B.M., Scott, F.C., and Campbell, J.S., “Three-dimensional stress

analysis,” Proc. Of IUTAM Symp. High Speed Computing in Elastic Structures, Liege, 1970.

[13] Cook, R.D., Malkus, D.S., and Plesha, M.E.,Concepts and Applications of Finite Element

Analysis, 3th Ed., John Wiley & Sons, Inc., New York, 1989.

[14] Camption, S.D. and Jarvis, J.L., “An Investigation of the Implementation of thep-Version

Finite Element Method,” Finite Elements in Analysis and Design, Vol. 23, pp. 1-21, 1996.

[15] Peano, A.G.,Hierarchies of Conforming Finite Elements, Doctoral Dissertation, Washington

University, St. Louis, 1975.

[16] Babuska, I., Szab´o, B.A., and Katz, I.N., “Thep-Version of the Finite Element Method,”

SIAM J. Numer. Anal., Vol. 18, No. 3, pp. 515-545, 1981.

[17] Babuska, I., Griebel M., and Pitkaranta, J., “The Problem of Selecting the Shape Functions

for ap-type Finite Element,” International Journal for Numerical Methods in Engineering, Vol.

28, pp. 1891-1908, 1989.

[18] Robinson, J., “An Introduction to Hierarchical Displacement Elements and the Adaptive

Technique,” Finite Elements in Analysis and Design, Vol. 2, pp. 377-388, 1986.

[19] Babuska, I. and Rheinboldt, W.C., “A-Posteriori Error Estimates for the Finite Element

Method,” International Journal for Numerical Methods in Engineering, Vol. 12, pp. 1597-1615,

1978.

[20] Zienkiewicz, O.C. and Zhu, L.Z., “A Simple Error Estimator and Adaptive Procedure for

Practical Engineering Analysis,” International Journal for Numerical Methods in Engineering,

Vol. 24, pp. 337-357, 1987.

[21] Wiberg, N.-E., Moller, P., and Samuelsson A., “Use of Trigonometric Functions for Hier-

archical Improvement of Finite Element Solutions of 2D-static Elastic Problems,” inProc.

93

Page 109: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

NUMETA 85, Vol. 1, Middleton, J. and Pande, G.N. (eds.), Rotterdam, Netherlands, pp. 77-86,

1985.

[22] Papadrakakis, M., “Solving Large-scale Linear Problems in Solid and Structural Mechanics,”

in Solving Large-scale Problems in Mechanics, Papadrakakis, M. (ed.), John Wiley & Sons,

Ltd., pp. 1-37, 1993.

[23] Peano, A., Pasini, A., Riccioni, R., and Sardella, L., “Adaptive Approximations in Finite

Element Structural Analysis,” Computers & Structures, Vol. 10, pp. 333-342, 1979.

[24] Wiberg, N.-E. and Moller, P., “Formulation and Solution of Hierarchical Finite Element

Equations,” International Journal for Numerical Methods in Engineering, Vol. 26, pp. 1213-

1233, 1988.

[25] Morris, R.B., Tsuji, Y., and Carnevali, P., “Adaptive Solution Strategy for Solving Large

Systems ofp-Type Finite Element Equations,” International Journal for Numerical Methods in

Engineering, Vol. 33, pp. 2059-2071, 1992.

[26] Mandel, J., “Two-level Domain Decomposition Preconditioning for thep-Version Finite El-

ement Method in Three Dimensions,” International Journal for Numerical Methods in Engi-

neering, Vol. 29, pp. 1095-1108, 1990.

[27] Mandel, J., “An Iterative Solver forp-Version Finite Elements in Three Dimensions,” Com-

puter Methods in Applied Mechanics and Engineering, Vol. 116, pp. 175-183, 1994.

[28] Papadrakakis, M. and Babilis, G.P., “Solution Techniques for thep-Version of the Adaptive

Finite Element Method,” International Journal for Numerical Methods in Engineering, Vol. 37,

pp. 1413-1431, 1994.

[29] Hinton, E. and Owen, D.R.J.,Finite Element Programming, Academic Press, New York,

1977.

[30] Irons, B.M., “A Frontal Solution Program for Finite Element Analysis,” International Journal

for Numerical Methods in Engineering, Vol. 2, pp. 5-32, 1970.

[31] Irons, B. and Ahmad, S.,Techniques of Finite Elements, Ellis Horwood Limited, Chichester,

England, 1980.

94

Page 110: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

[32] Silvester, P.P.,Data Structures for Engineering Software, Computational Mechanics Publica-

tions, 1993.

[33] Nelson, M.,C++ Programmers Guide to the Standard Template Library, IDG Books World-

wide, Inc., California, U.S.A., 1995.

[34] Stroustrup, B.,The C++ Programming Language, 2nd Ed., Addison-Wesley Publishing

Company, 1991.

[35] Buzzi-Ferraris, G.,Scientific C++ Building Numerical Libraries the Object-oriented Way,

Addison-Wesley Publishing Company, 1993.

[36] Booch, G.,Object-oriented Analysis and Design with Applications, 2nd Ed., The Benjamin /

Cummings Publishing Company, Inc., California, 1994.

[37] Barton, J.J. and Nackman, L.R.,Scientific and Engineering C++ an Introduction with Ad-

vanced Techniques and Examples, Addison-Wesley Publishing Company, 1994.

[38] Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W.,Object- oriented Mod-

eling and Design, Prentice Hall, New Jersey, 1991.

[39] Schildt, H.,C++ the Complete Reference, Osborne McGraw-Hill, California, 1991.

[40] Papurt, D.M.,Inside the Object Model the Sensible Use of C++, SIGS Books, New York,

1995.

[41] Dubois-Pelerin, Y., Zimmermann, T., and Bomme, P., “Object-oriented Finite Element Pro-

gramming: II. A Prototype Program in Smalltalk,” Computer Methods in Applied Mechanics

and Engineering, Vol. 98, pp. 361-397, 1992.

[42] Menetery, P. and Zimmermann, T., “Object-oriented Non-linear Finite Element Analysis:

Application to J2 Plasticity,” Computers & Structures, Vol. 49, No. 5, pp. 767-777, 1993.

[43] Zimmermann, T., Dubois-P`elerin, Y., and Bomme, P., “Object-oriented Finite Element Pro-

gramming: I. Governing Principles,” Computer Methods in Applied Mechanics and Engineer-

ing, Vol. 98, pp. 291-303, 1992.

[44] Cardona, A., Klapka, I., Geradin, M., “Design of a New Programming Environment,” Engi-

neering Computations, Vol. 11, No. 4, pp. 365-381, 1994.

95

Page 111: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

[45] Kong, X.A. and Chen, D.P., “An Object-oriented Design of FEM Programs,” Computers &

Structures, Vol. 57, No. 1, pp. 157-166, 1995.

[46] Adeli, H. and Yu, G., “An Integrated Computing Environment for Solution of Complex En-

gineering Problems Using the Object-oriented Programming Paradigm and A Blackboard Ar-

chitecture,” Computers & Structures, Vol. 54, No. 2, pp. 255-265, 1995.

[47] Dubois-Pelerin, Y. and Zimmermann, T., “Object-oriented Finite Element Programming: III.

An Efficient Implementation in C++,” Computer Methods in Applied Mechanics and Engi-

neering, Vol. 108, pp. 165-183, 1993.

[48] Golub, G.H. and Loan, C.F.V.,Matrix Computations, The Johns Hopkins University Press,

1989.

[49] Hestenes, M.R. and Stiefel, E., “Methods of Conjugate Gradients for Solving Linear Sys-

tems,” Journal of Research of the National Bureau of Standards, Vol. 49, No. 6, pp. 409-436,

1952.

[50] Henshell, R.D. and Shaw, K.G., “Crack Tip Finite Elements are Unnecessary,” International

Journal for Numerical Methods in Engineering, Vol. 9, pp. 495-507, 1975.

[51] Shih, C.F., deLorenzi, H.G., and German, M.D., “Crack Extension Modeling with Singular

Quadratic Isoparametric Elements,” International Journal of Fracture, Vol. 12, pp. 647-651,

1976.

[52] Murakami, Y.,Stress Intensity Factors Handbook, Vol. 1, Pergamon Press, 1987.

[53] Andersson, B. and Falk, U., “Reliable Stress and Fracture Mechanics Analysis of Complex

Components Using ah-p Version of FEM,” International Journal for Numerical Methods in

Engineering, Vol. 38, pp. 2135-2163, 1995.

[54] Murakami, Y.,Stress Intensity Factors Handbook, Vol. 2, Pergamon Press, 1987.

[55] Raju, I.S. and J.C. Newman, Jr., “Stress-Intensity Factors for a Wide Range of Semi-Elliptical

Surface Cracks in Finite-Thickness Plates,” Engineering Fracture Mechanics, Vol. 11, pp. 817-

829, 1979.

[56] Barsoum, R.S., “On the Use of Isoparametric Finite Elements in Linear Fracture Mechanics,”

International Journal for Numerical Methods in Engineering, Vol. 10, pp. 25-37, 1976.

96

Page 112: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

[57] Zhu, J.Z. and Zienkiewicz, O.C., “Adaptive Techniques in the Finite Element Method,” Com-

munications in Applied Numerical Methods, Vol. 4, pp. 197-204, 1988.

[58] Hinton, E. and Campbell, J.S., “Local and Global Smoothing of Discontinuous Finite Ele-

ment Functions using a Least Squares Method,” International Journal for Numerical Methods

in Engineering, Vol. 8, pp. 461-480, 1974.

[59] Barlow, J., “Optimal Stress Locations in Finite Element Models,” International Journal for

Numerical Methods in Engineering, Vol. 10, pp. 243-251, 1976.

[60] Zienkiewicz, O.C. and Zhu, J,Z., “The Superconvergent Patch Recovery and A Posteriori Er-

ror Estimates. Part 1:The Recoevery Technique,” International Journal for Numerical Methods

in Engineering, Vol. 33, pp. 1331-1364, 1992.

[61] Zienkiewicz, O.C., Zhu, J.Z., and Wu, J., “Superconvergent Patch Recovery Techniques -

Some Further Tests,” Communications in Numerical Methods in Engineering, Vol. 9, pp. 251-

258, 1993.

[62] Pilkey, W.D.,Peterson’s Stress Concentration Factors, Second Edition, John Wiley & Sons,

Inc., 1997.

[63] Babuska, I. and Suri, S., “Thep- and h-p Versions of the Finite Element Method, An

Overview,” Computer Methods in Applied Mechanics and Engineering, Vol. 90, pp. 5-26,

1990.

[64] Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., and Sunderam, V.,PVM 3

User’s Guide and Reference Mannual, Engineering Physics and Mathematics Division, Math-

ematical Sciences Section, Oak Ridge National Laboratory, Oak Ridge, Tennessee, 37831.

[65] Salagame, R.R. and Belegundu, A.D., “A Simplep-Adaptive Refinement Procedure for Struc-

ture Shape Optimization,” Finite Elements in Analysis and Design, Vol. 24, pp. 133-155, 1997.

97

Page 113: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Appendix A: Hierarchical Shape Functions

A.1 Bar Element

Shape functions of a bar element.

Orderp Shape function

1 P0(�) =1

2(1� �) andP1(�) =

1

2(1 + �)

2 P2(�) = (1� �2)

3 P3(�) = 2�(�2 � 1)

4 P4(�) = �15

4�4 + 9

2�2 � 3

4

5 P5(�) = 7�5 � 10�3 + 3�

6 P6(�) = �105

8�6 + 175

8�4 � 75

8�2 + 5

8

7 P7(�) =99

4�7 � 189

4�5 + 105

4�3 � 15

4�

8 P8(�) = �3003

64�8 + 1617

16�6 � 2005

32�4 + 245

16�2 � 35

64

98

Page 114: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

A.2 Quadrilateral Element

See Figure 2.1-b for node and face numbers of a quadrilateral element.Pi’s are the shape functions

of a bar element as shown in Appendix A.1.

A.2.1 Nodal shape functions.

Node # Shape function

1 P0(�) P0(�)

2 P1(�) P0(�)

3 P1(�) P1(�)

4 P0(�) P1(�)

A.2.2 Edge shape functions.

Orderp Shape function of edge #

1 2 3 4

2 P2(�) P0(�) P1(�) P2(�) P2(�) P1(�) P0(�) P2(�)

3 P3(�) P0(�) P1(�) P3(�) P3(�) P1(�) P0(�) P3(�)

4 P4(�) P0(�) P1(�) P4(�) P4(�) P1(�) P0(�) P4(�)

5 P5(�) P0(�) P1(�) P5(�) P5(�) P1(�) P0(�) P5(�)

6 P6(�) P0(�) P1(�) P6(�) P6(�) P1(�) P0(�) P6(�)

7 P7(�) P0(�) P1(�) P7(�) P7(�) P1(�) P0(�) P7(�)

8 P8(�) P0(�) P1(�) P8(�) P8(�) P1(�) P0(�) P8(�)

99

Page 115: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

A.2.3 Face shape functions.

Orderp Shape function number

1 2 3 4 5

4 P2(�) P2(�)

5 P2(�) P3(�) P3(�) P2(�)

6 P2(�) P4(�) P3(�) P3(�) P4(�) P2(�)

7 P2(�) P5(�) P3(�) P4(�) P4(�) P3(�) P5(�) P2(�)

8 P2(�) P6(�) P3(�) P5(�) P4(�) P4(�) P5(�) P3(�) P6(�) P2(�)

A.3 Brick Element

See Figure 2.1-c for node, edge, and face numbers of a brick element.Pi’s are the shape functions

of a bar element as shown in Appendix A.1.

A.3.1 Nodal shape functions.

Node # Shape function

1 P0(�) P0(�) P0(�)

2 P1(�) P0(�) P0(�)

3 P1(�) P1(�) P0(�)

4 P0(�) P1(�) P0(�)

5 P0(�) P0(�) P1(�)

6 P1(�) P0(�) P1(�)

7 P1(�) P1(�) P1(�)

8 P0(�) P1(�) P1(�)

100

Page 116: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

A.3.2 Edge shape functions.

Orderp Shape function of edge #

1 2 3 4

2 P2(�) P0(�) P0(�) P1(�) P2(�) P0(�) P2(�) P1(�) P0(�) P0(�) P2(�) P0(�)

3 P3(�) P0(�) P0(�) P1(�) P3(�) P0(�) P3(�) P1(�) P0(�) P0(�) P3(�) P0(�)

4 P4(�) P0(�) P0(�) P1(�) P4(�) P0(�) P4(�) P1(�) P0(�) P0(�) P4(�) P0(�)

5 P5(�) P0(�) P0(�) P1(�) P5(�) P0(�) P5(�) P1(�) P0(�) P0(�) P5(�) P0(�)

6 P6(�) P0(�) P0(�) P1(�) P6(�) P0(�) P6(�) P1(�) P0(�) P0(�) P6(�) P0(�)

7 P7(�) P0(�) P0(�) P1(�) P7(�) P0(�) P7(�) P1(�) P0(�) P0(�) P7(�) P0(�)

8 P8(�) P0(�) P0(�) P1(�) P8(�) P0(�) P8(�) P1(�) P0(�) P0(�) P8(�) P0(�)

Edge shape functions a brick element (cont.).

Orderp Shape function of edge #

5 6 7 8

2 P0(�) P0(�) P2(�) P1(�) P0(�) P2(�) P1(�) P1(�) P2(�) P0(�) P1(�) P2(�)

3 P0(�) P0(�) P3(�) P1(�) P0(�) P3(�) P1(�) P1(�) P3(�) P0(�) P1(�) P3(�)

4 P0(�) P0(�) P4(�) P1(�) P0(�) P4(�) P1(�) P1(�) P4(�) P0(�) P1(�) P4(�)

5 P0(�) P0(�) P5(�) P1(�) P0(�) P5(�) P1(�) P1(�) P5(�) P0(�) P1(�) P5(�)

6 P0(�) P0(�) P6(�) P1(�) P0(�) P6(�) P1(�) P1(�) P6(�) P0(�) P1(�) P6(�)

7 P0(�) P0(�) P7(�) P1(�) P0(�) P7(�) P1(�) P1(�) P7(�) P0(�) P1(�) P7(�)

8 P0(�) P0(�) P8(�) P1(�) P0(�) P8(�) P1(�) P1(�) P8(�) P0(�) P1(�) P8(�)

101

Page 117: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Edge shape functions of a brick element (cont.).

orderp Shape function of edge #

9 10 11 12

2 P2(�) P0(�) P1(�) P1(�) P2(�) P1(�) P2(�) P1(�) P1(�) P0(�) P2(�) P1(�)

3 P3(�) P0(�) P1(�) P1(�) P3(�) P1(�) P3(�) P1(�) P1(�) P0(�) P3(�) P1(�)

4 P4(�) P0(�) P1(�) P1(�) P4(�) P1(�) P4(�) P1(�) P1(�) P0(�) P4(�) P1(�)

5 P5(�) P0(�) P1(�) P1(�) P5(�) P1(�) P5(�) P1(�) P1(�) P0(�) P5(�) P1(�)

6 P6(�) P0(�) P1(�) P1(�) P6(�) P1(�) P6(�) P1(�) P1(�) P0(�) P6(�) P1(�)

7 P7(�) P0(�) P1(�) P1(�) P7(�) P1(�) P7(�) P1(�) P1(�) P0(�) P7(�) P1(�)

8 P8(�) P0(�) P1(�) P1(�) P8(�) P1(�) P8(�) P1(�) P1(�) P0(�) P8(�) P1(�)

A.3.3 Face shape functions, face no. 1.

Orderp Shape function number

1 2 3 4 5

4 P2(�) P2(�) P0(�)

5 P3(�) P2(�) P0(�) P2(�) P3(�) P0(�)

6 P4(�) P2(�) P0(�) P3(�) P3(�) P0(�) P2(�) P4(�) P0(�)

7 P5(�) P2(�) P0(�) P4(�) P3(�) P0(�) P3(�) P4(�) P0(�) P2(�) P5(�) P0(�)

8 P6(�) P2(�) P0(�) P5(�) P3(�) P0(�) P4(�) P4(�) P0(�) P3(�) P5(�) P0(�) P2(�) P6(�) P0(�)

Face shape functions of a brick element, face no. 2.

Orderp Shape function number

1 2 3 4 5

4 P2(�) P2(�) P1(�)

5 P3(�) P2(�) P1(�) P2(�) P3(�) P1(�)

6 P4(�) P2(�) P1(�) P3(�) P3(�) P1(�) P2(�) P4(�) P1(�)

7 P5(�) P2(�) P1(�) P4(�) P3(�) P1(�) P3(�) P4(�) P1(�) P2(�) P5(�) P1(�)

8 P6(�) P2(�) P1(�) P5(�) P3(�) P1(�) P4(�) P4(�) P1(�) P3(�) P5(�) P1(�) P2(�) P6(�) P1(�)

102

Page 118: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Face shape functions of a brick element, face no. 3.

Orderp Shape function number

1 2 3 4 5

4 P2(�) P0(�) P2(�)

5 P2(�) P0(�) P3(�) P3(�) P0(�) P2(�)

6 P2(�) P0(�) P4(�) P3(�) P0(�) P3(�) P4(�) P0(�) P2(�)

7 P2(�) P0(�) P5(�) P3(�) P0(�) P4(�) P4(�) P0(�) P3(�) P5(�) P0(�) P2(�)

8 P2(�) P0(�) P6(�) P3(�) P0(�) P5(�) P4(�) P0(�) P4(�) P5(�) P0(�) P3(�) P6(�) P0(�) P2(�)

Face shape functions of a brick element, face no. 4.

Orderp Shape function number

1 2 3 4 5

4 P2(�) P1(�) P2(�)

5 P2(�) P1(�) P3(�) P3(�) P1(�) P2(�)

6 P2(�) P1(�) P4(�) P3(�) P1(�) P3(�) P4(�) P1(�) P2(�)

7 P2(�) P1(�) P5(�) P3(�) P1(�) P4(�) P4(�) P1(�) P3(�) P5(�) P1(�) P2(�)

8 P2(�) P1(�) P6(�) P3(�) P1(�) P5(�) P4(�) P1(�) P4(�) P5(�) P1(�) P3(�) P6(�) P1(�) P2(�)

Face shape functions of a brick element, face no. 5.

Orderp Shape function number

1 2 3 4 5

4 P0(�) P2(�) P2(�)

5 P0(�) P3(�) P2(�) P0(�) P2(�) P3(�)

6 P0(�) P4(�) P2(�) P0(�) P3(�) P3(�) P0(�) P2(�) N4(�)

7 P0(�) P5(�) P2(�) P0(�) P4(�) P3(�) P0(�) P3(�) P4(�) P0(�) P2(�) P5(�)

8 P0(�) P6(�) P2(�) P0(�) P5(�) P3(�) P0(�) P4(�) P4(�) P0(�) P3(�) P5(�) P0(�) P2(�) P6(�)

103

Page 119: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Face shape functions of a brick element, face no. 6.

Orderp Shape function number

1 2 3 4 5

4 P1(�) P2(�) P2(�)

5 P1(�) P3(�) P2(�) P1(�) P2(�) P3(�)

6 P1(�) P4(�) P2(�) P1(�) P3(�) P3(�) P1(�) P2(�) P4(�)

7 P1(�) P5(�) P2(�) P1(�) P4(�) P3(�) P1(�) P3(�) P4(�) P1(�) P2(�) P5(�)

8 P1(�) P6(�) P2(�) P1(�) P5(�) P3(�) P1(�) P4(�) P4(�) P1(�) P3(�) P5(�) P1(�) P2(�) P6(�)

A.3.4 Body shape functions.

Orderp Shape function number

1 2 3 4 5 6

6 P2(�) P2(�) P2(�)

7 P3(�) P2(�) P2(�) P2(�) P3(�) P2(�) P2(�) P2(�) P3(�)

8 P4(�) P2(�) P2(�) P3(�) P3(�) P2(�) P3(�) P2(�) P3(�) P2(�) P4(�) P2(�) P2(�) P3(�) P3(�) P2(�) P2(�) P4(�)

104

Page 120: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Appendix B: Coordinate Mapping

Functions, Quadrilateral Element with Arc

Edges

The generic form of the element geometry mapping for a quadrilateral element having arc edges

will be described. The element geometry mapping technique used in this study is the blending

function method given in the book by Szab´o and Babuˇska [2]. For a quadrilateral element, which

all element edges are curves as shown in Figure B-a, thex andy coordinate interpolation functions

are:

(0,0) x

y

ξ

η

(X2,Y2)2

1

(X1,Y1)

(X3,Y3)

1

3

(X4,Y4) 4

34

2

(0,0) x

y

ξ

η

3

4

β

1

2

α

y’

θ

(ξ)

ξ=0(X1,Y1)

(X2,Y2)

x’(X0,X0)

x1

(ξ)y1

a. Quadrilateral element with curve edges. b. Mapping parameters of edge 1 (arc shape).

Figure B: Curved boundary quadrilateral element.

105

Page 121: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

x(�; �) =1� �

2x1(�) +

1 + �

2x2(�) +

1 + �

2x3(�) +

1� �

2x4(�)

� (1� �)(1� �)

4X1 �

(1 + �)(1� �)

4X2 �

(1 + �)(1 + �)

4X3 �

(1� �)(1 + �)

4X4

y(�; �) =1� �

2y1(�) +

1 + �

2y2(�) +

1 + �

2y3(�) +

1� �

2y4(�)

� (1� �)(1� �)

4Y1 �

(1 + �)(1� �)

4Y2 �

(1 + �)(1 + �)

4Y3 �

(1� �)(1 + �)

4Y4

where(X1; Y1), (X2; Y2), (X3; Y3), and(X4; Y4) are the nodal coordinates of node 1 to 4, respec-

tively, x1(�), x2(�), x3(�), andx4(�) are the mapping functions of edges 1 to 4, respectively, and

wherey1(�), y2(�), y3(�), andy4(�) are the mapping functions of edges 1 to 4, respectively. All

xi’s andyi are in the global coordinatesx, y.

In order to show the general form of the mapping functionsxi andyi of arc edges. Edge 1 is

selected for demonstrating, where its end nodes are nodes 1 and 2 and the center point is (X0,Y0)

as shown in Figure B-b. The local coordinates of the edge arex’ , y’. The angle� and� are

calculated from the given input data. Our goal is to findx1(�) andy1(�), which are:

x1(�) = X0 +R cos(� + �)

y1(�) = Y 0 +Rsin(� + �)

where angle� is a linear function with the natural coordinate�. The natural coordinate� = �1 at

� = �-� (at node 1) and� = 1 at � = 0 (at node 2). Thus� is:

� =� � �

2(� � 1):

By substituting� intox1(�) andy1(�) above, the final mapping functions of edge 1 of the given

two end nodes and the center point are:

x1(�) = X0 +R cos(� � �

2� +

� + �

2)

y1(�) = Y 0 +Rsin(� � �

2� +

� + �

2):

106

Page 122: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Appendix C: The p-FEM, Licensing and

Source Code Distribution

The code developed in this study, namedp-FEM, is licensed to Mr. A. Promwungkwa, the author

of this study, and his academic advisor, Prof. C.E. Knight. The code is freely distributed under the

terms and condition applied by the owners.

The hard copy of the source code coupled with a short user manual has been printed as a

department book and kept at Mechanical Engineering Department, Virginia Tech, Blacksburg, VA

24061, USA.

Addresses of the owners:

Mr. A. Promwungkwa Prof. C.E. Knight

Department of Mechanical EngineeringDepartment of Mechanical Engineering

Chiang Mai University Virginia Tech

Chiang Mai, 50002 Blacksburg, VA 24061

Thailand USA

Email: [email protected] Email: [email protected]

107

Page 123: Data Structure and Error Estimation for an Adaptive p ... · Acknowledgments I gratefully acknowledge the contributions of my advisor, Dr. C.E. Knight, for his invaluable suggestions,

Vita

The author was born on Feb 3, 1965 in Nan, Thailand. He attended High School in Pua School,

Nan, Thailand. He enrolled in Chiang Mai University, Chiang Mai, Thailand and obtained a bach-

elor’s degree in Mechanical Engineering in 1986. He obtained master’s degree in Energy Technol-

ogy from Asian Institute of Technology, Bangkok, Thailand in 1989. He has worked as a university

lecturer in Mechanical Engineering Department, Chiang Mai University during 1989-1993. As a

part of his duties there, the author began working on the Ph.D. degree in Mechanical Engineering

Department at Virginia Tech in June 1993. Upon the completion of this study, the author will

return to continue his work at Chiang Mai University.

108


Recommended