LBW 图3.4单元的带宽和列的大小 ROUT INE SYSBAN NE, N, NG,I6W, NCCES, L NCCE, LMAX DETERMINE UPPER HALF BAND WIDTH CF SYSTEM DIMENSION NLESINE,N NODE NCD A PER ELEMENT LMAX = LASAENLINCIDE ∈ LEMENTS LNODI NC L EHENT CAUS LBH 影"25 NA NG LBNOLNSEN 」"2Dy2DD t0 BH E LEW 0 图3.5」程序 SYSBAN 用的.我们还记得,全部结点的空间坐标和全部单元的单元关联 结点都是作为输人数据而已经存在的。因此,要确定一个数组,使 其包含某单元关联结点的空间坐标,只要筒单地用子程序LNO DES抽取单元关联结点,再在关联结点表中抽取每个结点的空间 坐标就可以了。图3.6所示的程序 ELCORD就是用于此目的 36·
u8N"g::":*°9日 0F"I'!gφPl。ArE♀°εsξξ CoP QIHE NUMBER IHPL【 CIT RE 命B【一H,0-Z IN, NSPACEl, LNODE(N] ξA5斯 NCI DENCES Ni EHENT COORD HODF(T1.K END 图36子程序 ELCORD SUBROUTINE PTCORD (IPT, M, NSPACE, *, CCORD1 ccccccccc E0PE129““, EXTRACT COORDINATES OF POINT NUMBER I' 昏中·幸肀 DRai,NSP真Lt SYSTEM N而0AE。NM8 NO NSPACE a DI NEN F丁H 图3·7子程序 PTCORD 的。类似的程序 PTCORD是用来提取某单个结点的空间坐标 的,示于图37 32特性的检索 输人数据中包括有系统中各单元的单元特性,所以,对此数据 进行扫描并抽取任一特定单元的特性并不难,这项工作由于程 序 ELPRTY执行,抽取出单元特性后,将其传送到计算单元矩 阵的那个(或那些)子程序中,在以上:讨论中,已假设单元的特性 不随该单元内的各点位置而变化如果实际情况并非如此,就必须 釆用其他方法来确定单元特性随地点面变化的情况。完成这项工 作可采用的方法是:输入结点处的特性,而特性随地点的变化也 用单元的插值函数来表示 可以用子程序 LPTPRT建立一个效組,其内容是:与一个 37
特定单元相关联的全部结点的结点特性,此例行程序以单元的关 联结点表为引导,从输人的结点特性数组中抽取所需的数据,与 单元关联结点相关的特性数据存在数组 PRTLPT中,将其传送 给单元矩阵的例行程序,子程序 ELPRTY和 LPTPRT分别示 于图38和图3.9.有限元法有能力处理许多不同类型的特性,这 是其主要的有实效的优点之一。举例来说,常见的特性类型(或 微分方程的系数)有热传导问题中的导热率和热应力分析中的结 点温度.一些典型的特性数据的具体例子将从第十章开始给出 SUB ROUT INE ELPRTY【L ": 能, P CIT REAL事8【具 ARRAY PRGP ERT【5s ARRAY L HONGE 载是R1 ENEOUS LoALHG P iSi PROp erties 图38了程序 ELPRTY SUB ROUT INE LPTPRT I, FL TNP PRTLPI+ EXTRAC T FLOATING PFEX31 →* 率*净中;*冲事咖 5"0::1::48 HoH〓LNG HGMCGENEGUS L E, FLTNP【 I ROW JH 图39子程序 LPTPRT 考虑系统中的一个典型结点,每个结点有NG个参数,则每 个典型结点处有NG个局部自由度(标)号(1≤J≤NG)和对
应的一套系统自由度(标)号.如果1代表该结点的系统结点号, 则这NG个对应的系统自由度号可用方程式(11)算出。这些初 步的计算由子程序 INDXPT执行。这个程序将NG个存储地 址赋给一个向量 INDEX,其中内容是与指定结点相关联的系统 自由度号,欲知有关计算,可参看表31和图3.10 INDXPT (IPr, NG, IND ●音● DI NENSION NODAL DEF NoL 0霾:R3 图3.10于程序 NDXPT 丧3.1 结点l的自由度号 系绕 INDEX(1) INDE X(2) INDEXO NG INDEX(NG) s [NDEX(J)m NG*(Is-1)+J 前节曾指出,为计算某点的系统自由度号,必须先知道该点的 系统结点号。与此类似,欲求与某单元相关的系统自由度号,必须 先知道与该单元相关的系统结点号(即单元的关联结点).利用与 一个特定单元相关的N个结点所列成的表(单元的关联结点表), 可以再次使用方程(.1)算出与賦给该单元的N*NG个参数相 对应的系统自由度号,这些计算列在表32中,由图3.11所示的 子程序 INDXEL执行。设立存储地址以存入N个单元关联结点 (由子程序 LNODES抽取)和N水NG个在向量 INDEX中与 该单元相关的系统自由度号 在迭代求解中常发生某一特性随洁点参数而变的情况,这时
SUBROUT (N, LEMFRE, NG, LNCDE I NDEXH DET ERM U№ED F5F2HNBE5联 OIME NSI ON LEM NOOE(N) T LNODE【K·GT·01ID0FIDF+ AGLNCDE{K1 L№oDE【K」-1】÷6 图311子程序 INDXEL 表3.2 局部参数号系统结点 单元自由度号 结点 u Is= LNODE(IL) 局部 NGL一1)+J NGls-1)十J 1 LNODE(1) NG(LNODE(1)-1)+2 1 NG LNODE LNODE(2) K IG LNODE(K) NG*(K-1)+IGNG*(LNODE(K)-1)+IG NJ NGI LNODE(N) NNG NG*(LNODE(N)-1)+NG 5 BROUT INE ELFRE《 NOFR EE;且FRE,0, DC,INCEX EX TRACT ELEMENT DEGREES OF FREEDOM FROM SYST EM DOF REA·8《AHt0- D(NOFREE), INCEX《 NELFRE RAMETER E EE 3:1:15: 子程序 ELFRE 就需要恢复先前与单元相关的结点参数图312的子程序 ELFRE 40