版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于Matlab語言的按平面三角形單元劃分的結(jié)構(gòu)有限元程序設(shè)計基于Matlab語言的按平面三角形單元劃分結(jié)構(gòu)有限元程序設(shè)計一、 有限單元發(fā)及Matlab語言概述1. 有限單元法隨著現(xiàn)代工業(yè)、生產(chǎn)技術(shù)的發(fā)展,不斷要求設(shè)計高質(zhì)量、高水平的大型、復(fù)雜和精密的機(jī)械及工程結(jié)構(gòu)。為此目的,人們必須預(yù)先通過有效的計算手段,確切的預(yù)測即將誕生的機(jī)械和工程結(jié)構(gòu),在未來工作時所發(fā)生的應(yīng)力、應(yīng)變和位移因此,需要尋求一種簡單而又精確的數(shù)值分析方法。有限單元法正是適應(yīng)這種要求而產(chǎn)生和發(fā)展起來的一種十分有效的數(shù)值計算方法。有限元法把一個復(fù)雜的結(jié)構(gòu)分解成相對簡單的“單元”,各單元之間通過結(jié)點(diǎn)相互連接。單元內(nèi)的物理量由單元結(jié)
2、點(diǎn)上的物理量按一定的假設(shè)內(nèi)插得到,這樣就把一個復(fù)雜結(jié)構(gòu)從無限多個自由度簡化為有限個單元組成的結(jié)構(gòu)。我們只要分析每個單元的力學(xué)特性,然后按照有限元法的規(guī)則把這些單元“拼裝”成整體,就能夠得到整體結(jié)構(gòu)的力學(xué)特性。有限單元法基本步驟如下:(1)結(jié)構(gòu)離散:結(jié)構(gòu)離散就是建立結(jié)構(gòu)的有限元模型,又稱為網(wǎng)格劃分或單元劃分,即將結(jié)構(gòu)離散為由有限個單元組成的有限元模型。在該步驟中,需要根據(jù)結(jié)構(gòu)的幾何特性、載荷情況等確定單元體內(nèi)任意一點(diǎn)的位移插值函數(shù)。 (2)單元分析:根據(jù)彈性力學(xué)的幾何方程以及物理方程確定單元的剛度矩陣。(3)整體分析:把各個單元按原來的結(jié)構(gòu)重新連接起來,并在單元剛度矩陣的基礎(chǔ)上確定結(jié)構(gòu)的總剛度矩
3、陣,形成如下式所示的整體有限元線性方程: 式中,是載荷矩陣, 是整體結(jié)構(gòu)的剛度矩陣, 是節(jié)點(diǎn)位移矩陣。 (4)載荷移置:根據(jù)靜力等效原理,將載荷移置到相應(yīng)的節(jié)點(diǎn)上,形成節(jié)點(diǎn)載荷矩陣。(5)邊界條件處理:對式所示的有限元線性方程進(jìn)行邊界條件處理。 (6)求解線性方程:求解式所示的有限元線性方程,得到節(jié)點(diǎn)的位移。在該步驟中,若有限元模型的節(jié)點(diǎn)越多,則線性方程的數(shù)量就越多,隨之有限元分析的計算量也將越大。(7)求解單元應(yīng)力及應(yīng)變 根據(jù)求出的節(jié)點(diǎn)位移求解單元的應(yīng)力和應(yīng)變。 (8)結(jié)果處理與顯示 進(jìn)入有限元分析的后處理部分,對計算出來的結(jié)果進(jìn)行加工處理,并以各種形式將計算結(jié)果顯示出。2. Matlab簡
4、介在用有限元法進(jìn)行結(jié)構(gòu)分析時,將會遇到大量的數(shù)值計算,因而在實用上是一定要借助于計算機(jī)和有限元程序,才能完成這些復(fù)雜而繁重的數(shù)值計算工作。而Matlab是當(dāng)今國際科學(xué)界最具影響力和活力的軟件。它起源于矩陣運(yùn)算,并已經(jīng)發(fā)展成一種高度集成的計算機(jī)語言。它提供了強(qiáng)大的科學(xué)計算,靈活的程序設(shè)計流程,高質(zhì)量的圖形可視化與界面設(shè)計,便捷的與其他程序和語言接口的功能。Matlab在各國高校與研究單位起著重大的作用。“工欲善其事,必先利其器”。如果有一種十分有效的工具能解決在教學(xué)與研究中遇到的問題,那么Matlab語言正是這樣的一種工具。它可以將使用者從繁瑣、無謂的底層編程中解放出來,把有限的寶貴時間更多地花
5、在解決問題中,這樣無疑會提高工作效率。 目前,Matlab已經(jīng)成為國際上最流行的科學(xué)與工程計算的軟件工具,現(xiàn)在的Matlab已經(jīng)不僅僅是一個“矩陣實驗室”了,它已經(jīng)成為了一種具有廣泛應(yīng)用前景的全新的計算機(jī)高級編程語言了,有人稱它為“第四代”計算機(jī)語言,它在國內(nèi)外高校和研究部門正扮演著重要的角色。Matlab語言的功能也越來越強(qiáng)大,不斷適應(yīng)新的要求提出新的解決方法。可以預(yù)見,在科學(xué)運(yùn)算、自動控制與科學(xué)繪圖領(lǐng)域Matlab語言將長期保持其獨(dú)一無二的地位。為此,本例采用Matlab語言編程,以利用其快捷強(qiáng)大的矩陣數(shù)值計算功能。二、 問題描述一矩形薄板,一邊固定,承受150kN集中荷載,結(jié)構(gòu)簡圖及按平
6、面三角形單元劃分的有限元模型圖如下所示。材料參數(shù):彈性模量;泊松比:;薄板厚度。在本例中,所取結(jié)構(gòu)模型及數(shù)據(jù)主要用于程序設(shè)計理論分析,與工程實際無關(guān)。三、 參數(shù)輸入:單元個數(shù)NELEM=4 節(jié)點(diǎn)個數(shù)NNODE=6受約束邊界點(diǎn)數(shù)NVFIX=2 節(jié)點(diǎn)荷載個數(shù)NFORCE=1彈性模量YOUNG=2e8 泊松比POISS=0.2 厚度THICK=0.002 單元節(jié)點(diǎn)編碼數(shù)組LNODS =節(jié)點(diǎn)坐標(biāo)數(shù)組COORD =節(jié)點(diǎn)力數(shù)組FORCE =4 0 -150約束信息數(shù)組FIXED =以上數(shù)值數(shù)據(jù)為程序運(yùn)行前輸入的初始數(shù)據(jù),存為“471220580.txt”文本格式,同時必須放在Matlab工作目錄下,路徑不
7、對程序不能自動讀取指定初始文件,運(yùn)行出錯。初始數(shù)據(jù)文本文件輸入格式如下圖:四、 Matlab語言程序源代碼:1. 程序中變量說明NNODE 單元節(jié)點(diǎn)數(shù) NPION 總結(jié)點(diǎn)數(shù)NELEM 單元數(shù) NVFIX 受約束邊界點(diǎn)數(shù)FIXED 約束信息數(shù)組 NFORCE 節(jié)點(diǎn)力數(shù)FORCE 節(jié)點(diǎn)力數(shù)組 COORD 結(jié)構(gòu)節(jié)點(diǎn)坐標(biāo)數(shù)組 LNODS 單元定義數(shù)組YOUNG 彈性模量 POISS 泊松比THICK 厚度 B 單元應(yīng)變矩陣(3*6) D 單元彈性矩陣(3*3) S 單元應(yīng)力矩陣(3*6)A 單元面積 ESTIF 單元剛度矩陣ASTIF 總體剛度矩陣 ASLOD 總體荷載向量 ASDISP 節(jié)點(diǎn)位移向量
8、 ELEDISP 單元節(jié)點(diǎn)位移向量STRESS 單元應(yīng)力 FP1 數(shù)據(jù)文件指針2. Matlab語言程序代碼%*%初始化及數(shù)據(jù)調(diào)用format short e %設(shè)定輸出類型clear %清除內(nèi)存變量FP1=fopen(471220580.txt,rt); %打開輸入數(shù)據(jù)文件,讀入控制數(shù)據(jù)NELEM=fscanf(FP1,%d,1), %單元個數(shù)(單元編碼總數(shù))NPION=fscanf(FP1,%d,1), %結(jié)點(diǎn)個數(shù)(結(jié)點(diǎn)編碼總數(shù))NVFIX=fscanf(FP1,%d,1) %受約束邊界點(diǎn)數(shù)NFORCE=fscanf(FP1,%d,1), %結(jié)點(diǎn)荷載個數(shù)YOUNG=fscanf(FP1,%
9、e,1), %彈性模量POISS=fscanf(FP1,%f,1), %泊松比 THICK=fscanf(FP1,%f,1) %厚度LNODS=fscanf(FP1,%d,3,NELEM) %單元定義數(shù)組(單元結(jié)點(diǎn)號)%相應(yīng)為單元結(jié)點(diǎn)號(編碼)、按逆時針順序輸入COORD=fscanf(FP1,%f,2,NPION) %結(jié)點(diǎn)坐標(biāo)數(shù)組 %坐標(biāo):x,y坐標(biāo)(共NPOIN組)FORCE=fscanf(FP1,%f,3,NFORCE) %結(jié)點(diǎn)力數(shù)組(受力結(jié)點(diǎn)編號, x方向,y方向)FIXED=fscanf(FP1,%d,3,NVFIX) %約束信息(約束點(diǎn),x約束,y約束) %有約束為1,無約束為0%
10、*%生成單元剛度矩陣并組成總體剛度矩陣ASTIF=zeros(2*NPION,2*NPION); %生成特定大小總體剛度矩陣并置0%*for i=1:NELEM%生成彈性矩陣D D= 1 POISS 0; POISS 1 0; 0 0 (1-POISS)/2*YOUNG/(1-POISS2)%*%計算當(dāng)前單元的面積 A=det(1 COORD(LNODS(i,1),1) COORD(LNODS(i,1),2); 1 COORD(LNODS(i,2),1) COORD(LNODS(i,2),2); 1 COORD(LNODS(i,3),1) COORD(LNODS(i,3),2)/2%*%生成應(yīng)
11、變矩陣B for j=0:2 b(j+1)= COORD(LNODS(i,(rem(j+1),3)+1),2)-COORD(LNODS(i,(rem(j+2),3)+1),2); c(j+1)=-COORD(LNODS(i,(rem(j+1),3)+1),1)+COORD(LNODS(i,(rem(j+2),3)+1),1); end B=b(1) 0 b(2) 0 b(3) 0;. 0 c(1) 0 c(2) 0 c(3);. c(1) b(1) c(2) b(2) c(3) b(3)/(2*A);B1( :,:,i)=B;%*%求應(yīng)力矩陣S=D*BS=D*B; ESTIF=B*S*THIC
12、K*A; %求解單元剛度矩陣 a=LNODS(i,:); %臨時向量,用來記錄當(dāng)前單元的節(jié)點(diǎn)編號 for j=1:3 for k=1:3 ASTIF(a(j)*2-1):a(j)*2,(a(k)*2-1):a(k)*2). =ASTIF(a(j)*2-1):a(j)*2,(a(k)*2-1):a(k)*2)+ESTIF(j*2-1:j*2,k*2-1:k*2); %根據(jù)節(jié)點(diǎn)編號對應(yīng)關(guān)系將單元剛度分塊疊加到總剛%度矩陣中 end end end%*%將約束信息加入總體剛度矩陣(對角元素改一法) for i=1:NVFIX if FIXED(i,2)=1 ASTIF(:,(FIXED(i,1)*2
13、-1)=0; %一列為零 ASTIF(FIXED(i,1)*2-1),:)=0; %一行為零 ASTIF(FIXED(i,1)*2-1),(FIXED(i,1)*2-1)=1; %對角元素為1 end if FIXED(i,3)=1 ASTIF( :,FIXED(i,1)*2)=0; %一列為零 ASTIF(FIXED(i,1)*2,:)=0; %一行為零 ASTIF(FIXED(i,1)*2 ,FIXED(i,1)*2)=1; %對角元素為1 end end%*%生成荷載向量 ASLOD(1:2*NPION)=0; %總體荷載向量置零 for i=1:NFORCE ASLOD(FORCE(i
14、,1)*2-1):FORCE(i,1)*2)=FORCE(i,2:3); end%*%求解內(nèi)力 ASDISP=ASTIFASLOD %計算節(jié)點(diǎn)位移向量 ELEDISP(1:6)=0; %當(dāng)前單元節(jié)點(diǎn)位移向量 for i=1:NELEM for j=1:3 ELEDISP(j*2-1:j*2)=ASDISP(LNODS(i,j)*2-1:LNODS(i,j)*2); %取出當(dāng)前單元的節(jié)點(diǎn)位移向量 end i STRESS=D*B1(:, :, i)*ELEDISP %求內(nèi)力 end fclose(FP1); %關(guān)閉數(shù)據(jù)文件五、 程序運(yùn)行結(jié)果NELEM = 4NPION = 6NVFIX = 2N
15、FORCE = 1YOUNG = 200000000POISS = 2.0000e-001THICK = 2.0000e-003LNODS = 1 2 6 2 3 4 2 4 5 2 5 6COORD = 0 0 1 0 2 0 2 1 1 1 0 1FORCE = 4 0 -150FIXED = 1 1 1 6 1 1D = 2.0833e+008 4.1667e+007 0 4.1667e+007 2.0833e+008 0 0 0 8.3333e+007A = 5.0000e-001D = 2.0833e+008 4.1667e+007 0 4.1667e+007 2.0833e+008
16、 0 0 0 8.3333e+007A = 5.0000e-001D = 2.0833e+008 4.1667e+007 0 4.1667e+007 2.0833e+008 0 0 0 8.3333e+007A = 5.0000e-001D = 2.0833e+008 4.1667e+007 0 4.1667e+007 2.0833e+008 0 0 0 8.3333e+007A = 5.0000e-001ASDISP = 0 0 -8.0607e-004 -1.5848e-003 -1.0281e-003 -4.4727e-003 1.1937e-003 -4.6947e-003 8.667
17、0e-004 -1.8880e-003 0 0(說明:以上12個ASDISP輸出結(jié)果數(shù)據(jù)表示節(jié)點(diǎn)位移向量,即各節(jié)點(diǎn)分別在X,Y方向上產(chǎn)生的位移。)i = 1STRESS = -1.6793e+005 -3.3586e+004 -1.3207e+005i = 2STRESS = -5.5503e+004 -5.5503e+004 -5.5503e+004i = 3STRESS = 5.5503e+004 -4.9526e+004 -9.4497e+004i = 4STRESS = 1.6793e+005 -2.7040e+004 -1.7932e+004(說明:以上四組STRESS輸出結(jié)果數(shù)據(jù)表
18、示單元應(yīng)力SX,SY,SXY,i為單元號。)六、 ANSYS建模比較分析利用ANSYS有限元分析軟件,完全按照前面Matlab程序設(shè)計的各項條件參數(shù)以及單元劃分方式建立ANSYS模型,其求解結(jié)果與以上程序計算結(jié)果比較,驗證程序是否正確。ANSYS模型節(jié)點(diǎn)單元如下圖所示:ANSYS模型求解變形圖如下所示:ANSYS求解節(jié)點(diǎn)位移結(jié)果列表顯示如下:(單位:m)PRINT U NODAL SOLUTION PER NODE* POST1 NODAL DEGREE OF FREEDOM LISTING * THE FOLLOWING DEGREE OF FREEDOM RESULTS ARE IN TH
19、E GLOBAL COORDINATE SYSTEM NODE UX UY UZ USUM 1 0.0000 0.0000 0.0000 0.0000 2 -0.80607E-03-0.15848E-02 0.0000 0.17780E-02 3 -0.10281E-02-0.44727E-02 0.0000 0.45893E-02 4 0.11937E-02-0.46947E-02 0.0000 0.48441E-02 5 0.86670E-03-0.18880E-02 0.0000 0.20774E-02 6 0.0000 0.0000 0.0000 0.0000 MAXIMUM ABSO
20、LUTE VALUES NODE 4 4 0 402 0.0000 0.48441E-02ANSYS求解單元應(yīng)力結(jié)果列表顯示如下:(單位:KN/m2)PRINT S ELEMENT SOLUTION PER ELEMENT* POST1 ELEMENT NODAL STRESS LISTING * THE FOLLOWING X,Y,Z VALUES ARE IN GLOBAL COORDINATES ELEMENT= 1 PLANE182 NODE SX SY SZ SXY SYZ 1 -0.16793E+06 -33586. 0.0000 -0.13207E+06 0.0000 2 -0.16793E+06
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【全程復(fù)習(xí)方略】2021屆高考地理二輪專題突破篇-課時沖關(guān)練(二)-專題一-1.1.2地球的運(yùn)動規(guī)律
- 天津市濱海新區(qū)2024-2025學(xué)年高二上學(xué)期期末檢測數(shù)學(xué)試題
- 陜西省渭南市尚德中學(xué)2024-2025學(xué)年高一上學(xué)期第二次階段性數(shù)學(xué)試卷(含答案)
- 山東省臨沂華盛實驗學(xué)校2024-2025學(xué)年上學(xué)期九年級物理期末質(zhì)量調(diào)研試題(二)(含答案)
- 《從因特網(wǎng)獲取信息》課件
- 探索六年級語文教學(xué)新路:經(jīng)驗與啟示
- 英語字母音標(biāo)課件
- 安徽省蕪湖市2024-2025學(xué)年第一學(xué)期期末考試七年級語文試卷(含答案)
- 【走向高考】2022屆高三物理人教版一輪復(fù)習(xí)習(xí)題:第8章-第1講磁場對電流的作用
- 三年級數(shù)學(xué)計算題專項練習(xí)匯編及答案
- DB23-T 3840-2024非煤礦山隱蔽致災(zāi)因素普查治理工作指南
- 機(jī)關(guān)事業(yè)單位財務(wù)管理制度(六篇)
- 2025禮品定制合同范本
- 醫(yī)院消毒隔離制度范文(2篇)
- 2024年01月11026經(jīng)濟(jì)學(xué)(本)期末試題答案
- 烘干煤泥合同范例
- 人教版六年級上冊數(shù)學(xué)第八單元數(shù)學(xué)廣角數(shù)與形單元試題含答案
- 2025年“三基”培訓(xùn)計劃
- 第20課 北洋軍閥統(tǒng)治時期的政治、經(jīng)濟(jì)與文化 教案
- 叉車租賃合同模板
- 住房公積金稽核審計工作方案例文(4篇)
評論
0/150
提交評論