資源描述:
《matlab有限元法計算分析程序編寫》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、有限元法計算分析程序編寫有限元法計算分析程序編寫結構參數(shù)輸入,包括1)節(jié)點坐標值2)單元類型以及連接信息3)各單元的彈性模量、截面積(厚度)等4)荷載形式以及作用位置、作用方向、荷載值5)約束條件6)輸出信息mji對節(jié)點和單元分別編號每個節(jié)點的自由度根據(jù)y節(jié)點號計算得到xo計算結構的剛度矩陣對各單元作如下的計算a)計算單元剛度矩陣b)計算坐標轉(zhuǎn)換矩陣(如果需要)c)作坐標轉(zhuǎn)換計算(如果需要)d)按自由度順序疊加到總剛度矩陣中計算荷載向量對各節(jié)點集中荷載作如下的計算對各節(jié)點集中荷載作如下的計算a)分解成坐標方向的荷載分量b)按自
2、由度順序疊加到荷載向量中對非節(jié)點集中荷載作如下的計算對非節(jié)點集中荷載作如下的計算a)在單元局部坐標系下計算等效節(jié)點荷載b)作坐標變換(如果需要)c)按自由度順序疊加到荷載向量中引入邊界條件?最簡單的方法是改變主元為十分大的值(采用這種方法時,可以在剛度方程計算過程中實施)?修改剛度方程?k1,1LLk1,iLk1,n??a1??P1???????kLLkLkaP?2,12,i2,n??1??2??MMOMMM???M????M??????=??kLLkLkaPai=βi?i,1i,ii,n??i??i??MMMMOM??M??
3、M?????????kn,iLLkn,iLkn,n????an????Pn???k1,1LL0Lk1,n??a1??P1???????kLL0LkaP?2,12,n??1??2??MMOMOM???M????M??????=???0LL1L0??ai??βi??MMOMOM??M??M?????????kn,iLL0Lkn,n????an????Pn???k1,1LLk1,iLk1,n??a1??P1???????kLLkLkaP?2,12,i2,n??1??2??MMOMOM???M????M???20???=?20??ki
4、,1LL10Lki,n??ai??βi×10??MMOMOM??M??M?????????kn,iLLkn,iLkn,n????an????Pn??解方程(線性方程組)得到位移?Ka+Ka+LKa+Ka=P1111221,n?1n?11,nn1?Ka+Ka+LKa+Ka=P?2112222,n?1n?12,nn2??LL?Ka+Ka+LKa+Ka=P?n?1,11n?1,22n?1,n?1n?1n?1,nnn?1?Ka+Ka+LKa+Ka=P?n,11n,22n,n?1n?1n,nnn計算應變和應力?對各單元計算1)按自由度讀
5、出單元的節(jié)點位移2)如果必要計算進行坐標轉(zhuǎn)換(整體到局部)3)計算應變和應力5)輸出結果補充:剛度矩陣的基本性質(zhì)?剛度矩陣中每一元素的物理意義是要使結構體在某一自由度發(fā)生單位廣義位移,而其它自由度都保持零位移的狀態(tài)下,所需要施加的結點廣義力。?剛度矩陣對角元上的主元素都是正的。?剛度矩陣是對稱矩陣。?剛度矩陣是一個稀疏陣,如果遵守一定的結點編號規(guī)則,可使非零元素都集中于主對角線附近而呈帶狀。?剛度矩陣是一個奇異陣,在排除剛體位移后,它是正定陣。因為物體在受到平衡力作用時,可以是靜止不同,但也可以作勻速運動,即物體的絕對位移不能
6、確定,也就是說整體剛度矩陣不存在逆矩陣,因此它是奇異矩陣。MATLAB概要?對于有限元初學者來說,自己動手編寫一個有限元程序是學習、理解和掌握有限元法的一條捷徑。傳統(tǒng)的有限元程序設計大多采用FORTRAN語言,雖然FORTRAN語言在數(shù)值計算方面享有盛譽,但是它的數(shù)據(jù)類型相對單一,編寫程序有些難度,而MATLAB則相對容易。MATLAB的使用方法1)最簡單的計算器使用法求[12+2×(7-4)]÷32的算術運算結果(1)用鍵盤在MATLAB指令窗中輸入一下內(nèi)容(12+2*(7-4))/3^2(2)在上述表達式輸入完成后,按【E
7、nter】鍵,該指令被執(zhí)行(3)在指令執(zhí)行后,MATLAB指令窗中將顯示一下內(nèi)容ans=2[說明]加+減-乘*除/或(這兩個符號對于數(shù)組有不同的含義)冪^“ans”是answer的縮寫,其含義是運算答案,它是MATLAB的一個默認變量2)簡單矩陣的輸入(1)在鍵盤上輸入下列內(nèi)容A=[1,2,3;4,5,6;7,8,9](2)按【Enter】鍵,指令被執(zhí)行(3)在指令被執(zhí)行后,MATLAB指令窗中將顯示以下結果A=?123?123??A=456??456??789??789[說明]:在全部鍵入一個指令行內(nèi)容后,必須按下【Een
8、ter】鍵,該指令才會被執(zhí)行。?直接輸入矩陣時,矩陣元素用空格或逗號‘,’分開;矩陣行用“;”隔離,整個矩陣放在“[]”里。?在MATLAB里,不必事先對矩陣維數(shù)作任何說明,存儲時將自動配置?指令執(zhí)行后,矩陣A被保存在MATLAB的工作空間中,以備后用。如果用戶不用Clear