資源描述:
《fortran_講解-平面有限元源程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Fortran講解FORTRAN是科學(xué)計(jì)算語言。很多年不碰它了(87年用)。。。你怎么不去FORTRAN論壇?試著說說:SUBROUTINEKE(IO,NE,NWE,T,A1,A2,V,EK,BCA)??????*子例行程序KE(可以CALL調(diào)用)????????????DIMENSIONB(7),BCA(7,NE),EK(6,6)???*定義1個(gè)一維數(shù)組和2個(gè)兩維數(shù)組????????????DO10I=1,7????????????????????????*循環(huán),10是下面的標(biāo)號????????????B(I)=BCA(I,IO)?????????????
2、????????*給一維數(shù)組B(I)賦值。但BCA函數(shù)我沒見過,外部函數(shù)?10????????????CONTINUE??????????????????????????*未完成7次循環(huán)繼續(xù)????????????A=A1/B(7)*T????????????????????????*表達(dá)式計(jì)算結(jié)果賦值給A????????????DO20I=1,3????????????????????????*下面是雙重循環(huán)——外循環(huán)????????????DO20J=I,3????????????????????????*內(nèi)循環(huán)????????????I1=2*I???
3、?????????J1=2*J????????????EK(I1-1,J1-1)=A*(B(I)*B(J)+A2*B(I+3)*B(J+3))*2維數(shù)組通過表達(dá)式計(jì)算后賦值????????????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??????????
4、????????????????*循環(huán)未完成繼續(xù)????????????DO30I=3,6????????????????????????*有是一個(gè)雙重循環(huán)????????????DO30J=1,I??????????????EK(I,J)=EK(J,I)30????????????CONTINUE??????????????????????????*循環(huán)未完成繼續(xù)????????????IF(NWE.EQ.0)GOTO60???????????????*如果NWE=0轉(zhuǎn)標(biāo)號60處????????????WRITE(6,40)IO??????????????
5、???????*輸出IO,6=顯示器或打印機(jī),40是表控格式,就是由40標(biāo)號語句控制輸出格式40????????????FORMAT(/1X,'EKNE='I5)????????????*格式說明,似乎1X前多個(gè)/????????????WRITE(6,50)EK?????????????????????*輸出EK50????????????FORMAT(1X,6E11.4)?????????????????*同上60????????????RETURN???????????????????????????*返回操作系統(tǒng)????????????END????
6、?????????????????????????????*程序結(jié)束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,這樣上面的語句就相當(dāng)于:EK(3,5)=A*(B(2)*B(3)+A2*B(5)*B(6))呵呵,就這意思。一維、二維數(shù)組你總該知道吧?B(2)就是元素在數(shù)組中第二個(gè),EK(3,5)第三行第五列那個(gè)元素(行列式)。有限元離不開行列式,甚至需要用到張量(N維數(shù)組)。FORTRAN在計(jì)算上得天獨(dú)厚。平面彈性力學(xué)有限元源程序(FORTRAN)1.$DEBUG
7、2.????????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(:,:),TOTSUP(:)6.????????DIMENSIONEK(6,6)7.??????CHARACTE
8、RPN*40,FN*128.9.??????WRIT