You are on page 1of 8
CHAPTER 6 FINITE ELEMENT PROGRAMMING 6 FINITE ELEMENT PROGRAMMING This Chapter discusses how finite element analysis is implemented. Ta perform a finite clement analysis, the user needs to specify the element topology (geometry) of the problem, the boundary conditions, the applied loading, andthe material properties. Each of these steps will be discussed in detail. It should be noted at this stage that there is no ‘uniform standard for preparing finite element data, and each package typically ses its wa format, In this Chapter, we describe the format that is used for the Newcastle Finite Element Library, 641 Specification ofa Finite Element Grid ‘Tobe able to solve a finite element problem on the computer, we need to specify the finite element grid precisely. Typically, we must supply the following information ‘+The total number of nodes ‘©The total number of elements, ‘+ The geometry ofthe problem. This is done by specifying nodal coordinates ‘+The topology ofthe finite element grid. This is done by specifying the number of rhodes for each element and alist of nodes that define it ‘+The material properties. This is done by specifying the numberof material types and the material properties foreach material type. This information isinked othe finite clement grid by assigning a material type (typically an integer) to each element. ‘+The number of degrees of freedom (vatiable) at each node, "The boundary conditions + The applied loads, Different types of problems, of course, require different types of input but the above is usually abareminimum. To illustrate how this information is specified in practice, consider ‘a mesh of linear elements as shown below. ®@ = Uy slobal freedoms Figure 6.1: Mesh of two-noded rod elements ‘The rod is subject to a uniform body force X andis of uniform cross-section. For this grid Wwe have the basic control data + total number of elements=7O7ELS=3 ‘+ number of degrees of freedom/nod: + total degrees of freedom: + umber of material ypes=NUMMAT=1 (E andA are constant) 55 + mumber of nodesielemer -NODEL=2 For this example, the geometry of the problem is specified by the s-oordinats of the nodes. A general scheme, which s applicable to ny number of dimensions, stores the ‘coordinates in an array COORD which has size (TOTNOD,DIMEN) where DIMEN isthe ‘number of phyicel dimensions inthe problem. For the above one-dimensional case, DIMEN equals one and all thex-coorénate ae stored inthe fist column of COORD. ‘With reference 1 Figure 6.1 we ths have FCOORD(,1)) fF1] frsvordinate of node 1 Jcoorn@,1)| _|¥2] _ |s-coorainate of node 2| * |COORDG, 1)| ~ fr] ~ |s-coordinate of node 3} [coord (,1)] |e] [p-coordinate of node 4| coorD ‘The topology ofthe grid is specified by listing the nodes which define each element. These nodesare usually specified ina consistent manner andin the above example itis convenient to arrange the nodes in ascending sequence of their 2-coordinate. ‘The nodes for each ‘element are stored ine singe row of the array ELTOP as shawn below ELTOP = |ELTOP(2,1) ELTOP@,2)| = |1 4]—nodes for element 2 [ELTOP(A,1) ELTOP(,2) 1] nodes for element 1 leL TOP.) ELTOP(3,2) 14 2] nodes for element 3 To hold the nodes forall elements the array ELTOP must be of sie (JOTELS,NOD! ‘The nodes defining an element are found in ELTOPU, J), where J=1,2..0.NODEL. ‘The array ELTOP may also be used to store additional information about each element. {In particular, it may be used to store the number of nodes for each element as well ats ‘material type. The size of ELTOP is then (TOTELS, NODEL +2) and for our mesh of linear rod elements it would look ike 12.3 1]—element 1 121 4/“clement 2 124 2|~element 3 ELTOP ‘Columns one and two now contain, respectively, the material type and number of nodes for each element. Columns three and four old the element node numbers and aze again stored row by row. With this storage scheme, the material type for element Iis found in ELTOP(,1), whilst the number of nodes is found in ELTOPU2). “The nodes defining clement fare found in ELTOP(, J), where J=3,4...LTOP(T2)+2. For the one-dimensional rod element, the material properties that need to be specified are Young's modulus, E, and cross-sectional area. A simple method for storing these is to create two vectors, say E and A, of size NUMMAT. ‘The Young's modulus and cross-sectional area for element /, with material ype M==ELTOP(,1), are then found in E(if) and A(M) respectively 6.2 Boundary Conditions In order to specify the boundary conditions.we need to define which of the global degrees of freedom are prescribed, At this point tis again wseful to distinguish between 56 the local freedom numbers, which pertain to an element, andthe global freedom nambers, Which pertain to the overall mesh. For a mesh of three linear rod elements shown in Fig 5.1, each element has the local and global freedoms shown below u how A048 <2 soba 0S) 0G 0 0GEEEO Tr 7 OT 3 T T tocat Figure 62: Local and global freedoms for meth of linear rod elements Note that ‘+ element one has local freedoms 1 and 2 and global freedoms 3 and 1 ‘+ clement two has local freedoms 1 and? and global freedoms 1 and 4 ‘+ clement three has local freedoms 1 and 2 and global freedoms 4 and 2 1m general, the convention is thatthe global freedom numbers are related to the node ‘number Iva the formulae ‘+ for onesdimensioa: global freedom =(U)= I ensions: global freedoms =(U) + fortwo: 2 ‘Thasforour grid of linear rod elements, the global freedom numbers correspond precisely to the node numbers. ‘There are a number of different strategies for incorporating the boundary conditions in a finite element program, but here we will use the approach based ona nodal freedom array. The nodal freedom array, NF, is of size (TOTNOD, DOFNOD) and indicates the equation numbers, thats the final row and column numbers in the global stiffness equations, associated with each global freedom, If NF([J)=0, this indicates that the Jth degree of freedom at node Fs suppressed, IfNF(LJ)=K. this implies that the Jth ‘degree of freedom at node is assembled into the Kth row/column in the global stiffness ‘equations. 4 2% globat Freedoms ® ® + F NFamy en Figure 6.3: Nodal freedom numbers incorporating boundary conditions For the mesh of linear rod elements show in Figure 63, the nodal freedom array is given by INF. 1) INF, 1) |NFG,1) LF.) Ea By convention, the entries in the nodal freedom array are formed by running through the nodes in ascending sequence and allocating numbers to each degree of freedom that is tunrestrained, All fixed degrees of freedom are given a value of zero. The nodal freedom, array holds the nodal freedom numbers aad is used to form a steering vector for each clement. Allowing forthe fact that prescribed degrees of freedom are never assembled, the steering vector tells us where the clement stiffness matrix entries should be inserted in the global stiffness matrix. 63 Assembly of Element Equations using Steering Vectors ‘illustrate the construction and application of steering vectors and the nodal freedom, array, consider the mesh of linear 40d elements shown in Figure 6.3. Element one, for txampl, is defined by the nodes three and one in ELTOP. Thus the corresponding nodal freedom numbers are held in [NF3.1) NF 1] and the stering vector is 0 4 STEER! = {NF(,1) NFU} Elements two and three, on the other hand, are defined by nodes one and four and four and two, respectively, in ELTOP and hence STEER? = (VF(1) NF(4,1)} STEER? = (VF) N21) ‘Tosee how the steering vectors can be used to assemble the global equations, we note that the element sifess matrices are ofthe general form e-fha] ef] fi] ‘where the superscripts denote the element number. For the ease of element one, the clement stifiness entries are mapped into the global sifiness matrix according to 123 o1 if, 0 0) 1 Of Ha) ige : ¥ “Tee " xeao a ol 3f0 0 o [Note thatthe entries above and to the left ofthe element stiffness matrix are simply the steering vector which indicate that ‘+ Ff; ismot assembled into the global stiffness matrix sine its row and column indices ‘rom the steering vector are both zer0 + Elz is not assembled into the global stiffness matrix since its row index from the steering vector is zero ‘+ Ej, snot asembled into the global stiffness matsx ince its column index from the steering vector is zero 58 +H lsassembled into X;, of the global stiffness matrixsince its row and column indices fom the steering vector are (1) Similarly, for elements two and three, we have where + HyisascembledintoK,, ofthe plobal stifinessmatixsinc its row and cola indices fiom the steering vetor are (11) + Hlsassembled into Kj ofthe global stifinessmatixsine its ow andcolumn indices from the steering vetar ae (1.3) + Byisassembledinto Ky, ofthe plobalsifnessmatixsineitsrow and column indices fom the steering vetr ae @.1) + Ehisassembled into Ky ofthe global stifiness matrixsince itsrow and column indices ‘fom the steering vector are (3,3) snd 12 f+, 0 Skee) 0 3, ae where +) jnassembled into K ofthe global stfiness matrixsinceits tow and column indives {rom the steering vector are (3,3) + hpisassembled into K, ofthe global stfiness matrixsince its ow and column indices from the steering vector are (32) + Hisassembledinto Ky ofthe global stifinessmatrxsincetsrow and column indices fom the steering estoraze (23) + ,isassembled into Kof the global stiffness matrix since its row and column indices ‘fom the steering vector are (2,2) ‘The stecting vector i also used to assemble the element force vectors into the global force vector. Noting that the element force vectors are of the general form off 9 for element one we have aff off insert, fe) SS p-adto slo where ‘© flisnot assembled into the global force vector since its row index from the steering vector is zer0 ‘+ ffisassembled into F, ofthe global force vector since its row index from the steering vector is (1) Similarly for elements two and three we have 1fA+8 insert St p=2} 0 34 where ‘+ ffisassembled into F ofthe global force vector since its row index from the steering ‘vector is (1) + Alisssembedinto ofthe global force vector since isrow ndexfrom theterng ‘vector is (3) and , ifar8 e a peal 8 sleek mere + Alisasembled into F, ofthe global force vector since is rowindes fom the steering vector is) © flisassembled into vector is 2) 9 the global force vector since its row index from the steering ‘Thus by creating the nodal freedom array, and hence the element steering vectors, we have incorporated the boundary condition U = into the global stiffness equations which are ‘of the form 60 1 fm fa+A Ky | 403 a (2) +] [yy arf ‘These equations may be solved to give U, Usand Uy Note that 6.1) could also bederived Dbyassembling all ofthe element stiffness and force Vector entries into the global stfiness equations and then deleting the rows and column associated with the fixed displacements, This procedure, howeves, is awkward to implement ina finite clement code (since rows and columns need tobe shifted to remove mull entries) and isalso wasteful of computerstoraze.

You might also like