资源描述:
《fortran_讲解-平面有限元源程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Fortran讲解FORTRAN是科学计算语言。很多年不碰它了(87年用)。。。你怎么不去FORTRAN论坛?试着说说:SUBROUTINEKE(IO,NE,NWE,T,A1,A2,V,EK,BCA) *子例行程序KE(可以CALL调用) DIMENSIONB(7),BCA(7,NE),EK(6,6) *定义1个一维数组和2个两维数组 DO10I=1,7 *循环,10是下面的标号 B(I)=BCA(I,IO)
2、 *给一维数组B(I)赋值。但BCA函数我没见过,外部函数?10 CONTINUE *未完成7次循环继续 A=A1/B(7)*T *表达式计算结果赋值给A DO20I=1,3 *下面是双重循环——外循环 DO20J=I,3 *内循环
3、 I1=2*I J1=2*J EK(I1-1,J1-1)=A*(B(I)*B(J)+A2*B(I+3)*B(J+3))*2维数组通过表达式计算后赋值 EK(I1-1,J1)=A*(V*B(I)*B(J+3)+A2*B(I+3)*B(J)) EK(I1,J1-1)=A*(V*B(I+3)*B(J)+A2*B(I)*B(J+3)) EK(I1,J1)=A*(B(I+3)*B(J+3)+A2*B(I)*B(J))20
4、 CONTINUE *循环未完成继续 DO30I=3,6 *有是一个双重循环 DO30J=1,I EK(I,J)=EK(J,I)30 CONTINUE *循环未完成继续 IF(NWE.EQ.0)GOTO60 *如果NWE=0转标号60处
5、 WRITE(6,40)IO *输出IO,6=显示器或打印机,40是表控格式,就是由40标号语句控制输出格式40 FORMAT(/1X,'EKNE='I5) *格式说明,似乎1X前多个/ WRITE(6,50)EK *输出EK50 FORMAT(1X,6E11.4) *同上60 RETURN
6、 *返回操作系统 END *程序结束EK(I1-1,J1-1)=A*(B(I)*B(J)+A2*B(I+3)*B(J+3))假如I=2,J=3I1=2*I=4,J1=2*J=6,这样上面的语句就相当于:EK(3,5)=A*(B(2)*B(3)+A2*B(5)*B(6))呵呵,就这意思。一维、二维数组你总该知道吧?B(2)就是元素在数组中第二个,EK(3,5)第三行第五列那个元素(行列式)。有限元离不开行列式,甚至需要用到张量(N维数组)。FOR
7、TRAN在计算上得天独厚。平面弹性力学有限元源程序(FORTRAN)1.$DEBUG2. PROGRAMPLANE3. IMPLICITREAL*8(A-H,O-Z),INTEGER(I-N)4. ALLOCATABLE::IJK(:,:),XY(:,:),BCA(:,:),SK(:,:),STR(:,:),MB(:,:),ZB(:),B(:)5. ALLOCATABLE::DELD(:,:,:),TOD(:,:),DELST(:,:,:),TOST(:,:),DELSUP(:,:),TO
8、TSUP(:)6. DIMENSIONEK(6,6)7. CHARACTERPN*40,FN*128.9. WRIT