线弹性小变形空间板壳静力有限元计算程序

上传人:M****1 文档编号:559837567 上传时间:2022-12-26 格式:DOC 页数:36 大小:126.02KB
返回 下载 相关 举报
线弹性小变形空间板壳静力有限元计算程序_第1页
第1页 / 共36页
线弹性小变形空间板壳静力有限元计算程序_第2页
第2页 / 共36页
线弹性小变形空间板壳静力有限元计算程序_第3页
第3页 / 共36页
线弹性小变形空间板壳静力有限元计算程序_第4页
第4页 / 共36页
线弹性小变形空间板壳静力有限元计算程序_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《线弹性小变形空间板壳静力有限元计算程序》由会员分享,可在线阅读,更多相关《线弹性小变形空间板壳静力有限元计算程序(36页珍藏版)》请在金锄头文库上搜索。

1、元计算有限元自动生成系统所开发源代码系列线弹性小变形空间板壳静力有限元计算程序1. 简介元计算()公司所开发的并行有限元程序自动生成系统(pFEPG)可根据用户需要开发出各种有限元计算程序源代码。该源代码系列即为pFEPG所开发出来的求解各学科典型问题的有限元计算程序。该组程序为线弹性小变形空间板壳静力有限元计算程序。2. starta.for,对位移场的数据进行初始化; implicit real*8 (a-h,o-z) character*12 fname,filename(20) common /aa/ ia(250000000) common /bb/ ib(125000000)c.

2、open disp0 file to get the numbers of nodes and degree of freedomc. knode . number of nodes, kdgof . number of d.o.f. open(1,file= ,form=unformatted) read(1) knode,kdgof close(1) kvar=knode*kdgof write(*,*) knode,kdgof,kvar = write(*,(1x,4i7) knode,kdgof,kvar kvar1=kvar+1 kcoor=3 kelem=31250000 knb1

3、=kdgof*knode*1 if (knb1/2*2 .lt. knb1) knb1=knb1+1 kna4=kcoor*knode*2 kna1=kdgof*knode*2 kna2=kdgof*knode*2 kna3=kdgof*knode*2 kna5=knode*1 if (kna5/2*2 .lt. kna5) kna5=kna5+1 knb4=kelem*1 if (knb4/2*2 .lt. knb4) knb4=knb4+1 knb2=kvar1*1 if (knb2/2*2 .lt. knb2) knb2=knb2+1 knb3=kvar1*1 if (knb3/2*2

4、.lt. knb3) knb3=knb3+1 kna0=1 kna1=kna1+kna0 kna2=kna2+kna1 kna3=kna3+kna2 kna4=kna4+kna3 kna5=kna5+kna4 if (kna5-1.gt.250000000) then write(*,*) exceed memory of array ia write(*,*) memory of ia = 250000000 write(*,*) memory needed = ,kna5, in prgram start stop 55555 endif knb0=1 knb1=knb1+knb0 knb

5、2=knb2+knb1 knb3=knb3+knb2 knb4=knb4+knb3 if (knb4-1.gt.125000000) then write(*,*) exceed memory of array ib write(*,*) memory of ib = 125000000 write(*,*) memory needed = ,knb4, in prgram start stop 55555 endif call start(knode,kdgof,kcoor,kvar, *kelem,maxt,kvar1,ia(kna0),ia(kna1),ia(kna2), *ia(kna

6、3),ia(kna4),ib(knb0),ib(knb1),ib(knb2), *ib(knb3), *filename) end subroutine start(knode,kdgof,kcoor,kvar, *kelem,maxt,kvar1,u0,u1,u2, *coor,inodvar,nodvar,numcol,lm,node, *filename) implicit real*8 (a-h,o-z) character*12 filename(20) DIMENSION NODVAR(KDGOF,KNODE),COOR(KCOOR,KNODE),R(3), * U0(KDGOF,

7、KNODE),U1(KDGOF,KNODE),U2(KDGOF,KNODE), * INODVAR(KNODE),node(kelem) DIMENSION NUMCOL(KVAR1),LM(KVAR1) CHARACTER*1 MATERIAL logical filflgC .C . KNODE NUMBER OF NODESC . INODVAR ID DATAC . U0 U1 U2 INITIAL VALUEC . COOR COORDINATESC . NODE ELEMENT NODAL CONNECTIONC .6 FORMAT (1X, 15I4)7 FORMAT (1X,8

8、F9.3)C.OPEN ID file OPEN (1,FILE= ,FORM=UNFORMATTED,STATUS=OLD) READ (1) NUMNOD,NODDOF,(NODVAR(I,J),I=1,NODDOF),J=1,NUMNOD) CLOSE (1) call chms(kdgof,knode,NODVAR)c WRITE(*,*) NUMNOD =,NUMNOD, NODDOF =,NODDOFc WRITE (*,*) ID =c WRITE (*,6) (NODVAR(I,J),I=1,NODDOF),J=1,NUMNOD)C. GET THE NATURAL NODAL

9、 ORDER DO 12 N=1,KNODE INODVAR(N)=N12 CONTINUEC. OPEN ORDER.NOD FILE AND READ THE NODAL ORDER IF THE FILE EXIST inquire(file=ORDER.NOD,exist=filflg) if (filflg) then OPEN (1,FILE=ORDER.NOD,FORM=UNFORMATTED,STATUS=OLD) READ (1) (INODVAR(I),I=1,NUMNOD) CLOSE(1) WRITE(*,*) NODORDER = WRITE(*,6) (INODVA

10、R(I),I=1,NUMNOD) endifC. GET NV BY ID NEQ=0 DO 20 JNOD=1,NUMNOD J=INODVAR(JNOD) DO 18 I=1,NODDOF IF (NODVAR(I,J).NE.1) GOTO 18 NEQ = NEQ + 1 NODVAR(I,J) = NEQ18 CONTINUE20 CONTINUE DO 30 JNOD=1,NUMNOD J=INODVAR(JNOD) DO 28 I=1,NODDOF IF (NODVAR(I,J).GE.-1) GOTO 28 N = -NODVAR(I,J)-1 NODVAR(I,J) = NO

11、DVAR(I,N)28 CONTINUE30 CONTINUEC. OPEN AND WRITE THE NV FILE OPEN(8,STATUS=unknown,FILE= ,FORM=UNFORMATTED) WRITE(8) (NODVAR(I,J),I=1,NODDOF),J=1,NUMNOD) CLOSE(8)c WRITE(*,*) NUMNOD =,NUMNOD, NODDOF =,NODDOFc WRITE(*,6) (NODVAR(I,J),I=1,NODDOF),J=1,NUMNOD)C. WRITE THE BOUNDAY CONDITION FILE BFD ACCO

12、RDING TO THE DISP0 FILEC.OPEN DISP0 FILE OPEN(1,FILE= ,FORM=UNFORMATTED,STATUS=OLD) READ(1) NUMNOD,NODDOF,(U0(I,J),I=1,NODDOF),J=1,NUMNOD) CLOSE(1)C.OPEN BFD FILE OPEN(1,FILE= ,FORM=UNFORMATTED,STATUS=unknown) WRITE(1) (U0(I,J),I=1,NODDOF),J=1,NUMNOD) CLOSE(1)C. GET THE INITIAL TIME FROM TIME0 FILEC.OPEN TIME0 File OPEN(1,FILE= ,FORM=FORMATTED) READ(1,*) T0,TMAX,DT TIME = T0 IT = 0 WRITE(*,*) TMAX,DT,TIME,IT =,TMAX,DT,TIME,IT CLOSE(1)C.OPEN TIME File OPEN(1,FIL

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号