Fortran_讲解-平面有限元源程序Fortran_讲解-平面有限元源程序.doc

Fortran_讲解-平面有限元源程序Fortran_讲解-平面有限元源程序.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Fortran_讲解-平面有限元源程序Fortran_讲解-平面有限元源程序

Fortran 讲解 FORTRAN是科学计算语言。很多年不碰它了(87年用)。。。你怎么不去FORTRAN论坛? 试着说说: SUBROUTINE KE(IO,NE,NWE,T,A1,A2,V,EK,BCA)?????? *子例行程序KE(可以CALL调用) ????????????DIMENSION B(7),BCA(7,NE),EK(6,6)??? *定义1个一维数组和2个两维数组 ????????????DO 10 I=1,7???????????????????????? *循环,10是下面的标号 ????????????B(I)=BCA(I,IO)????????????????????? *给一维数组B(I)赋值。但BCA函数我没见过,外部函数? 10????????????CONTINUE??????????????????????????*未完成7次循环继续 ????????????A=A1/B(7)*T???????????????????????? *表达式计算结果赋值给A ????????????DO 20 I=1,3???????????????????????? *下面是双重循环——外循环 ????????????DO 20 J=I,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????????????CONTINUE??????????????????????????*循环未完成继续 ????????????DO 30 I=3,6???????????????????????? *有是一个双重循环 ???????????? DO 30 J=1,I ??????????????EK(I,J)=EK(J,I) 30????????????CONTINUE??????????????????????????*循环未完成继续 ????????????IF(NWE.EQ.0) GOTO 60??????????????? *如果NWE=0 转标号60处 ????????????WRITE(6,40) IO????????????????????? *输出IO,6=显示器或打印机,40是表控格式,就是由40标号语句控制输出格式 40????????????FORMAT(/1X,EK NE=I5)????????????*格式说明,似乎1X前多个/ ????????????WRITE(6,50) EK????????????????????? *输出EK 50????????????FORMAT(1X,6E11.4)?????????????????*同上 60????????????RETURN??????????????????????????? *返回操作系统 ????????????END?????????????????????????????????*程序结束 EK(I1-1,J1-1)=A*(B(I)*B(J)+A2*B(I+3)*B(J+3)) 假如I=2,J=3 I1=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维数组)。 FORTRAN在计算上得天独厚。平面弹性力学有限元源程序(FORTRAN)$DEBUG ? ? ? ? ? ? ? ? PROGRAM PLANE ? ? ? ? ? ? ? ? IMPLICIT REAL*8(A-H,O-Z),INTEGER(I-N) ? ? ? ? ? ? ? ? ALLOCATABLE::IJK(:,:),XY(:,:),BCA(:,:),SK(:,:),STR(:,:),MB(:,:),ZB(:),B(:) ? ? ? ? ? ? ? ? ALLOCATABLE::DELD(:,:,:),TOD(:,:),DELST(:,:,:

文档评论(0)

vshoulrengb3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档