平面四边形八节点等参单元的平面有限元分析程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

平⾯四边形⼋节点等参单元的平⾯有限元分析程序

1 C 这是⼀个采⽤平⾯四边形⼋节点等参单元的平⾯有限元分析程序。

2 PROGRAM PLANEFEM

3 IMPLICIT REAL*8(A-H,O-Z)

4 CHARACTER*80 LINECHAR,NEWLINECHAR

5 COMMON A(30000),L(4000)

6 COMMON /SOL/NPOIN,NELEM,NTYPE,NMATS

7 OPEN(5,FILE='FEMDATA',STATUS='OLD')

8 OPEN(6,FILE='FEMOUT',STATUS='UNKNOWN')

9 C 以下进⾏的是从数据⽂件FEMDATA中读⼊数据⽂件主标题信息。

10 READ(5,5000) LINECHAR

11 LOCATECHAR=INDEX(LINECHAR,'输⼊')

12 IF(LOCATECHAR.NE.0) THEN

13 LINECHAR(LOCATECHAR:LOCATECHAR+3)='输出'

14 ENDIF

15 WRITE(6,5100) LINECHAR

165000 FORMAT(A)

175100 FORMAT(80('*')/A/80('*')/)

18 C 以下进⾏的是先读⼊⼀⾏字符,然后从字符中读⼊⽹格单元总数NELEM。

19 READ(5,5000) LINECHAR

20 WRITE(6,5000) LINECHAR

21 LOCATECHAR=INDEX(LINECHAR,'=')

22 LOCATECHAR=LOCATECHAR+1

23 NEWLINECHAR=LINECHAR(LOCATECHAR:80)

24 READ(NEWLINECHAR,5200) NELEM

255200 FORMAT(I5)

26 C 以下进⾏的是先读⼊⼀⾏字符,然后从字符中读⼊单元节点总数NPOIN。

27 READ(5,5000) LINECHAR

28 WRITE(6,5000) LINECHAR

29 LOCATECHAR=INDEX(LINECHAR,'=')

30 LOCATECHAR=LOCATECHAR+1

31 NEWLINECHAR=LINECHAR(LOCATECHAR:80)

32 READ(NEWLINECHAR,5200) NPOIN

33 C 以下进⾏的是先读⼊⼀⾏字符,然后从字符中读⼊问题类型编号NTYPE。

34 READ(5,5000) LINECHAR

35 WRITE(6,5000) LINECHAR

36 LOCATECHAR=INDEX(LINECHAR,'=')

37 LOCATECHAR=LOCATECHAR+1

38 NEWLINECHAR=LINECHAR(LOCATECHAR:80)

39 READ(NEWLINECHAR,5200) NTYPE

40 C 以下进⾏的是先读⼊⼀⾏字符,然后从字符中读⼊材料类型总数NMATS。

41 READ(5,5000) LINECHAR

42 WRITE(6,5000) LINECHAR

43 LOCATECHAR=INDEX(LINECHAR,'=')

44 LOCATECHAR=LOCATECHAR+1

45 NEWLINECHAR=LINECHAR(LOCATECHAR:80)

46 READ(NEWLINECHAR,5200) NMATS

47 C 以下进⾏的是根据以输⼊的控制参数确定虚拟数组在实数组中的起始位置。

48 N1=1

49 N2=N1+NPOIN*2

50 N3=N2+NMATS*3

51 N4=N3+NPOIN*2

52 NN2=N1+NELEM*8

53 NN3=NN2+NPOIN

54 NN4=NN3+NELEM

55 NN5=NN4+NELEM

56 C 以下进⾏的是调⽤⼦程序进⾏有限元分析计算。

57 CALL INPUT(A(N1),A(N2),L(N1),L(NN2),L(NN3))

58 CALL STIF(A(N1),A(N2),L(N1),L(NN3))

59 CALL LOAD(A(N1),L(N1),L(NN4))

60 CALL ASEM(A(N3),A(N4),L(N1),L(NN2),L(NN4),L(NN5))

61 CALL SOLVE(A(N3),A(N4),L(NN5))

62 CALL STRE(A(N1),A(N2),A(N3),L(N1),L(NN3))

63 WRITE(*,5300)

645300 FORMAT(////////////////)

65 STOP ' *** 程序正常运⾏结束 ***'

66 END

67 C*****************************************************************************

68 C 这是⼀个进⾏数据输⼊并进⾏数据检验的⼦程序。 *

69 C*****************************************************************************

70 SUBROUTINE INPUT(COORD,PROPS,LNODS,IFPRE,MATNO)

71 IMPLICIT REAL*8(A-H,O-Z)

72 CHARACTER*80 LINECHAR,NEWLINECHAR,CHARCOMP

73 LOGICAL NOTREADCHAR

74 DIMENSION COORD(2,1),PROPS(3,1),LNODS(8,1),IFPRE(1),MATNO(1)

75 DIMENSION NEROR(6)

76 COMMON/SOL/NPOIN,NELEM,NTYPE,NMATS

77 CHARCOMP='aa(这个字符常量在ASCII序列中介于数字和字符之间)'

78 NNODE=8

79 C 以下进⾏的是对材料类型编号赋初值。

80 I=1

相关文档
最新文档