資源描述:
《fortran語言有限元程序分析平面鋼架》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、程序框圖:程序特點:問題類型:可用于計算結(jié)構(gòu)力學的平面剛架問題單元類型:直接利用桿單元載荷類型:節(jié)點載荷及非節(jié)點載荷,其中非節(jié)點載荷包括均布荷載和垂直于桿件的集中荷載材料性質(zhì):所有桿單元幾何性質(zhì)相同,口由相同的均勻材料組成方程求解:結(jié)構(gòu)剛度矩陣采用滿陣存放,Gauss消元過程采用《數(shù)值分析》屮的列主元素消去法輸入文件:按先處理法的要求,由手工生成輸入數(shù)據(jù)文件1?主要變量:ne:單元個數(shù)nj:結(jié)點個數(shù)n:自由度e:彈性模量(單位:KN/m2)a:桿截面積zi:慣性矩np:結(jié)點荷載個數(shù)nf:非結(jié)點荷載個數(shù)x(nj):存放結(jié)點的x軸坐標y(nj):存放結(jié)點的y軸坐標ij(ne,2):存放單
2、元結(jié)點編號,其中ij(nj,l)存放起始結(jié)點編號,ij(nj,2)存放終止結(jié)點編號jn(nj,3):存放結(jié)點位移編號,以組成單元定位數(shù)組pj(np,3):存放結(jié)點荷載信息,其中pj(np,l)存放結(jié)點荷載作用結(jié)點號,pj(np,2)存放荷載方向代碼(1—x方向;2—y方向;3—轉(zhuǎn)角),pj(np,3)存放荷載大小pf(ne,4):存放非結(jié)點荷載信息,其中pf(ne,l)存放荷載作用單元號,pf(ne,2)存放荷載代碼(1—均布荷載,2—垂直集中荷載),pf(ne,3)存放荷載大小,pf(ne,4)荷載作用距離(均布荷載,集中荷載均以單元起始結(jié)點為計算起始位置)。2.子例行子程序啞元信
3、息:第一部分:基本部分I.subroutinelsc(Length&Sin&Cos):輸入啞元:m(單元號),nj,ne,x,y,ij輸出啞元:bl(桿件長度),si(正弦值),co(余弦值)II.subroutineelv(ElementLocationVector):輸入啞元:m,ne,nj,ij,jn輸出啞元:lv(單元定位數(shù)組)III.subroutineesm(ElementStiffnessMatrix):輸入啞元:e,a,zi,bl,si,co輸岀啞元:ek(整體坐標系下的單剛矩陣)IV.subroutineeff(ElementFixed-endForces)輸入啞元
4、:i,pf,nf,bl輸岀啞元:fo(局部坐標系下單元固端力)第二部分:主程序直接調(diào)用部分I.subroutinetsm(TotalStiffnessMatrix計算總剛矩陣)輸入啞元:ne,nj,n,e,x,y,ij,a,zi,jn輸出啞元:tkII.subroutinejlp(JointLoadVector計算結(jié)點荷載)輸入啞元:ne,nj,n,np,nf,x,y,ij,jn,pj,pf輸岀啞元:p(結(jié)點荷載列矩陣)III.subroutinegauss(帶列主元素消去的高斯法)輸入(輸岀)啞元:tk,p,n;(注意,算岀位移后,直接存儲単結(jié)點荷載列矩陣)IV.subroutin
5、emvn(Member-endforcesofelements計算各單元的桿端力)輸入啞元:ne,nj,n,nf,e,x,y,ij,a,zi,jn,pf,p3.文件管理:源程序文件:pff.for程序需讀入的數(shù)據(jù)文件:input.txt程序輸岀的數(shù)據(jù)文件:output2.數(shù)據(jù)文件格式:【輸入文件格式】:欄目格式說明實際需輸入的數(shù)據(jù)基本模型數(shù)據(jù)第1行,每兩個數(shù)之間用“,”號隔開單元個數(shù),結(jié)點個數(shù),總自由度,彈性模量,桿截面積,慣性矩,結(jié)點荷載個數(shù),非結(jié)點荷載個數(shù)結(jié)點位置信息第2行,每兩個數(shù)之間用“,”號隔開依次輸入各結(jié)點的坐標(x,y)單元結(jié)點信息每輸入一個單元換行(回車),兩個數(shù)之間
6、用“,”號隔開依次輸入各單元的起點結(jié)點號和終點結(jié)點號結(jié)點約束信息每輸入一個結(jié)點換行(回車),兩個數(shù)之間用“,”號隔開按先處理法要求,輸入各結(jié)點編號結(jié)點荷載信息每個結(jié)點荷載成一行,每兩個數(shù)之間用“,”號隔開每行依次輸入荷載作用的結(jié)點號,荷載方向代碼,荷載大?。▍⒖肌爸饕兞俊钡臄⑹觯┓墙Y(jié)點荷載信息每個非結(jié)點荷載成一行,每兩個數(shù)之間用“,”號隔開每行依次輸入荷載作用單元,荷載代碼,荷載大小,荷載作用''長度"(參考“主要向量”的敘述)【輸出文件格式】:1.第1部分:每行數(shù)據(jù)依次為:結(jié)點號,結(jié)點X方向位移,結(jié)點y方向位移,結(jié)點轉(zhuǎn)角位移2.第2部分:每行數(shù)據(jù)依次為:單元號,J,Fyi,%?,
7、Fxj,Fyj,M.源程序:programPFFimplicitnonerealtk(lOO,lOO),x(5O),y(5O),p(lOO),pj(5O,3),pf(5O,4)integerij(5O,2),jn(5O,3)integerne,nj,n,np,nfreale,a,ziopen(l,file=ninput.txt,',status=,,oldn)open(2,file二"output,txt",status=”old”)read(l,*)ne