Download as pdf
Download as pdf
You are on page 1of 381
Application and Implementation of Finite Element Methods J. E. AKIN Department of Engineering Science and Mechanics, The University of Tennessee, Knoxville, Tennessee, USA 1982 ACADEMIC PRESS A Subsidiary of Harcourt Brace Jovanovich, Publishers London New York Paris San Diego SanFrancisco Sao Paulo Sydney Tokyo Toronto ACADEMIC PRESS INC. (LONDON) LTD 24-28 Oval Road London NW1 US edition published by ACADEMIC PRESS INC. 11] Fifth Avenue New York, New York 10003 Copyright © 1982 by ACADEMIC PRESS INC. (LONDON) LTD All Rights Reserved No part of this book may be reproduced in any form, by photostat, microfilm or any other means, without written permission from the publishers British Library Cataloguing in Publication Data Akin, J. E. Application and implementation of finite element methods. 1. Finite element method—Data processing 1. Title 515.3’53 TA347.F5 ISBN 0-12-047650-9 LCCCN 81-69597 Printed in Great Britain by Page Bros (Norwich) Lid Preface The finite element method has now become a well-established branch of computational mathematics and the theoretical foundations have been presented in several texts. However, the actual application of finite element procedures requires extensive programming effort. The present text has been developed to illustrate typical computational alogrithms and their applications. Whilst the theoretical discussions have been limited to the minimum required to introduce the topic, most of the computational procedures are discussed in detail. Many universities follow an introductory finite element course, with a course on the related computational pro- cedures. This text should be well suited for such a course. Numerous programs are presented and discussed. A particular control- ling program and data structure have been included for completeness so that specific applications can be examined in detail. Emphasis has been placed on the use of isoparametric elements and numerical integration. The discussion of the programs for isoparametric elements, Chapter 5, and their example applications, Chapter 11, should clarify this important topic. Since practical problems often involve a large amount of data the subject of mesh generation is also examined. A very limited discussion of time integration procedures has been included. Also included is an Appendix which describes some subroutines of secondary interest, which are men- tioned in Chapters 2 and 6, together with various sample applications and the input formats for MODEL. Figures referred to in each Section are included at the end of the Section, followed by the Tables. The text reflects the many studies and conversations on finite elements in which I was able to participate during a period in which I was on leave from the University of Tennessee. These studies were conducted at the University of Texas at Austin, Brunel University, and the California Insti- tute of Technology. The support of a UK SRC Senior Visiting Fellow Grant anda US NSF Professional Development Grant is gratefully acknowl- edged. I would also like to acknowledge the support and encouragement of J. T. Oden, J. R. Whiteman, T. J. R. Hughes, E. B. Becker, and W. C. T. Stoddart. Copies of the MODEL software are available either from the author, or from the Institute of Computational Mathematics at Brunel University. University of Tennessee : J. E. Akin January 1982 Contents Preface . : Program Notation . 1 Finite Element Concepts 1.1 Introduction Foundation of finite clement procedures General finite element analysis procedure Analytic example Exercises . uRun Control and Input Phase 2.1 Introduction G 2.2. Control of major segments 2.3. Data input 2.4 Exercises . Pre-element Calculations 3.1 Introduction 3.2 Property retrieval 3.3. Effects of skyline storage . 3.4 Exercises . 5 Calculation of Element Matrices 4.1 Introduction 5 4.2 Square and column matrix ‘considerations : 4.3. Auxiliary calculations 4.4 Condensation of element’s internal degrees of freedom 4.5 Economy considerations in the generation of element matrices Isoparametric Elements 5.1 Introduction 5 5.2 Fundamental theoretical concepts 5.3 Programming isoparametric elements 65 74 vii viii 10 5.4 Simplex elements, a special case 5.5 Isoparametric contours 5.6 Exercises . Element integration and Interpolation 6.1 Introduction 6.2 Exact integrals for triangular and quadrilateral geometries 6.3 Gaussian quadratures 6.4. Numerical integration over triangles . 6.5 Minimal, optimal, reduced and selected integration 6.6 Typical interpolation functions . 6.7 Interpolation enhancement for C° transition elements 6.8 Special elements 6.9 Exercises . Assembly of Element Equations into System Equations 7.1 Introduction 5 7.2 Assembly programs . 7.3 Example 7 7.4 Symbolic element assembly for quadratic forms 7.5 Frontal assembly and solution procedures 7.6 Exercises . Application of Nodal Parameter Boundary Constraints 8.1 Introduction 8.2 Matrix manipulations. 8.3 Constraints applied at the element level 8.4 Penalty modifications for nodal constraints 8.5 Exercises . Solution and Result Output 9.1 Economical solution techniques for the system equations . 9.2 Output of results . 9.3 Post-solution calculations within the elements 9.4 Exercises . One-dimensional Eerie 10.1 Introduction 10.2 Conductive and convective heat transfer 10.3 Plane truss structures 10.4 Slider bearing lubrication . 10.5 Ordinary differential equations . 10.6 Plane frame structures 129 130 137 144 148 152 153 154 160 164 165 175 180 181 183 183 193 205 212 225 11 Two-dimensional Applications 11.1 Introduction - : 9 : 5 5 7 - 231 11.2 Plane stress analysis . A : : : : 7 . 232 11.3 Heat conduction : : 5 : . 245 11.4. Viscous flow in straight duets : 4 ‘ : C . 255 11.5 Potential flow . 5 7 : 7 : : . 259 11.6 Electromagnetic waveguides : : °C : qo 11.7 Axisymmetric plasma equilibria : 5 : : . 280 11.8 Exercises . a : c : 5 5 : . 284 12 Three-dimensional Applications 12.1 Introduction. : ° : : 7 » 285 12.2 Heat conduction : : 5 5 : : . 285 13 Automatic Mesh Generation 13.1 Introduction. 5 e : : : : . 295 13.2 Mapping functions. 5 5 . . : . 299 13.3 Higher order elements’. : . ° ‘ . 302 14 Initial Value Problems 14.1 Introduction. a : : ce : . 317 14,2 Parabolic equations . : 9 : : 7 : . 318 14.3 Hyperbolic equations 5 : : . . 331 14.4 Exercises . C g : 5 9 : . . 344 References and Bibliography . c a : . 7 . 345 Appendix —A Summary of Input Formats and Supporting Programs 9 ‘ . : . 351 Subject and Author Index. . c : : . . 367 Subroutine Index . : 5 : 3 ° 5 : - 371 Program Notation AD = VECTOR CONTAINING FLOATING FOINT VAKIAKLES AJ = JACOBIAN MATRIX AJINU = INVERSE JACOBIAN MATRIX C = ELEMENT COLUKN MATRIX CE = BOUNDARY SEGMENT COLUMN HATK(X CC = COLUMN MATRIX OF SYSTEM EQUATIONS CEQ = CONSTRAINT EQS COEFFS ARKAY COORD = SPATIAL COORDINATES OF @ SELECTEL SET OF NOLES CF = FENALTY CONSTRAINT COLUMN MATRIX CUTOFF IS SFECIFIED NUMBER FOR CUTTING OFF ITERATIONS D = NODAL FARAMETERS ASSOCIATED WITH A GIVEN ELEMENT DD = SYSTEM LIST OF NODAL PARAMETERS DOLD = SYSTEM LIST OF NODAL DOF FROM LAST ITERATION ELTA = LOCAL KERIVATIVES OF INTERFOLATION FUNCTIONS H ELPROF = ELEMENT ARRAY OF FLOATING FOINT PROFERTIES FLTEL = SYSTEM STORAGE OF FLOATING FT ELEMENT FROF FLTMIS = SYSTEM STORAGE OF FLOATING FT MISC. PROF FLTNF = SYSTEM STORAGE OF FLOATING FT NODAL FROF FLUX = SFATIAL COMPONENTS OF SFECIFIEW BOUNDARY FLUX GLOBAL GLOBAL DERIV.S OF INTERPOLATION FUNCTIONS H H = INTERPOLATION FUNCTIONS FOR AN ELEMENT Il = VECTOR CONTAINING FIXED POINT ARKAYS IEC = NOLAL POINT BOUNDARY RESTRAINT INUICATOR ARRAY INDEX = SYSTEM DEGREE OF FREEDOM NUMBERS ARKAY IF INRHS.NE.O INITIAL VALUES OF CC ARE INFUI IF IFTEST.GT.O SOME PROPERIIES ARE DEFINED IF1 = NUMBER OF ROWS IN ARRAY FLTNF IF2 = NUMRER OF ROWS IN ARRAY NFFIX IF3 = NUMBER OF ROWS IN ARRAY FLTEL IF4 = NUMBER OF ROWS IN ARRAY LFFIX IFS = NUMBER OF ROWS IN ARRAY PRILFT ISAY = NO. OF USER REMARKS TO BE 1/0 JF1 = NUMBER OF COLUMNS IN ARRAYS NPFIX AND NFROF JP2 = NUMBER OF COLUMNS IN ARRAYS LPFIX ANI! LPROF JP3 = NUMBER OF COLUMNS IN ARRAY MISFIX AFIXED = ALLOCATED SIZE OF ARRAY ID. AFLOAT = ALLOCATEL SIZE OF ARRAY All ODES = LIST OF DOF RESTRAINT INDICATORS AT A NOLE API = NUMBER OF COL IN ARRAYS FLTNF & PRILFT & PTFROF KP2 = NUMBER OF COLUMNS IN ARRAYS FLTEL ANI! ELFROF APS = NUMBER OF COLUMNS IN ARKAY FLTHMIS AI-KS = NO. OF COLUMNS OF FLOATING FT CONSTRAINT DATA LEN = NUMBER OF NODES ON AN ELEMENT BOUNDARY SEGMENT IF LEMWRT = 0 LIST NOLAL PARAMETERS BY ELEMENTS IF LHOMO=1 ELEMENT PROPERTIES ARE HOMOGENEOUS LNODE = THE N ELEMENT INCIDENCES OF THE ELEMENT LPFIX = SYSTEM STORAGE ARRAY FOR FIXED FT ELEMENT FROF LPROF = ARRAY OF FIXED POINT ELEMENT PROFERTIES IF LPTEST.GT.O ELEMENT PROFERTIES ARE DEFINE xi > ND. OF SYSTEM NOLES HAXKAN = MAX. HALF BANLWIDTH OF SYSTEM EQUATIONS IF MAXTIM,GT.O CALCULATE CFU TIMES OF MAJUR SEGMENTS MAXACT = NO ACTIVE CONSTRAINI TYFES ( =MAXTYF) HaXTYF = MAX NOLAL CONSTRAINT TYPE (=3 NOW) MISCFL = NO. MISC. FLOATING FOINT SYSTEM FROFERTIES MISCEX = NO. MISC. FIXED POINT SYSTEM FROFERTIES HISFIX = SYSTEM ARRAY OF MISC. FIXEL) POINT PROPERTIES MTOTAL = REQUIRED SIZE OF ARRAY Alt M1 TO MNEXT = POINTERS FOK FLOATING FOINT ARKAYS N= NUMBER OF NODES FER ELEMENT NCURVE = NO. CONTOUR CURVES CALCULATED FER PARAMETER NDFREE = TOTé@. NUMBER OF SYSTEM DEGREES OF FREELIOM NDXC = CONSTRAINT EQS DOF NUMBERS ARKAY NE = NUMBER OF ELEMENTS IN SYSTEM NELFRE = NUMBER OF DEGREES OF FREEDOM PER ELEMENT NG = NUMKEK OF NODAL PARAMETERS (DOF) FER NODE IF NHOMU=I NOLAL SYSTEM PROFERTIES ARE HOMOGENEOUS NITER = NO. OF ITERATIONS TO FE RUN NLFFIX = NO. FIXED FOINT ELEMENT PROPERTIES. NUFFLO = NO. FLOATING POINT ELEMENT FROFERTIES NNPFIX = ND. FIXED POINT NODAL FROFERTIES NNEFLO = NU. FLOATING POINT NODAL PROPERTIES NOCOEF = NO COEFF IN SYSTEM SQ MATRIX NOLES = ELEMENT INCIDENCES UF ALL ELEMENTS NOTHER = TOTAL NO. OF ROUNDARY RESTRAINTS .GT. TYPET NPROF = NODAL ARRAY OF FIXER POINT PROPERTIES IF NETURT = 0 LIST NODAL PARAMETERS RY NOTES NRANGE = ARKAY CONTAINING NODE NO.S OF EXTREME VALUES NKEQ = NO. DF CONSTRAINT EQS. OF EACH TYFE NES = NO. OF CONSIRAINT FLAGS OF EACH TYFE NSEG = NO OF ELEM BOUNDARY SEGMENTS WITH GIVEN FLUX NSFACE = DIMENSION OF SFACE NT@FE1 = UNIT FOR POST SOLUTION MATRICES STORAGE NTAFE2+3+4 = OF TIONAL UNITS FOK USER (USED WHEN 0) NTOTAL = REQUIRED SIZE OF ARRAY IL IF NULCOL.NE.O ELEMENT COLUMN MATRIX IS ALWAYS ZERO NUMCE = NUMBER OF CONSTRAINT EQS. NI TO NNEXT = POINTERS FOR FIXEL FOINT ARRAYS FRILPT = FLOATING PT FROF ARKAY OF ELEMENT’S NOLES FTPROF = NODAL ARRAY OF FLOATING FT PROPERTIES RANGE? 1-MAXIMUM VALUE+ 2-MINIMUM VALUE OF DOF S = ELEMENT SQUARE MATRIX SE = BOUNDARY SEGMENT SQUARE MATRIX SS = ‘SQUARE’ MATRIX OF SYSTEM EQUATIONS TIME = ARRAY STORING CPU TIMES FOR VARIOUS SEGMENTS TITLE = PROBLEM TITLE X = SPATIAL COORUINATES OF ALL NODES IN THE SYSTEM XFT = SFATIAL COOKDINATES OF @ CONTOUR FOINT Finite element concepts 1.1 Introduction The finite element method has become an important and practical numerical analysis tool. It has found application in almost all areas of engineering and applied mathematics. The literature on finite element methods is extensive and rapidly increasing. Extensive bibliographies are available [59, 76] but even these are incomplete and are rapidly becoming outdated. Numerous texts are available which present the theory of various finite element procedures. Most of these relegate programming consider- ations to a secondary, or lower, level. One exception is the text by Hinton and Owen [42]. The present work takes a similar position in that it aims to provide a complete overview of typical programming considerations while covering only the minimum theoretical aspects. Of course, the theory behind the illustrated implementation procedures and selected applications is discussed. This chapter begins the introduction of various building block programs for typical use in finite element analysis. These modular programs may be utilized in numerous fields of study. Specific examples of the application of the finite element method will be covered in later chapters. 1.2 Foundation of finite element procedures From the mathematical point of view the finite element method is based on integral formulations. By way of comparison the older finite difference methods are usually based on differential formulations. Finite element models of various problems have been formulated from simple physical 1 2 1. Finite element concepts intuition and from mathematical principles. Historically, the use of physical intuition led to several early practical models. However, today there is increased emphasis on the now well established mathematical foundations of the procedure [10, 28, 61]. The mathematical rigor of the finite element method was lacking at first, but it is now a very active area of research. Modern finite element integral formulations are obtained by two different procedures: variational formulations and weighted residual formulations. The following sections will briefly review the common procedures for establishing finite element models. It is indeed fortunate that all of these techniques use the same bookkeeping operations to generate the final assembly of algebraic equa- tions that must be solved for the unknown nodal parameters. The earliest mathematical formulations for finite element models were based on variational techniques. Variational techniques still are very important in developing elements and in solving practical problems. This is especially true in the areas of structural mechanics and stress analysis. Modern analysis in these areas has come to rely on finite element techniques almost exclusively. Variational models usually involve finding the nodal parameters that yield a stationary (maximum or minimum) value of a specific integral relation known as a functional. In most cases it is possible to assign a physical meaning to the integral being extremized. For example, in solid mechanics the integral may represent potential energy, whereas in a fluid mechanics problem it may correspond to the rate of entropy production. Many physical problems have variational formulations that result in quadratic forms. These in turn yield algebraic equations for the system which are symmetric and positive definite. Another important practical advantage of variational formulations is that they often have error bound theorems associated with them. Numerous examples of variational formulations for finite element models can be found by examining the many texts available on the theory of variational calculus. Several appli- cations of this type will be illustrated in the later chapters. It is well known that the solution that yields a stationary value of the integral functional and satisfies the boundary conditions is equivalent to the solution of an associated differential equation, known as the Euler equation. If the functional is known, then it is relatively easy to find the corresponding Euler equation. Most engineering and physical problems are initially defined in terms of a differential equation. The finite element method requires an integral formulation. Thus, one must search for the functional whose Euler equation corresponds to the given differential equation (and boundary conditions). Unfortunately, this is generally a difficult, or impossible task. Therefore, there is increasing emphasis on the various weighted residual techniques that can generate an integral for- 1.2 Foundation of finite element procedures 3 mulation directly from the original differential equations. Both the differ- ential equation and integral form are defined in physical coordinates, say @, y, 2). : : As a simple one-dimensional example of an integral statement, consider the functional L 1-3 [ [K(di/dx)? + HP] de, which will be considered in later applications. Minimizing this functional is equivalent to satisfying the differential equation K@t/dx? — Ht = 0. In addition the functional satisfies the natural conditions of dé/dx = 0 at an end where the essential boundary condition, t = fo, is not applied. The generation of finite element models by the utilization of weighted residual techniques is a relatively recent development. However, these methods are increasingly important in the solution of differential equations and other non-structural applications. The weighted residual method starts with the governing differential equation L(9)=@ and avoids the often tedious search for a mathematically equivalent vari- ational statement. Generally one assumes an approximate solution, say ¢*, and substitutes this solution into the differential equation. Since the assumption is approximate, this operation defines a residual error term in the differential equation L(¢*)- Q=R. Although one cannot force the residual term to vanish, it is possible to force a weighted integral, over the solution domain, of the residual to vanish. That is, the integral over the solution domain, Q, of the product of the residual term and some weighting function is set equal to zero, so that i= [ Rwao=0. 2 Substituting interpolation functions for the approximate solution, @*, and the weighting function, W, results in a set of algebraic equations that can be solved for the unknown coefficients in the approximate solution. The choice of weighting function defines the type of weighted residual technique being utilized. To obtain the Galerkin criterion one selects W= o*, 4 1. Finite element concepts while for a least squares criterion W = aRlag* gives the desired result. Similarly, selecting the Dirac delta function gives a point collocation procedure; i.e. w=6. Obviously, other choices of W are available and lead to alternate weighted residual procedures such as the subdomain procedure. The first two pro- cedures seem to be most popular for finite element methods. Use of integration by parts with the Galerkin procedure usually reduces the con- tinuity requirements of the approximating functions. If a variational pro- cedure exists, the Galerkin criterion will lead to the same algebraic approx- imation. Thus it often offers optimal error estimates for the finite element solution. For both variational and weighted residual formulations the following restrictions are now generally accepted as means for establishing conver- gence of the finite element model as the mesh refinement increases [87]: 1. (A necessary criterion) The element interpolation functions must be capable of modelling any constant values of the dependent variable or its derivatives, to the order present in the defining integral statement, in the limit as the element size decreases. 2. (A sufficient criterion) The element shape functions should be chosen so that at element interfaces the dependent variable and its derivatives, of one order less than those occurring in the defining integral statement, are continuous. 1.3 General finite element analysis procedure 1.3.1 Introduction In the finite element method, the boundary and interior of the continuum (or more generally the solution domain) is subdivided (see Fig. 1.1— illustrations are arranged together at the end of the section in which they are mentioned) by imaginary lines (or surfaces) into a finite number of discrete sized subregions or finite elements. A discrete number of nodal points are established with the imaginary mesh that divides the region. These nodal points can lie anywhere along, or inside, the subdividing mesh lines, but they are usually located at intersecting mesh lines (or surfaces). Usually, the elements have straight boundaries and thus some geometric 1.3 General finite element analysis procedure 5 approximations will be introduced in the geometric idealization if the actual region of interest has curvilinear boundaries. The nodal points are assigned identifying integer numbers (node num- bers) beginning with unity and ranging to some maximum value, say M. Similarly, each element is assigned an identifying integer number. These element numbers also begin with unity and extend to a maximum value, say NE. As will be discussed later, the assignment of the nodal numbers and element numbers can have a significant effect on the solution time and storage requirements. The analyst assigns a number of (generalized) degrees of freedom, (dof), say NG, to each and every node. These are the (unknown) nodal parameters that have been chosen by the analyst to govern the formulation of the problem of interest. Common nodal par- ameters are pressure, velocity components, displacement components, dis- placement gradients, etc. The nodal parameters do not have to have a physical meaning, although they usually do. It will be assumed herein that each node in the system has the same number (NG) of nodal parameters. This is the usual case, but it is not necessary. A typical node, Fig. 1.1, will usually be associated with more than one element. The domains of influence of a typical node and typical element are also shown in Fig. 1.1. A typical element will have a number, say N, of nodal points associated with it located on or within its boundaries. It is assumed herein that every element has the same number (N) of nodes per element. This is the usual situation, but again it is not necessary in general. This idealization procedure defines the total number of degrees of free- dom associated with a typical node and a typical element. Obviously, the number of degrees of freedom in the system, say NDFREE, is the product of the number of nodes and the number of parameters per node, i.e. NDFREE = M*NG. Similarly, the number of degrees of freedom per element, say NELFRE, is defined by NELFRE = N* NG. Recall that the total number of degrees of freedom of the system cor- responds to the total number of nodal parameters. In general the system degree of freedom number, say NDF, associated with parameter number J at system node number I is defined (by induction) as: NDF = NG*(I- 1) + J, (1.1) where 1| fe maxean— Dee Dee < oDeeerL ors] eeoDe ee Ly coee eo sca ZERO Be rc ee Dee eC Deere eee De oC Deece ee ee De € Dece p000 NG N loceee sl RRRRRD fe ORRRR wiiiooe Bo loses es > c — |lpbee. lec Deseee \lec Dee res Deeewe 656m Doe: Dewees Devoe ERO ; “Deere Deee oe Dee Dee eee De De en) 0 (o) Full (b) Compact 1.4 Analytic example In order to review the previous introductory concepts consider the following model problem which will serve as an analytic example. The differential equation of interest is ar ae +Q=0 (1.5) on the closed domain, x €[0,L], and is subjected to the boundary conditions (L) =t) and £0 =q. (1.6) The corresponding governing integral statement to be used for the finite element model is obtained from a variational statement. In this case the 14 1. Finite element concepts variational formulation states that the function, t, which satisfies the essen- tial condition, t(L) = f, and minimizes rt 2 123 [ [(aax)? ~ 20} ax + 4X0), 7) 2s also satisfies Eqns (1.5) and (1.6). In a finite element model / is assumed to be the sum of the NE element and NB boundary segment contributions so that NE NB Dre ze (1.8) where here NB = 1 and /? = gt(0) and a typical element contribution is [ [(de*/dx)? — 20%} dx, Ie where F is the length of the element. To evaluate such a typical element contribution it is necessary to introduce a set of interpolation functions, H, such that F(x) = W(x) Te = Te HT and (1.9) df _ dH* dH‘ ee rarer 5 de dx dx where T* denotes the nodal values of ¢ for element e. Thus a typical element contribution is 1 R= STS T° - TTC, (1.10) where . dH‘? dH* |. dx de (1.11) and c= [wren . If the domain, (0, L], contains M nodes such that 1(0) = 7; and 1(L) = Ty, then the non-essential (natural) boundary term is P=TTC=Tq. 1.4 Analytic example 15 Clearly, both the element degrees of freedom, T*, and the boundary degrees of freedom, T’, are subsets of the total vector of unknown par- ameters, T. That is, T’ C T and TC T. Of course, the T? are usually a subset of the T* (i.e., T°C T® and in higher dimensional problems H° CH‘). The main point here is that J = J(T) and that fact must be considered in the summation in Eqn. (1.8) and in the minimization. The consideration of the subset relations is merely a bookkeeping problem. As will be shown later this allows Eqn. (1.8) to be written as I=3 TST -TC, where NE _ >, _— a NE C= > BTC + BTC and where B denotes a set of symbolic bookkeeping operations. The combination of the summations and bookkeeping is commonly referred to as the assembly process. It is often simply (incorrectly) written as a sum- mation. No uniformly accepted symbol has been developed to represent these operations. It is easily shown that minimizing / = 1(T) leads to dl/sT =0=ST-C, as the governing algebraic equations to be solved for the unknown nodal parameters, T. To be specific, consider a linear interpolation element with N =2 nodes per element. If the element length is /* = x) — x, then the element interpolation is HY(x) = [02 — xP (x — x), so (1.12) dH _ . tlc ue ue, Therefore the element square matrix is simply s=2[ 1 7 (1.13) Fl-1 af ' while the element column matrix is [ola 16 1. Finite element concepts Assuming that Q = Qo, a constant, this simplifies to c= 2 f), (1.14) The exact solution of the original problem for Q = Qo is 1(x) = to + g(x — L) + QL? ~ x°V/2. (1.15) Since for Qo # 0 the exact value is quadratic and the selected element is linear, our finite element model can give only an approximate solution. However, for the homogeneous problem Qo = 0, the model can (and does) give an exact solution. To compare a finite element solution with the exact one, select a two element model. Let the elements be of equal length, f° = L/2. Then the element matrices are the same for both elements. The assembly process yields, S T = C, as 1 eal 05/71 1 q 2 QoL 2|- 1 (+1) - if} = at + | - { 0 al 12.75: 1 0 However, these equations do not yet satisfy the essential boundary con- dition of t(L) = T3 = t. That is, S is singular. After applying this condition the reduced equations are Le: alld EGE or S, T, = C,. Solving for T, =S;'C, where eff yields eI REboal cw These are the exact nodal values as can be verified by evaluating Eqn. (1.15) at x = 0 and x L/2, respectively. Thus our finite element solution is giving an interpolate solution. That is, it interpolates the solution exactly at the node points and is approximate at all other points. For the homo- geneous problem, Qy = 0, the finite element solution is exact at all points. These properties are common to other finite element problems. The exact and finite element solutions are illustrated in Fig. 1.7. Note that the derivatives are also exact at least at one point in each element. The optimal 1.4 Analytic example 7 derivative sampling points will be considered in a later section. For this differential operator it can be shown that the centre point gives a derivative estimate accurate to 0(/*?) while all other points are only O(/*) accurate. For Q = Qp the centre point derivatives are exact in the example. Fig. 1.7 A two element solution Had 13 tot qlx-L) + Aol L? —x?2)/2 18 1. Finite element concepts 1.5 Exercises 1. Derive Eqn. (1.1) by induction. 2. An alternate way of assigning degree of freedom numbers is to number the ith parameters at all nodes before numbering the (i+ 1)th par- ameters. Derive by induction the resulting equation that would be analogous to Eqn. (1.1). Does Eqn. (1.3) remain the same? 3. Repeat the graphical assembly in Fig. 1.5 after adding mid-side nodes to the elements. 4. Redraw Fig. 1.2 using NG = 3. Calculate the degree of freedom number atl=4,J=2. 5. Determine the maximum and minimum element degree (i.e. number of connecting elements) of the nodes in Fig. 1.1. Also determine the maximum nodal degree of a node. 6. Construct the Pascal triangle of complete polynomial terms correspond- ing to the three triangular elements in Fig. 1.8. 7. List likely nodal parameters and required properties data for a problem involving: (a) linear stress analysis, (b) heat conduction, (c) potential flow, (d) fluid dynamics, and (e) magnetic fields. 8. Employ a local coordinate system, 0 wee onal 2 ie mea a ete NW oO w asrs 2 Sea fos3 * Soda 3 a Sae2 » . © °E8 27a i sku g = 3 mere * 2 8188 P +S + Vity 2 “at 8 a ree tity Eee Guat 8 o ast. * ont, si sate mZRQ *# Yaseour taka 29, 9 = Ss Tero * ¥82g24 seo 2 ti" 5% mued eae ee ceeo 3 aett * San ee ag * TD ge ce Sind « gSauate Ssit 3 Seay T ee 35 sees Seana) eZee Raz ze + oa s*e * gsae22e2 WOeaeZe a out = = a0 arr ceases at uu Os ce Oe Sz ee © Soa mZHOEe aa WH a oO Sted 2 2tS SE ee Ou Sous 3 Za8e ne 9 wart * Nat 2aoa ausgienszeuom oe zee Oe sa. Aoeuas ts ovat Naaao e = eee ue Oie< «ggduecce gerau*scaaote |g gage Goo ss bX 20,222 cz hz Overau 6 a to -e Seu age 20888 Z5ezaePieeiee 2 = roeesee) a8 oS y" ong Suse Z5e2aeQteedaa 2 = tut 3E2 3 * Ae TA #Oue TAQ gna a eececeen a F aWawcwcau> Oe & "a6" aaa 2ua z Sevscyesa © 2 See alSe. Se PSerstesets Ss Segesuese at Z thee sseeeeds Eo see'S3s Ta sratcasey S_ Set ere a Ko #2 #ozZzZzREZe anad errs eee DB «Suet 5a S24 Qe eamz OZ ae bt ane 27650535. er ato tune bo S ee eD5eeGuo sea & ouew aus x = *aresro2-wis x *onte Seta a #O #Y COW oe a 2 oyeay 2 BT Ee ow Ss (ef tenon > Zz = ee ad Ba 2 #k # Zuuwwn Zz + 4 7 1 aos Oo 940 Pew o 5 S52 a° 2. @ S th #osunnzZe FID g 2 2 xa SPS eoSaore 2 55 *Sgta'ss az cezz 2 @ *da"Sa “Gaes~~accunoS £8 #2 eSZaduZ2o!*oaSke S S en ess were 1G ax ee S 2 *g *Taste*Zn. care 3 SO tee eet USosmokus 8 @ *F eazRrOn” oO LzzrO Se S50 SSh eS 2 oS ako Sheath br eeresesS gS x *SehaZz"woruowoqwe B Ande orSSoQesugs ee ee QF #W emda scnoncacKali 2 3 2 3 oo io a e00 e 2 3 “OS 5 3 =m GB 9vVv vow v wvve8 vesse 6 “6 3 Gooud coowe i 2 a = E Fig. 3.11 Subroutine INDXEL “* oe 2 a ade z = = sete a xs a te ie 5 S$ 3 wz z Zeus Ode So) S*G. oxz & = wee = Bhiiu = & + rw) oo -es Gece cau 3 ora". oS + t Zeowz ace 4 Sexes eee wee se Setemaw GS go zZ"oz rz a Ze *OWGuR = Oo = 2200 4 3 ueOeSucoum z Zo 6, 3 EeGe yu wo SF Z’wi— econo G * Useeuew uw OG 60 So eiReGn Ze we Loz, Zu"zrowz « w+ a 89 Peis} Onze es oxen" Sn 2e"47 =e Een ebZO> wgud) voz QZ09" <1 Zon Zze>. uscez Oe 20 22*guxo" 40" XXSE ow wLoWAue 2a w QrrwEu F990 9 x 4OOZO GD" =" euzZ0QusouzZZOus CM rae weer ta tat tatetctatel are 2° a BLV GLLLD Ye Fig. 3.12 Subroutine ELFRE ** ra = #Oe um a “zo #on — SEG =" ao orw wile © Foe a5. & Sac Xeoe 5 Za aS a . Geae Z aad Zz une Seze % Gan 5 ee ue gms es Gede GO vtzu = Qu Zaeon xz see 5 GG8S arz Rego “4#Oe + uw 2 Noe Ones awe Got is = cw aoe eS gece xecuue a*i* feeeon 0 ge getaugEe6 Poe zas Sled ee eure oe Satucor ow cae eee ee Die ODL 4 we O24 Ceyeeomecda a a2 * eZee Gls Gedy SEZS~a25 z*25g%2fs ahiieg aze50 9° 2 “S222 8x Zee zee 525 1).GT-0 ) OCT) Bre eet ootsonu Sue Bebe Soa REESRIASUE a ° 5 = L0G LLLLD Table 3.1 Degree of freedom numbers at node |; System* Local INDEX(1) INDEX(2) INDEX(J) INDEX(NG) NG =NG*(—- 1) +J *INDEX(J) ON + (L — (N)AGON1)*ON ON«N D1 + (L — (1)3GON1)*9N D1 + (L— We ON za L + (L — (L)3GON1)*«9N L (N)3GON1 (N)3GON1 (4)3GON1 (Z)3GON1 (L)3G0N1 (L)3GON1 (t)3G0N1 ON ON ret C+ (L-e9N wayshs e907, suaquinu Wopaay jo aasBap yuawe|3 ze age, (140 0N1 = *1 apou wayshs, i saquinu Jayawesed 4 apou 12007 46 3. Pre-element calculations 3.3 Effects of skyline storage Up to this point we have been assuming that a banded storage mode will be used. While this is the case in most of the discussions, here it should be noted that other important storage modes can also be treated easily. For example, the skyline or profile storage is suggested by Taylor [69] and Bathe and Wilson [14]. To use these procedures we must know the max- imum height (out to the last non-zero term) of each column of the assembled system equations. One easy way to find these data is to find the contribution of each element to the column heights and retain the maximum encountered for each column in the system square matrix. Thus we can have routines similar to ELBAND and SYSBAN. From Fig. 3.4 we note that the typical column height, Hy, of an element is Hy = J — Lyin + 1. These simple calculations are executed by subroutine ELHIGH and the system maximums are tabu- lated by routine SKYHI which loops over all of the elements and calls ELHIGH. Other information of importance to skyline solution procedures is the location of the diagonal elements and the total number of coefficients to be stored (which is always less than or equal to the band storage). If we decide to store the columns from the top down, then these calculations are simple, as shown in subroutine SKYDIA. Note that the location of the last diagonal coefficient also corresponds to the total number of coefficients to be stored. The last three programs are shown in Figs. 3.13 to 3.15. An example of typical equation heights due to various element contributions is shown in Fig. 3.16. Also shown is the assembled form of the system equations for the mesh in the figure. Figure 3.17 shows a typical system square matrix. It indicates which columns would be stored, and the location of the diagonal coefficients. The above discussion has shown how to reduce storage requirements and problem costs by using efficient storage techniques. More importantly we have a better understanding of how to relate the element and system equation numbers, and how to recover basic input data needed for cal- culating the element matrices. In the next chapter we will outline additional important concepts associated with the generation of various element matrices. Very specific and extensive details of these concepts will be presented in the chapters on typical applications. Fig. 3.13 Subroutine ELHIGH a * BS 0 *# oo - * - 3 So eee = eo* = a a x es aoe ee & we Box a5 c = Geo One #5 = oe EWO Zr a s 2. ee Le Zz a ede 5S oo =~ a s rz wuz Zoey exG > OE x Satiee az te ww - 3 a ee see5 #oa 5G = z Tee SGa= eee ei Oct u x = ae oa Zeer ang SG oe a = eeZezz ons 2 aang 3 = x ORD Gries esu aoe z a dy “raza 25.5 (on a MES as 6 28a Sou cota HZERW be WZO a- = a ZeOenwe 2x0" eGR Zwoow as = = Eee x sweEokuGow WrIzzzrn 20 =n =H ne GIO, 3 Wo do aa°s =Q“auS osers. = ge a 2 ZZeeEeQnz~ w2u0G7 ~ vzzZu55 = cere ou on sO 2 we 4 Om Ode ee wT OF Our ane g Wearue See Da Su F 2eeExS of atau Or x Wu Ae =Ha WinzuG vgoux = Sz eens ozs o Qe ae > NealmMG G uWzROg "OC ZeTetwun ra 5 e EOr ug sane Ge 8 Goswee on ote Swow =o Zz Qz*oOeZi Zzanzs0r = Goure FE ezebezr ow Oo Fw om Za ju azo =a xe" 257" xe BD 2 oF ST enneMGETNIAS = wo oMwtzuzu O° OeSesuuz ae “2 Zz Ge ouw =n 2u5Fede OH s" a" xaGz G5 za = #IweScossowozOr ab —zlSuel EeQeu 05 Zu az 5 a 4 =z *S2"arZzuagz2*a° = =f2uiszsse5 BO Ou anz 45 5 25" > eee tO” 2a 4 Guz Sousa A+ ere 252057 SHE BntTAS % (WS Onsuu a ZO Zee ezOZUZ~ x Oreo le OWA TZ GD #TeeStacoud Gro | Suro So 5-4 ee Gas? wo BLEW BOLLLLVLVOHU LV Bo Lv = woe 20st ws Oo > eZ" oon OW ft mewHOQnNIZIK xR Serez se SE""S4 2283 oy Et Phe San" FOU Bauaosn SoS tS nn 2E Sw SP % 2 eBoez “*aGS20"~ S2euFsxecs" gtx Bee ORES nA SSS FE S5C3 2 PSS RHO Te Cee ORE r tot > Quis EZ ~~ zzzZa 22Zzz 2 re #Oces SEQuus~ wN> RZZ4Gw 90055 eax eexTu or Suwon Ta ee ee ee ee ee eee Bet Se nae 8 Ce? WEA RADE og twine, , =2E2E Btoesdowze ox Sez eee 2 © Fox G ety wow Osanessosan"~SerS et OTe TAuusesosurous § & *ZEer au u"Go00 ga naseue x Zero Fae cee az STeeEOSEeoe tows «6G SS *2E*E Sty" o8288 BeSoksa=dooSuusoue 2 atts S24 29528 NSSRESSTSORZAAUSES Gogo 5 ° ° S a < eo bee Lvee oe ‘eo : 28 a 2 2 Fig. 3.15 Subroutine SKYDIA a+ TENTS eee eae et) 0 [x IX IX 5 +0 +2 ———S. a Ke ath +8 ookxX REED Total mesh (NG 2 Z° 39" fog in g UtOr*e aD" a s ore * nau 2 S*Suegau ss 3 Ot 5g" Z845%, 2 te Seo rao" 5 < costewsy S E Be SSerceuss = ator" Gnees 3 Reivenurre2 F 3 we = we ZeOweOU COm °° ° x Go iad yy z*Oe*Seuscc 8 £ oo 2S Ze we 5 wo ” co Satealmotee wee g a0 S*Ex*ZES*ES Ets = Lane oy —] SeSheta za Ses 2, - SeGueeezaes 4220 E oe " Ay esx ioe a mo oe o nN on ev eae ore SE z 88 & 82 2 Se £22 w* Z6"3 2" Zouke 5 =. eo = .3> 2 3 > gas ZeEue 2 £ o neo o xD S els S64 ar SE" oS usa ean E BE See — ges & See eS Ee S*as*Sguncu. poz 3 2 £26 2 636 2 €36 erie Oe Oe Z2WTOOZOZOR al M SEE De ee @ SEE EEE € Zueusososes |g aE 5 w EE aE 5 55 Oe uceneusn Cem) £ v Os 7 Os 7 Be oS SaGOLOn aU: Be SPs GSSQOABA Ses S - AZO AZO as aSS 3 2 2 LLG BOLL a 2 z 3.4 Exercises 49 Fig. 3.17. A typical skyline storage of the system square matrix Si Tu] 0 0 0 0 0/0 0 0 0 0} 0 [Su] 0 0 a Sus} [Sa Sus] 0 0 7 Sse} S56] 0. [Sse Se6 | [ Ser} | Sos Sn} | 0 sym. _ (a) Actual system square matrix 12—-6———-—] 1 Ce 3 58—-2-—— 5 9 10 13 — — 9 2 a u 15 16 19 15 17 20 17 as 21 (b) Corresponding vector locations _(c) Diagonal location 3.4 Exercises 1. Refer to Fig. 3.18. Determine the bandwidth if the elements are: (a) four node quadrilaterals; and (b) two node lines. 2. Renumber the nodes in Fig. 3.18 by numbering across line 1-18 first and then proceeding to the right. How much is the bandwidth reduced? Determine a node numbering that gives a smaller bandwidth. What is the element bandwidth in each of the three cases for the quadrilateral in the bottom left corner? 3. Calculate the element column heights in the bottom left quadrilateral in Fig. 3.18. What are the heights if there are two degrees of freedom per node? 4. Consider Fig. 3.19. If the elements are two node line elements sketch the skyline of the assembled equations; what is the system bandwidth? Repeat these operations with the node numbers alternating from side to side (that is, 6 becomes 3, etc.). 5. Utilize the arrays, IDEQ and LM, developed in exercises 6 and 7 of Section 2.4 to develop alternative versions of the programs INDXPT and INDXEL. Fig. 3.18 Problem mesh 1 Fig. 3.19 Problem mesh 2 4 Calculation of element matrices 4.1 Introduction In this chapter typical computations related to problem dependent ele- ment calculations will be outlined. These correspond to the boxes after oint 1 in the flowchart of Fig. 2.2. Much more detail will be given when xample applications are considered later. The major subjects of interest ere are typical data requirements for the element square matrix, element alumn matrix, auxilary element calculations and boundary flux contri- utions. The absolute minimum problem dependent calculation involves ne generation of an element square matrix. Thus our discussions begin with this. 4.2 Square and column matrix considerations A typical definition of an element square matrix S, frequently called the element stiffness matrix, is often of the form aH" aH oH" aH oH" aH c= >» ——— + P,—— + P, —— } dv. : I. (?, ax ox Yay ay Pr ae 5) This can be considered as a three-dimensional extension of Eqn. (1.11). The integral is over the volume of the element, thus the necessity of defining the spatial orientations of the element; i.e., the nodal coordinates. The integrand involves typical element properties (P,, P,, P,) and the element interpolation functions, H, and/or their spatial derivatives, dH/ax, as shown in Section 1.2. The evaluation of such an integral can be 51 52 4. Calculation of element matrices difficult or impossible in closed form with the result that numerical inte- gration is often used. Numerical integration techniques will be reviewed in Chapter 6. In the present program the element square matrix is calculated in subroutine ELSQ, Fig. 4.4 and the element column matrix is calculated in ELCOL, Fig. 4.5 (see Section 4.3). These subroutines are two of the few programs that change from one typical problem to another. Several specific examples are given in Chapters 10, 11, and 12. The following parameters are included in the argument lists to the routines ELSQ and ELCOL which are used to calculate the problem dependent element square and column matrices: N = number of nodes per element NELFRE = number of element degrees of freedom NSPACE dimension of the space COORD(N,NSPACE) = spatial coordinates of the element’s nodes D(NELFRE) = nodal parameters associated with the element from the previous iteration (if any) ELPROP(KP2) = floating point properties of the element (if any) LPROP(JP2) = fixed point properties of the element (if any) PRTLPT(IPS,KP1) = floating point properties (if any) associated with the nodes of the element FLTMIS(KP3) = miscellaneous floating point properties common to the entire system (if any) S(NELFRE,NELFRE) = element square matrix (output) C(NELFRE) = element column matrix (output) In addition, the property arrays’ dummy dimension parameters IPS, JP2, KP1, KP2, KP3 are also included in the argument list. If any array is not needed, then the corresponding dummy dimensions are set equal to one (in the main program) so that only one storage location is wasted. The array D is usually utilized only in problems requiring iterations. Other problem dependent data are often included in additional dimension or common statements within the subroutines ELSQ and ELCOL. In the present building block programs COMMON statements are utilized only in the problem dependent routines ELSQ, ELCOL, ELPOST, and POSTEL, see Section 4.3. All of these routines also have in their argument list four auxiliary storage unit numbers, NTAPE1, NTAPE2, NTAPE3, and NTAPE4. The latter three units are available for use by the analyst if they are assigned positive unit numbers. The value of NTAPE1 (when > 0) represents the auxiliary unit on which data generated by ELPOST are to be stored. A typical column matrix, C, frequently called the load or force vector, 4.3 Auxiliary calculations 53 is often defined by an integral of the form C= { g(x,y, z) H7 dv, ve where g is some known quantity (e.g. rate of heat generation) that varies over the element. In the present program the calculation of the element column matrix is carried out in subroutine ELCOL. Several specific exam- ples will be presented in Chapters 11 and 12. In some cases the programming will be most efficient if both the element square and column matrices are generated in a single subroutine, say ELSQCL. This is particularly true if the integrals are evaluated numerically. 4.3 Auxiliary calculations There are two other problem dependent subroutines that are closely related to ELSQ. They are ELPOST, Fig. 4.6, and POSTEL, Fig. 4.7, and they are both related to any post-solution calculations to be performed once the nodal parameters have been calculated. Subroutines ELPOST and POSTEL, respectively, generate and process element data that are required in any post-solution calculations. For example, if the nodal par- ameters represent temperatures, these routines could perform the calcu- lations for the temperatures and temperature gradients at specific points within the elements once the temperatures (nodal parameters) have been calculated. Subroutine ELPOST usually shares selected element data with subroutine ELSQ by means of a problem dependent COMMON statement. It utilizes these data and/or other information to relate “secondary” quan- tities of interest to the, as yet unknown, nodal parameters. Subroutine ELPOST contains the input parameter NTAPE1 in its argument list. If NTAPE1 is greater than zero, it represents the external unit number on which any element data associated with the post-solution calculations are to be stored. Of course, the parameter NTAPE] must be greater than zero or this subroutine is not called. Subroutine POSTEL is called (if NTAPE1 > 0) after the nodal par- ameters have been calculated. This program reads, from NTAPE1, the data that were generated by ELPOST. Its argument list contains the following parameters: NTAPE1 = the external unit containing data generated by ELPOST. NELFRE — = number of degrees of freedom per element D(NELFRE) = array of nodal parameters associated with element IE TE = element number NTAPE2,3,4 = additional scratch units 54 4. Calculation of element matrices It combines the data stored by ELPOST and the calculated nodal par- ameters, D, to determine secondary quantities of interest within element IE. The element square and column matrices must be generated for each and every element in the system. These calculations can represent a large percentage of the total computing time and so these calculations should be programmed as efficiently as possible. Some economy considerations associated with generating the element matrices will be presented in Section 4.5. Inan integral formulation involving a Neumann-type boundary condition the boundary flux contributions usually define a column matrix, say ce with NFLUX coefficients and a corresponding square matrix. These mat- tices are often defined by integrals of the form C= I Hif ds, Ir Sh= [ HSH,P ds, If where f denotes the specified flux components, P = P(f) is a coefficient defined on the boundary, and Hy» represents the element interpolation functions along that boundary segment. If the flux components and the parameter of interest both vary linearly along the element boundary seg- ment, one obtains (as shown later) a boundary column matrix contribution such as the one shown in Fig. 4.1, where /, is the line segment and there is a linear variation in the flux (f;, f,). Similar contributions for two flux components on a quadratic segment are shown in Fig. 4.2. The calculation of boundary segment matrices for typical segments, such as Fig. 4.3, are carried out by the problem dependent subroutine BFLUX. Typical examples of the problem dependent arguments in ELSQ, ELCOL, ELPOST, POSTEL, and BFLUX are given in Figs. 4.4 to 4.8. The specific applications will not be considered until later, beginning with Chapter 10. Future references to these routines will include specific problem dependent calculations. Most of the previous operations that are required to generate the element problem dependent calculations can be combined into a single routine. Figure 4.9 shows subroutine GENELM which is typical of an element generation control routine. This was discussed in Chapter 2. Some programs also store the element matrices on auxiliary storage for later use. Fig. 4.1. Typical boundary column matrix € for a segment, /;, with linear variation of the flux (f,, f,) and parameter of interest y CQ 2 0 1 Ol lfe CQ 1 Gl_t 20 1 \fn Ch yx, JO Gl 6 2 ON fe Cs (eee Cs sym 21 hi Ce 10 (a) General Flux (b) Special Case, f, = X, f, =0 Fig. 4.2. Typical boundary column matrix for a quadratic variation k ON ° i a 4 0 2° 0-1) Olffi Q 4°90 2 0 -1IIf.i Cs] le HO 2 OIF Cs” 30 oO. Qiiz Cs 4 OTT fal Cs sym. 41 [fw 2 23 NSEG LeN Fig. 4.3 Typical boundary segments Fig. 4.4 Subroutine ELS. wee aa - aa az ee = & 266 xe a Zz oee Bas “3 # *# & Go Zee pts aa & =z GeS uzewox q@ee # 5 G Set woesoa xe a 2 orere sa-e © GS @ owo Guia vos & ZZ Zoawun Gruexe & a Sea “Doa-— ee OC wadeee De a xJun-zacz ae ae Se saa @azeae sm zx Genzc pn za SO’ EZ awa O poasrurorw Oe *€ DEY O O54 Pore Zio wed wT LoS YW Se Lamon Glasses Cio W how Geze Sea a) GZm we eeamre mc Qoeeae Dex. aazes ‘onioa GOZ"S" zurz “ercauaaud Zecene Saguy meseaoro. Oo sa Biers saree strat Woden CSG wa in=tZzo awa 2 Ay eMUVeZZZZWO meu oi CN SeGe AZ gSSSSe5u086x55 Soe =" uss wo. 200 nz @ eZeWenQnarcnznynnzyn cua 5 20 T2925 2222224, 0200 cL 4#L¥ OA «Wu FFEFQ Gumaany Zou win AGS. 3 5aNEXoeTOs SOaswerznay Bass sowe—aG az Ot mT samiuZOQ0000uEL ew SO wie I# AZ7—QCOCOIVOOR Quaas anz* 2" SS26°" Gu 2 So + ie SOm wou ae E> cee eeSErecece awn 0 oe YOSO Sau UE Ja Ieee a 20 e25maanee weanese Bow tz BOSSE E TG eae 3 +S aun 3535555 wizwatg Bow wm SUN Z 222208 aN 3 So Suy a nti 25 3Z 38 «22 Sa SLUGS tH :Z 2 sa @-eo0z aa +5 O * *8E tsanvanmonagice iad o# HO 3 Se lOseseeeS Sees ee se we Bo* #50 (eRodt&dukes i es me a s GELS GEELLE.LEELLGL000008 Fig. 4.5 Subroutine ELCOL a 6 as ee a 2g 9 aia - Sa. Gea Gee 6 See eco ms a “= N= Z Cae 6 wz “ «# « Oo G 2a fon. OG a5 vo oF 465 weds ar abe # Se & Sou Wzanan ae we ae a ww aWokOm O “- *# * Ga @ oo Gtaeze bo wan eo Zrz Zwaw aw asge * os «Sea Tata, 8 Seu x” Sow vitiso=Z > wZae—e GH a xn = lS wade = Swumranazo O GeseSe -5 x Uaeze Go aa S “BZ.S, GE 2 FS gmwrore, xe OeeEe We OG Glubtek Zio Ku wae eo OS aimome Ba tueze © WW evan Gezrun £5 ato Fe we Xe Ze>w ew QwaeSe Do wt aecee oniug ze vee oS za eseeuwawGo OO Z29245* =z uy retegoro oo me sae OO. Gk 6 Ze a@ qaraa Wane ew we yanZo” 30 owe - sNueZzZzzwO meu fiesee <2 Di2gsEESeeuskéxo5 wa. 20a nz sue 3S BIIIIOex—a az Oa wi | saci Z0GQ0000waL HzO BWSH gt ASI NQSOROGOOOE” “Qnzae 2" SZ228°R' Wie 2 SOR OnzedesoarzeQuuuuLIZZOnz Le ae Ww eLOr WeOGOCGEZ w @_L” eZoanmnaa wernese Z * #2 Wo grrr sw = &O ann 35555 5 * 57 2yzeezZua_ 5 oo Rodan 8S iz BS # #2 eS Nav d HQeGaRauae a sz « 3a & aOsz aas 65 DB # #az Sannmmguagee iad of IO 3 Em wmaceaad Gees ce ek we Bo eG ZEZESSELOeDSETURZ Ok ted au ae 3 BLLB — BEBE_EL_LL.E000000000 Fig. 4.6 Subroutine ELPOST Fig. 4.7 Subroutine POSTEL ° a z a ms z ° & a Zeesewar 3 1 — 2 Oe * Wee Gem’ sz nea eer ao “a TheSekGe WZ sz oo" S" Snr 4 S o wee #ZUE DS *- we Ze & < cueGezia « = 7 Laie Ow Oo ry Sate UeUN : Ge" S"eoe “Gee ZZele5 5 uaz Zz we O40 EE we pry ame AeOWs SSurv— a gue awn ZZGWwN 6z Qathe an 3S 4ol sw aq) Rod ~zaeiG0 +a SkeGenn 26020 3h ZzZ"a"Gan gan “3 eee we ze Tou lye ty suit 33 5: SUBROUTINE POSTEL 7 TURN ND * #ZZoNZOZZaN0 3 teh a 3 LLELLEGLLLLLL. LLU Fig. 4.8 Subroutine BFLUX ees x woe 3S Zo 2 Se x *S" 2 5 ane 5 oo q wae 2 *s" ~ sae m mate Q #ze z = "6" * a woe z a a Z axe 3 ~ "5" = Zee & Oran sate So > see Ont te Omwae = oneze: lal Sew 22325 2u555ux0n8 T2*2* ricSz6oxoer—' #12200" dongewuw QO" 4B waQuze eee #24 4x OWS xxaades 507854 S5aE555 #an@oagsuJOn 44 3535 W. * eon az zoe Z OIG #Oe gOZUN G2 Sw IIS Z05A-ure>> 3222 #28 wOngsO=Zae0B000 BFLUX SUBROUTINE “ aoe “Zz ao +O Eee aid * #az r= * 4nG a 5 evo IBUTIONS ENTS T NODES DARY SEGMENT 7 N Zz sa wa Gatewo: a4 + Sdaan = TOSZS0nZ= BEGLGELELLG00000 Fig. 4.9 Subroutine GENELM a = as a = ao ° =e # anu = wo ° - Ze aos saw N 2 Z 5s 8 San + Jdileae “Or a 15 5 eee mon a Woe man 3 ZO uw Mien a ceo & RGSeae Cag wow Szez a2u S SEE*S* AG2sa Sew suzu ou a> + 2228 0% [Z5Z20 aiic” Cun verGjG G tne Oe" 2" SSGSe2 ast>z5u Susu 4 SeconeSe D2oue So 3Go-. GzOzZ- GW > WuAinn mca eZ Hon eZaLOne se “O Jan auduoa suouRaU a Zam Dee eez Oo 20 Wwz w>>Q00zZ00Sr ~x — Oa SUZxG%ehe AG- -coSzwla2eG22"Fort . Mux DE on Wea r0aGe Toeroee wu Zuuzo, ZoNoGdeese Fea 2 °SGz" 2 Heduk oe SWC wEGU ea wi~ande oe aLas eA Snu se See HEH LOO me ee aru bm AZ < nzaow Zula “a uzudioa 4s SWU—O HHA eLZ AODRUZOe emWGeGOReEQ wi Gear" S* ~Qaigs OZ RGSS 484295 eG26) ZLMORC Hue OZ— GI xQue ziaduaw antzi 2 BIAZGe Fe eww ZwLILoW OOO z2qu mz OZNGLA elie GERZZO~ NAG * 4 COw Zui oO wee S* aS5S552-S2— eo aS ees jeu au #4 WXEADRZZIO VO QZ wunszZwoo0Zz SUBRGUTINE * él * I N mcuent W 2e9 eZ wSel>e sero os ~ RON IO>nE AO wre 8 Tou eGo Gag = Pee PIC PEN xxa dca taaS Laewssesfaaoumy 2a SZ She etOOUe HHO Noe w DOsuuzcureezzaa 49 Oeu MeZzZZoRZen2Z5555xT000e4 --> BEEEEE_ELELOLEBEO0000000000 VO 4.4 Condensation of elements internal degrees of freedom 59 4.9—continued TERS FROM LAST ITERATICN (IF ANY) eee ge PAP AMEAEES ELPRe (RGEREEs NELFRE 0s DOOL Gs ELEMENT MATERIAL PROPERTIES (IF ANY) . oGTe ELPRTY. (LE, LHOMC, 1P3,1P4s5PZ, ee 2 bene KB2sLPELXVELT EL aL BROB sELPROP] ARE AND ¢ sit INENEL PRES NSPACE 9 [P59 JP2, KP 1p KB2, KP 3, CODRUs OL ECP ROP LP ROP A BRILDTSFLTHIS 4S sNTAPELs re C nutcot Uso s NEALE ELCOL Sth NELERE gNSPACEs IPS + 5P2 gKP1 ,KP2KE34 CGURDy by ELPRCP, LeRSP, PATLPT FLEMIS,CyNTAPEL » NTAPE? sNTAPES ,NTAPES) ae ee oOeT UT TEN GSE UNE ABE en tapess : , * cae NTAPE3 yNTAPE4) UPGATE CGULD BE DONE HERE 4.4 Condensation of element's internal degrees of freedom As one becomes more experienced with the finite element method one finds it desirable at times to consider elements with internal degrees of freedom. Here the word internal is used to mean that the quantity of interest is not shared with any other element (or master element). Figure 4.10 illustrates the concept of distinguishing between internal and shared degrees of freedom. Internal degrees of freedom can be introduced to improve the accuracy of the interpolating functions and/or as an artifice to reduce the amount of input data. The most common use is illustrated in part (d) of Fig. 4.10. This shows a master quadrilateral element with four nodes which is input by the user. In the subroutines that define the element matrices for the quadrilateral the following procedure is utilized. First an internal node is defined to be at some convenient location such as the centroid of the quadrilateral. This internal node is used to define four triangular sub-elements. The element matrices of these triangular elements are generated and assembled together to represent the matrices of the quadrilateral element with five nodes. However, this combined element would have more degrees of freedom (5*NG) than the system definition indicates it should have (4*NG). Therefore, it is desirable to condense out the element’s internal degrees of freedom. To do this it is necessary, in effect, to require the governing functional to also be minimized over the element. This allows one to write the element equations as: [st se] (23 « 60 4. Calculation of element matrices where the element equations have been partitioned to distinguish between shared degrees of freedom, Da, and internal degrees of freedom, Dg. From these equations it is possible to relate Dg to Da; that is Dz = Spi (Cu — SpaDa). (4.2) Therefore, the clement equations can be rewritten in condensed form as SkaDa = CA, (4.3) where S* and C* are defined in terms of the original matrices § and C. The use of internal degrees of freedom has becn shown to improve accuracy and reduce the number of system equations that must be solved in many cases. The operations, illustrated for a numerical example in Fig. 4.11, required to condense out the internal degrees of freedom are executed by subroutine CONDSE. Since matrix Spp can be relatively large for some elements, it is desirable to avoid the actual inversion of this matrix. Therefore, the routine uses Gaussian elimination, which is computationally much more efficient. The elimination begins with the last degree of freedom to be condensed and works backwards towards the first one. Subroutine CONDSE is shown in Fig. 4.12. Fig. 4.10 Typical internal ‘nodes’ ao (a) (b) (c) Fig. 4.11 Example condensation procedure B = internal dof A= shared dof < VY, W al ag Cs 2 a <8 aa Co (a) Original Element Equations [116] | (b) Condensed Element Equation Sis = [16], Sep Ca = {110}, 10.25 23.25 26.25 32.25 | Fig. 4.12 Subroutine CONDSE CCLUMN MATRIX 3 BLLVB_ LLOLLLB0L000 GO TO 30 4 ox ¥xu son ~ SOK SMD *SLKSKK K#SLKSKK 33 Sons" 222 ZorS"S5z SOS Ss =G0uz DONGZ Lu zZNA “HSN TaARARnSoo Aw 62 4. Calculation of element matrices 4.5 Economy considerations in the generation of element matrices The calculation of the element matrices can represent an expensive operation. This is especially true for the more advanced element types such as a sixty degree of freedom elastic solid element or a higher order shell element. In such cases the programmer may find it necessary to take special steps to obtain an economical solution. The present building block routines do not have these features but could be easily modified to implement the following procedures. For simplicity, assume that the element properties are homogeneous throughout the system. In that case, the element matrices would depend on certain geometrical parameters such as its size, shape, and orientation relative to the global coordinate system. That is, if these parameters are the same for a group of elements then the element matrices of that group will be identical. Consider the mesh illustrated in Fig. 4.13(a), which contains twenty-four triangular elements. Note that elements 1 to 12 are geometrically identical as are the group of elements from 13 to 24. Thus it is only necessary to evaluate the element matrices for element number 1 and then to use these matrices for elements 2 to 12. Of course the matrices for element 13 would be evaluated and used for the remaining elements. This approach would only require the evaluation of two sets of element matrices instead of twenty-four. Such a reduction can represent a major economy if the elements have a relatively high number of degrees of freedom. To take advantage of this concept, one must generally have a uniform grid spacing over most of the mesh area. Assuming this is the case, it is still necessary to identify clearly those elements which are the same. Some programs allow the user to input a special integer element code to indicate if an element is geometrically the same as the previous element. This is a simple and effective procedure but it places the full burden on the user. Another method is to have a special program segment in the routine for evaluating the element square matrix that checks the important geometrical parameters of the element. If any of these parameters differ from those of the previous element, then a new element matrix is calculated; otherwise, the subroutine simply returns with the matrix calculated for the previous element. The latter approach is relatively inexpensive since many, if not all, of the geometrical parameters are required for later use in calculating the element matrices. Also, elements of different geometries are often quickly identified. For example, if their areas differ, a new element matrix will be required. This approach to more economical matrix generation has an added advantage in that the average user does not have to know of its 4.5 Economy considerations in the generation of element matrices 63 existence. Of course, the user should be requested to number (or input) geometrically similar elements in a consecutive manner. Figure 4.13(b) illustrates another economy that some authors recom- mend, that is to use exact formulations of rectangular elements where possible and mix them with numerically integrated curved elements when it is necessary to match curved boundaries. The matrices for a single rectangular element can be used again and again when multiplied by a scaling factor. This approach is especially attractive when the problem is three-dimensional. The numerically integrated elements are shown hashed in Fig. 4.13. Fig. 4.13 Element economy considerations (a) Groups of repeated elements (b} Combining exact and numerical integration 5 Isoparametric elements 5.1 Introduction In modern finite element methods the use of numerically integrated isoparametric elements is becoming increasingly common. In order to understand the programming concepts associated with isoparametric ele- ments, it is necessary to understand some of their basic theoretical foun- dations. Since detailed treatments of isoparametric elements are lacking, or incomplete, in most theoretical texts, the basic foundations will be reviewed in the next section before their programming aspects are considered. 5.2 Fundamental theoretical concepts Isoparametric elements utilize a local coordinate system to formulate the element matrices. The local coordinates, say r, s, and f, are usually dimen- sionless and range from 0 to 1, or from — 1 to 1. The latter range is usually preferred since it is directly compatible with the definition of abscissa utilized in numerical integration by Gaussian quadratures. The elements are called isoparametric since the same (iso) local coordinate parametric equations (interpolation functions) used to define any quantity of interest within the elements are also utilized to define the global coordinates of any point within the element in terms of the global spatial coordinates of the nodal points. Let the global spatial coordinates again be denoted by x, y, and z. Let the number of nodes per element be N. For simplicity, consider a single scalar quantity of interest, say V(r, s, ). The value of this variable at any local point (r,s, f) within the element is assumed to be defined by the values at the N nodal points of the element (Vj, 1 H{r,s, )V8, or symbolically, as illustrated in Fig. 1.4, V(r,s,t) = HV’, (5.1) where H is a row vector. Generalizing this concept, the global coordinates are defined as X(r, 8,1) = Hx‘, Hy‘, z = Hz. Programming considerations make it desirable to write the last three relations in a partitioned form [xiyiz] =H[x*:y*:z‘], (5.2) where the last matrix simply contains the spatial coordinates (COORD in the building block code) of the N nodal points incident with element e. To illustrate a typical two-dimensional isoparametric element, consider a quad- rilateral element with nodes at the four corners, as shown in Fig. 5.1. The global coordinates and local coordinates of a typical corner, i, are (x;, y;) and (r;, 5;), respectively. The following local coordinate interpolation func- tions (shape functions) have been developed for this element: H(r,s) =4(1 + rr)(1 +s), 1 foe = o. Checking these two equations at random points in the element would give a numerical check of the functions programmed in DER4Q. A checking routine, DCHECK, of the latter type is shown in Fig. 5.5. To have a valid set of shape functions, it is necessary that they satisfy the checks in SCHECK and DCHECK. Although x, y, and z can be defined in an isoparametric element in terms of the local coordinates, r, s, and ¢, a unique inverse transformation is not needed. Thus one usually does not define r, s, and ¢ in terms of x, y, and z, What one must have, however, are the relations between derivatives in the two coordinate systems. From calculus, it is known that the derivatives are related by the Jacobian. Recall that from the chain rule of calculus one can write, in general, a d0x ddy Adz or axdr dyar azar with similar expressions for 9/ds and 9/at. In matrix form these become a ox dy az ar ‘or ar ar a ax ay az as ‘as as as a] jax ay az{}a at} Lar ar ar| jaz ele gle : (5.7) where the square matrix is called the Jacobian. Symbolically, one can write the derivatives of a quantity, such as V(r, s, t), which for convenience is written as V(x, y,z) in the global coordinate system, in the following manner av = Ir, 5,1) 8,Y, where J is the Jacobian matrix and where the subscripts | and g have been introduced to denote local and global derivatives, respectively. Similarly, 5.2 Fundamental theoretical concepts 69 the inverse relation is a,V =J3'aV. (5.8) Thus, to evaluate global and local derivatives, one must be able to establish Jand J~'. In practical application, these two quantities usually are evaluated numerically. Consider the first row of the Jacobian in Eqn. (5.7). Since x, y, and z can be defined, for isoparametric elements, by Eqn. (5.2) it is noted that Generalizing this observation yields xy ae] [a y or or ar ee ax ay dz a es a a rs =|— H [x° Fy® t 2°]nxa, (5.9) ax ay az 1 ox ay 82 12 al a a ay fa «fs or, in symbolic form, I(r, 5,0) = A(r, 5,0) [x Ey? #2]. (5.10) This numerically defines the Jacobian matrix, J, at a local point inside a typical element in terms of the spatial coordinates of the element’s nodes, [x® : y° z*] which is referenced by the name COORD in the subroutines, and the local derivatives, A, of the interpolation functions, H. Thus, at any point (r,s, t) of interest, such as a numerical integration point, it is possible to define the values of J, J” ', and the determinant of the Jacobian, |J|. Figure 5.6 illustrates a subroutine, JACOB, which evaluates numerically the Jacobian matrix at a point. A simple program to invert and find the determinant of a one-, two-, or three-dimensional matrix Jacobian is shown in Fig. 5.7. The integral definitions of the element matrices usually involve the global derivatives of the quantity of interest. From Eqn. (5.1) it is seen that the local derivatives of V are related to the nodal parameters by av a ‘ar| far # Vf? al ye, as) fas av a H ‘ar | [ar 70 5. lsoparametric elements or, symbolically, OV(r, 5, t)3x1 = A(r, 5,1) 3xnVirxt- (5.11) To relate the global derivatives to the nodal parameters one substitutes the above expression into Eqn. (5.8) to obtain 8,V = J5ssAsxnVixi, or 8,V(r, 5, t)3x1 = d(r, 5, f)3xnVNx1i, (5.12) where d(r,s, 0) = J(r,s,0'A(r,s, 0). (5.13) The matrix d is very important since it relates the global derivatives of the quantity of interest to the quantity’s nodal values. For the sake of com- pleteness, note that d can be partitioned as 4, d(r,s,t) = a, = H|, (5.14) Ad, 3. % a 2 az a, so that each row represents a derivative of the interpolation functions with respect to a global coordinate direction. In practice the d matrix exists in numerical form at selected points. Clearly, at such a point one would evaluate the matrix A (call DER4Q), calculate the Jacobian (call JACOB) and its inverse, and numerically evaluate the product in Eqn. (5.13). Equation (5.13) is evaluated by subroutine GDERIV, which is shown in Fig. 5.8. Fig.5.1 A four node isoparametric element fs 5 3a (4,95) (4) or 7 (rary) i ‘s (rey y2) (1) Y 1 2 , Gon) Fig.5.2 Subroutine SHP4Q. “* + “4 + + : “Zz : z “8 a ar neti S « as ete 2 2 sSue 25 zm” 6 © eu" 6e *tZe 8 g Be Sha a 5 S ot RS wate 3 #226 ob wt gt* 2 2 a=" sec5 «Sue 3 z wax S522 mu" bo. zeos aaa o +5o« co Su" 2 Zee F252) *2ze 6 <6 *S'e uSeow sz" 2 = 2x* "2583 *2Ee 5 3c we A993 re 35 wh” e808 suze Sy &2 aetze TSS) ve* 32 35 za" Sdwdu cae 86 Se Zein SELSS sev ese arog" zec8 e3ae- EE m Ze%Se— S8CSu a°S"S BS wa Suots Geese Zezael 22 RS ce tee) GER ws zeznel 25 OE ottatd BERYS Seiler) © 2h te SePO"NES = exaazaaz Bb2°2 wl = Suntiew 5 Faaceeez eOkeT ew o SedzeTicze | Rekessee xtos*e SE 8 srOSt ie s°ES 0 RRKAAARR Se2zes Z = wadescSen Oo | NNN Bana g*Ss*~ SE 75 $*OS*~29E"-3 ASAIN fase Zax wosad awa ka Sdeorrgezl odcccaca EaRE S*S."eze” 9 zize Gt 2" Podesee 974 Bd BeEeteSu FESS Bx ox 22°SS5 $255 BSraz85 Poa eet eB G32 5 wuonnwnn a seer vuninine wSoeu oe + sSaew Sa ean at BORE OH IQEeuNgAS wrlBte Paoou te l= aara ial Be u%e 2588" 25 Seatae “20534 1+ 1 RGAsaNae 2* 26" -Saa0e 5s Ste" 3 taE09 emaeenine Ee dda tneaeas "25 rede Bo SEr7 ... arcane 5°23" S58 Best Og S8 aq At tSSS SSeS Ba 20225) Be 14 2229°. aaaeaeee oo" sa OF et aun nn wemnnnnenes SeSearcugeg |" "iamsce Ser eetunwe 2 Zro Se OSes ane StS Wen N25 0S5ucuz O* T* She GoUa ras eww Bak orc sre oECUe AsFemocrieseanrray So" On" San" beroroxwBBOS Oe B4e RSriSeeennasacacaaads a a 5 BLG8G LLOLLR 5000 a ° Ss LELO LLLLD L009 LL Fig.5.3 Subroutine SCHECK Fig. 5.4 Subroutine DER4Q Fig.5.5 Subroutine DCHECK * * a as * « a % ao % 2 +S o* +e aa > Z 2 5 an = s “ 3 2 - oe) acs oe 8 See 2 S ae2e 2 SS as Ze é a 3 S Hue i eeee 2 « Zeue So Se ao So = & eo 3 2atsas* Goo 3 eRe TuSZs Ss Qeze Dugan a 2s 663 Peers ra 3 azz gege lusanez, 2 SeEetgee 25 2 2g 342000 Saeeu SSG Se C2 eau Seo z 2ehetse25°3 . Ss 5S o* S20" aes *8 2*3* feu bSaex = S*riixtus G 2 2 & *SS5aetasw> wo see pou msosuu = euetQ sos Oo 5 S068 Seo nzescade 2 7a aedescagouzonss | = Ceaecaeeons! | = sta Go Sei zescado 2 = 4 S49 Snow sor = S 2 D*uwe*"2hZ2 EF Sot S*S*~a58Sas°ssa FE B*o*"G°WPem 8 F TLE Teta saraua 4 Ses Os onze waza |S b Safeotazuze GF 3 35 5 or ese" F502 2 2uta Su, "su, 222 28 w 2*e*PoGtasSs A 2 2 aad Be" SSe8buS FSNe Sete tOsuas S222 23 = G Zs etgmeess «2 < 4 S58 wne*ddabe 2 ONS gq “wet eSaseegnass 2° 5 QO “22288 xy Sz 8O eo mo aan 0 ea moze 4a Saeee ce oN om aoe utOz *Y 3eS8u90 tf 9 wtutt eS8Sesuue Z gre Sazes ty 8 98 Zeo™ 929882" 55. Zame~z GS2K8" "o's 1 @ Zetie~27Garo <2 5 3 eh Z*2u * 57 auscnseiw SS an es a g iewe Zyros Bese ence OCR Z5—S 3 SeSens By ugug S*asaS3 0 £ ESynOno es Bo SB gs Stee *5"3u Mezzo 5BN3*SR Su t2!S 25222 § S*2*555 Sz “2 “29"2 BeS" 422a25" on 3y GRE EF QeOwse Zos5o CONS SSE 8 Be HAZEN au wSE ZF Zlwez ew Paw SON Almere, SSS WSEPeuma SEAS Oo Sel eS BG Mano use OF eeuce oer #az5uee zz ezio 63 aeaeaz nado. x zzezzig 5 2,9, ius!2 © <3,43,2320E2, Bae? ESB SUB SQaUCGWZ 8 S*S*SE Sm SrooSQsGzGoue 3 Beze8zS me opm owro up aomrS Fe wRGSZZNBABAKCGRE F AeeRS -25 SIBBABASVGLE GB BLE EGGS woe sy sswszous eso B a ° 7 3% 2 20 4g ss a 3 3 a © 3 SNe 5 & ie $2 L008 Goo VeS_— LovLLG Cy pats) ape ch ° o @ z (b) Subroutine a Fig. 5.7 a - “* _— * * eo - “5H ae Se 4 B : _ 2 40 7 aoe CS *oe a —- =| : +e 5s 2 5.5 a ow an a. ' ale saan TaAe- en G OEhS anata tas Cr #08 fe WET BeSe 5 g5H9 _ Seto ie one oe Setececsce Bele 5 See 2 A Sananaee> Ste * 5 Seb een ake SANESESENS ee D GS _ 5 ee see 8 oh _ aie wie Zaz ® seus _ ws 8 pert — 3 = : 6% Cetetelata a2i* GS Bh23 2 _ _ oeher a “ Mone Z aeo* + Bele Sate eTEY i. f=. x Beda Sn Beet 885 a. Ff z = a Sake ats seOGe Scuuigsone = = act 7 _ wrOo* Seuuscous Ze eecad 34540 Ratnam —,rr,r—~— Dl Zt Stag wena at Vo eetetend = 8 Se033 55 2a Ee ee tee ee a. €6jd 32602 aaa Bet aaa inn Srasrauergss Se ye BF abe iets 32 fee an = > P*ag* azgzbGaS2s5 A 2 a = oeagew = SO saa = ewe zanna 2 B we Sst Sx 284880190? 3 2*8* -3in0c0 ° Bo SeSreXz MEIZOS ze Ee Zenoe ett g Bsr aot AS na Sno e Suey Ba 3422 SOSSZ 3 @ StuS"Og wees 0° 2y22z 22 SSS 5 ao" sa" S555 3 2 QeS2e22 S25<52 conon Sane eee aeessoeca © 2*o*TaSSSSS5555" *NS505 £ th" 272825 Ral Shoo 2 4 Few Z a QrZeozzzzzzzeezi ote? 2 ore *or gres5o aoe EzZOzZ-O 7 7 Z* E222 zeae ee 255 = So" Sac eee eee @ astetodedeezeded B828es Bde «Ra 2e28"o S8R8R8s08eS 3 es a a a “N a 8 © 90 rereress) s 3 a o = Nm 000 $B veovd — wwsugeu 2 S z = 74 5. lsoparametric elements Fig. 5.9 Subroutine CALPRT su c * Cc cA C €t ¢ IN € * cop sIM or ¢ ¢ N ¢ NNI ¢ Hq ¢ PR € VA 00. SU $u 10 cc 20 ce RE EN 5.3 Programming isoparametric elements The element matrices, S‘ or C*, are usually defined by integrals of the symbolic form Ac = ff. B‘(x, y, z) dx dy dz, where B® is usually the sum of products of other matrices involving the element interpolation functions and problem properties. With the element formulated in terms of the local (r,s, t) coordinates, where B‘(x, y, z) is transformed into B‘(r, s, 1), this expression must be rewritten as [; f, [ ' Be(r,s, ) U(r, s, 0) |dr ds de. Ac In practice, one would use numerical integration to obtain ‘NIP [a] = & WB (rs )U(r 51) where B¢ and |J| are evaluated at each of the NIP integration points and where (rj, 5;, ;) and W; denote the tabulated abscissae and weights, respec- tively. The general procedure for programming an isoparametric element is outlined below: (A) Initial Programming Steps 1. Define a subroutine (such as SHP4Q) to evaluate the N interpolation functions H(r, s, t) for any given values of the local coordinates (r, 5, ¢). 5.3 Programming isoparametric elements 75 2. Define a subroutine (such as DER4Q) to evaluate the NSPACE local derivatives of the interpolation functions A(r, s, t) for any given values of the local coordinates. 3. Tabulate or calculate the number of integration points, NIP, and the weight coefficients W;, and local coordinate abscissae (rj, sj, t;) of each integration point. (B) Steps Preceding the Element Matrix Subroutines 1. Extract the global coordinates, [x° : y* : z‘], COORD, of the nodes of the element. 2. Extract any constant element properties (ELPROP and/or LPROP), and tabulate the nodal point values (LPTPRT) of any properties which vary with local coordinates. (C) Steps Within the Element Matrix Routine 1. Establish storage for any problem dependent variables (H, A, d, J, J", ete.). 2. Zero the element matrices. 3. Perform the numerical integration (see Part D). (D) Steps for Each Integration Point 1. Extract, or calculate, the weight and abscissae of the integration point. 2. For the given abscissae (7;, 5;, t}) evaluate the interpolation functions, [H], (call SHP4Q) and the local derivatives of the interpolation functions, [4], (call DER4Q). 3. Calculate the Jacobian matrix at the point (call JACOB): I(r, Si, t) = Ari, 5;, t)) COORD. 4. Calculate the inverse, J(r;, si, t;)~', and determinant |J|of the Jacobian matrix (e.g., call I2BY2). 5. Calculate the first order global derivatives, d, of the interpolation functions (call GDERIV): d=s'A. 6. If the problem properties vary with the local coordinates, use the nodal values of the properties and the interpolation functions to calculate the properties at the integration point (call CALPRT, Fig. 5.9). 7. Execute the matrix operations defining the matrix integrand. In gen- eral, this involves the sum of products of element properties, H, and d. 8. Multiply the resulting matrix by the weighting coefficient and the determinant of the Jacobian and add it to the previous contributions to the element matrix. 9. If any of the above data are to be utilized in post-solution calculations, write them on auxiliary storage. A typical arrangement of the latter operations is illustrated in subroutine 5. lsoparametric elements 76 ISOPAR which is shown in Fig. 5.10. Note that the global coordinates of the integration point are also determined since they are often used for later output of the derivatives. Of course, in an axisymmetric analysis the global radial coordinate is required in the integrand. For most practical problems ‘h a routine such as INVDET the Jacobian inverse can be easily obtained in Fig. 5.7. The interpolation function routine, SHAPE, and the corresponding local derivative routine, DERIV, will be considered later. Numerical integration is also reviewed in more detail in a later section. The control section of subroutine NGRAND is shown in Fig. 5.11. Its purpose is to evaluate the actual problem dependent integrands, such as (grad H. grad H) which occurs in a Poisson problem. As we will see later it is sometimes desirable to use different integration rules for different parts of the integrand (see Section 6.5). Thus two or more versions of NGRAND might be required in a typical application. Therefore, in calling ISOPAR the name NGRAND is treated as a dummy EXTERNAL variable so that the user passes in the name of the subroutine that is actually required for the problem. Specific examples will be given in Chapters 10 and 11. Fig. 5.10 Subroutine ISOPAR . ** a. 5 See 2 On z a Tz sau = tee & SO z a3 *z* = Ga x aw Of sie Z 2a 2 zz - SS *a* S255 Su ean rr se xe EERZ 26 Gee 3 va Eas = ee> 2 Ox soe Gx = Zo GG a cee Qe 5 Sie oe Zz aoGee* 2-2 8 pu SB Oz = #2 sez "Re" Gada @ Ze AGh Go = = 202eGe anon w SZ Cezute Bo aud sQelz) bzaz mm Simone —=-— 0 fas WSSee" Goal EO YStozbe oo 39 32-4 aezre. Bios “uss2aaabss 322 385 S205 Greece Zuzz yun oe sow Gos 2 450 Seka SOs a Oem ZOZ OmwLWeAS gooa a SG tose DAbeS4 WSZ5 S°SPrsceS"e Z2a4 4 Gud Sure 200K" ease Guages 5S a Gaoz Z fda aoe stews 25° Quagez ong a40e 2 Sy zoe iss Gee - 2uSSS5 So F202 2 G-2 SS0% vozeze DIS. Gezo“rzoenau she © OZ enz ro 235, <, 2°04 F5009_a95 0 224 E Sgr SESe tea S-85 SUR ZE2S ow 52°. 5 22GS5Z0% B22" 2" Noa -ahOorr Os 3zZ00 Tow 6 Sooneaus TSOPAR SUBRCUTINE S* tow ssGweosZo60=, eH PeOQOW EER IZOda OZ- wwe Ry Waeqobawzeia Cos5y een a4 -Oearadawaace HE G08 BIMSAe ORT FZ ul sz IToOs~ yaa DAwacKse euw505 we Sicoz0-20s—.205 ax su «Seozzeenu Wy Soe retebOS 2829, usec ema sOrEO Zesaese Hee oe re GG SanO4 paezoerd weorueze a F285 O50 Oc SO Sa SRS we OBZ Bs50 wReWOOOaWOSW Se) QZOrweare Zw >nonuinee QzZzOnaZ nda He SOU QuaAa a5 socaewag ts B36 7" Ge seen” Gasacoows we 25 Sun Sen Fr ° Su uumus urorouoes swore #Sa55 w= ue HOS QENZNM a gegas Iza Oee 3 S340" Sa9= 3: s°S7 5 aees2 — B0etu ga on3a2~ u_ 235 $2 oso ee Oe ee dadus" a sQse404Z sss 4 *#Ze0T = Watar enor edaxsoIe aszZszZ72IxI

You might also like