資源描述:
《fotran90版—平面剛架有限元分源程序代碼》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、Fotran90版—平面剛架有限元分源程序代碼programmainreal,allocatable::ks(:,:)allocatablelnd(:,:)allocatablecrd(:,:)allocatableea(:)allocatableei(:)allocatablejcs(:,:)allocatablepj(:,:)allocatablebl(:)allocatablep(:)open(5,file="inputdates.in")read(5,*)ne,nj,ns,npjnj3=3*njallocate(lnd(ne,2))allocate(crd(nj,2))allo
2、cate(ea(ne))allocate(ei(ne))allocate(jcs(ns,4))allocate(pj(npj,4))allocate(bl(ne))allocate(ks(nj3,nj3))allocate(p(nj3))write(*,"(1x,'planeframstructuralanalysis'//)")write(*,"(1x,'structuralparameters'/)")write(*,"(/1x,'totalnumberof')")write(*,"(1x,'element=',i5/1x,'joints=',i5/1x,'constructedj
3、oints=',i5/1x,'loads=',i5/)")&ne,nj,ns,npjcallreadin(ne,nj,ns,npj,lnd,crd,ea,ei,jcs,pj,bl)callformf(nj3,npj,pj,p)callcks(nj3,ne,ea,ei,bl,lnd,crd,nj,ks)calldealbc(ns,jcs,nj3,ks,p)callsolve(nj,nj3,ks,p)close(5)stopend!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!subroutinereadin(ne,nj,ns,npj,lnd,c
4、rd,ea,ei,jcs,pj,bl)dimensionlnd(ne,2),crd(nj,2),ea(ne),ei(ne),jcs(ns,4),pj(npj,4),bl(ne)read(5,*)((lnd(i,j),j=1,2),i=1,ne)write(*,"(/1x,'elementdates',/1x,'element',4x,'conection',8x)")write(*,"(1x,i5,2x,i5,3x,'to',i5,3x)")(i,(lnd(i,j),j=1,2),i=1,ne)read(5,*)((crd(i,j),j=1,2),i=1,nj)write(*,"(1x
5、,'nodelcoordinates'/3x,'node',6x,'x-coordinates',7x,'y-coordinates')")write(*,"(1x,i5,5x,f10.4,10x,f10.4)")(i,(crd(i,j),j=1,2),i=1,nj)read(5,*)(ea(i),i=1,ne)read(5,*)(ei(i),i=1,ne)write(*,"(/1x,'materialparameters',/1x,'element',11x,'ea',13x,'ei')")write(*,"(1x,i5,5x,2e15.6)")(i,ea(i),ei(i),i=1,
6、ne)read(5,*)((jcs(i,j),j=1,4),i=1,ns)write(*,"(/1x,'constrainednodes',/3x,'nodes',1x,'X',4x,'Y',4x,'R')")write(*,"(4i5)")((jcs(i,j),j=1,4),i=1,ns)read(5,*)((pj(i,j),j=1,4),i=1,npj)write(*,"(/1x,'jointsoflonds',/1x,'joint',5x,'PX',8x,'PY',8x,'Mxy')")write(*,"(1x,f5.0,3f10.4)")((pj(i,j),j=1,4),i=1
7、,npj)doie=1,nei=lnd(ie,1)j=lnd(ie,2)dx=crd(j,1)-crd(i,1)dy=crd(j,2)-crd(i,2)bl(ie)=sqrt(dx**2+dy**2)enddowrite(*,"(/1x,'thelengthoftheelements',/1x,'elementnumers',5x,'numemberslength')")write(*,"(1x,i5,10x,f10.4)")(i,bl(i),