0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用matlab實(shí)現(xiàn)針對(duì)四面體單元?jiǎng)澐值娜S結(jié)構(gòu)進(jìn)行有限元編程

8XCt_sim_ol ? 來(lái)源:仿真秀App ? 作者:SimPC ? 2022-10-12 18:11 ? 次閱讀

導(dǎo)讀:自9月以來(lái),我的《教你Matlab有限元編程對(duì)懸臂梁進(jìn)行受力分析》原創(chuàng)文章發(fā)布以來(lái),我的精品課《Matlab有限元編程從入門到精通10講》受到了越來(lái)越多的工程師朋友的關(guān)注,已超過(guò)50多人已經(jīng)訂閱學(xué)習(xí),歡迎大家加入訂閱用戶交流群一起討論Matlab有限元編程那些事(哈哈哈,為大家答疑和分享資料)。

今天,我接著分享Matlab有限元編程專業(yè)技能。之前的課程我們學(xué)習(xí)了一維梁?jiǎn)卧?,二維平面單元,三維板殼單元的matlab有限元編程,本次案例主要講解如何用matlab實(shí)現(xiàn)針對(duì)四面體單元?jiǎng)澐值娜S結(jié)構(gòu)進(jìn)行有限元編程,具體案例是一個(gè)懸臂梁受集中荷載的問(wèn)題。圖1為本案例Matlab編程計(jì)算得到的結(jié)果。主要內(nèi)容涉及四面體單元的有限元基本理論的推導(dǎo),主要是單元?jiǎng)偠染仃嚨耐茖?dǎo),此外還包括等參單元和Hammer數(shù)值積分以及三維問(wèn)題的后處理計(jì)算。

1d62cc6e-4a16-11ed-a3b6-dac502259ad0.png

圖1 懸臂梁受集中荷載的應(yīng)力云圖

一個(gè)完整的有限元程序基本組成部分包括前處理模塊、分析主程序模塊和后處理模塊。在前處理模塊中,實(shí)現(xiàn)節(jié)點(diǎn)坐標(biāo)輸入、單元節(jié)點(diǎn)編號(hào)、網(wǎng)絡(luò)劃分以及邊界條件輸入等工作;在分析主程序模塊中,求解整體剛度方程;在后處理模塊中,實(shí)現(xiàn)結(jié)果顯示、數(shù)據(jù)輸出等工作。

對(duì)應(yīng)的有限元法的基本步驟:

(1)幾何域離散,獲得標(biāo)準(zhǔn)化的單元; (2)通過(guò)能量原理(虛功原理或最小勢(shì)能原理,獲得單元?jiǎng)偠确匠蹋?(3)單元的集成(裝配); (4)處理位移邊界條件; (5)計(jì)算位移場(chǎng);

(6)計(jì)算單元的其他物理量(應(yīng)力應(yīng)變)。

這幾步中,最核心的內(nèi)容是單元研究,具體包括:

(1)節(jié)點(diǎn)描述(不同坐標(biāo)系節(jié)點(diǎn)坐標(biāo)的變化); (2)場(chǎng)描述(位移場(chǎng),應(yīng)變場(chǎng),應(yīng)力場(chǎng),形函數(shù));

(3)單元?jiǎng)偠确匠蹋ɑ谀芰吭硗茖?dǎo))。

需要說(shuō)明的是后文的四面體單元有限元方程的推導(dǎo)過(guò)程是基于等參單元的基本理論從局部坐標(biāo)(自然坐標(biāo)、體積坐標(biāo))出發(fā)來(lái)推導(dǎo)四面體單元的剛度矩陣,因?yàn)檫@樣做比較規(guī)范自然,推導(dǎo)過(guò)程也適用于其他類型單元。但是因?yàn)樗拿骟w單元相對(duì)簡(jiǎn)單也可以直接從直角坐標(biāo)(全局坐標(biāo))進(jìn)行推導(dǎo),具體推導(dǎo)過(guò)程可參考清華大學(xué)曾攀老師的課程,直接從直角坐標(biāo)(全局坐標(biāo))進(jìn)行推導(dǎo)的過(guò)程省去了等參單元雅各比矩陣呀等坐標(biāo)系映射的各種概念,理解起來(lái)相對(duì)容易。

公式(1)-(3)為彈性力學(xué)中三維空間彈性問(wèn)題的完整描述,分別是空間問(wèn)題的平衡方程、幾何方程、物理方程,這是我們推導(dǎo)有限元方程的基礎(chǔ)。這些公式會(huì)在后面的有限元方程推導(dǎo)過(guò)程中用到。

1d8170e2-4a16-11ed-a3b6-dac502259ad0.png

四面體單元的坐標(biāo)描述涉及了等參單元的概念,在有限元方法中,若要離散邊界為曲線或曲面的求解域,需要建立將形狀規(guī)則的單元變換為邊界為曲線或曲面的單元的方法,在有限元法中對(duì)應(yīng)此問(wèn)題所采用的變換方法是等參變換,即單元幾何形狀的變換和單元內(nèi)場(chǎng)函數(shù)采用相同數(shù)目的節(jié)點(diǎn)及相同的插值函數(shù)進(jìn)行變換。四面體單元的參數(shù)坐標(biāo)就是體積坐標(biāo),體積坐標(biāo)的定義如圖2所示。

1da61190-4a16-11ed-a3b6-dac502259ad0.png

圖2 四面體單元體積坐標(biāo)的定義

參數(shù)坐標(biāo)系下的形函數(shù)等于對(duì)應(yīng)的體積坐標(biāo),四個(gè)節(jié)點(diǎn)對(duì)應(yīng)四個(gè)形函數(shù),如下式,

1dfa4f9e-4a16-11ed-a3b6-dac502259ad0.png

這樣就實(shí)現(xiàn)了自然坐標(biāo)系和物理坐標(biāo)系下的坐標(biāo)映射,如下式,

1e14c054-4a16-11ed-a3b6-dac502259ad0.png

同樣形函數(shù)也可以用于物理場(chǎng)的插值,公式(6)是位移場(chǎng)的插值表達(dá)式。

1e2b5eb8-4a16-11ed-a3b6-dac502259ad0.png

有了位移場(chǎng)插值的表達(dá)式就可以通過(guò)公式(2)-(3)的幾何方程和物理方程推導(dǎo)應(yīng)變場(chǎng)和應(yīng)力場(chǎng)的有限元表達(dá)式,但是公式(2)的幾何方程中存在對(duì)于xy也就是物理坐標(biāo)系下的偏導(dǎo)數(shù),代入公式(6)后也就是形函數(shù)對(duì)物理坐標(biāo)的偏導(dǎo)數(shù),因?yàn)槲覀兊男魏瘮?shù)是在自然坐標(biāo)系下定義的,是關(guān)于ξ, η, ζ的函數(shù),想要知道他對(duì)x,y的偏導(dǎo),這里利用了鏈?zhǔn)角髮?dǎo)法則,即可建立如下式(7)所示的形函數(shù)對(duì)自然坐標(biāo)的物理坐標(biāo)偏導(dǎo)數(shù)的映射關(guān)系。中間的這個(gè)矩陣就叫Jacob矩陣。

1e3db1d0-4a16-11ed-a3b6-dac502259ad0.png

如何求Jacob矩陣呢?將公式(5)代入公式(7)可以得到如下式(8)所示的自然坐標(biāo)偏導(dǎo)矩陣乘以一個(gè)坐標(biāo)矩陣,

1e5422d0-4a16-11ed-a3b6-dac502259ad0.png

得到j(luò)acob矩陣后求逆,再乘以自然坐標(biāo)偏導(dǎo)矩陣就可以得到形函數(shù)對(duì)物理坐標(biāo)的導(dǎo)數(shù)。如下式(9),

1e6af9ce-4a16-11ed-a3b6-dac502259ad0.png

上述形函數(shù)對(duì)物理坐標(biāo)的導(dǎo)數(shù)的求解過(guò)程對(duì)應(yīng)的matlab代碼如下:

function [NDxyz,JacobiDET] = ShapeFunction(ElementNodeCoordinate)
%計(jì)算形函數(shù)及形函數(shù)對(duì)局部坐標(biāo)ksi eta zeta的導(dǎo)數(shù)
NDL = [-1 1 0 0;-1 0 1 0;-1 0 0 1];%3*4  [N1Dksi N2Dksi N3Dksi N4Dksi;N1Deta N2Deta N3Deta N4Deta……]
Jacobi = NDL*ElementNodeCoordinate;%計(jì)算雅可比矩陣3*4 4*3
JacobiDET = det(Jacobi);%計(jì)算雅可比行列式3*3 [DxDksi DyDksi DzDksi;DxDeta……
JacobiINV=inv(Jacobi);%對(duì)雅可比行列式求逆3*3
NDxyz=JacobiINV*NDL;%利用雅可比行列式的逆計(jì)算形函數(shù)對(duì)結(jié)構(gòu)坐標(biāo)的導(dǎo)數(shù)[DN1Dx DN2Dx DN3Dx;DN1Dy DN2Dy DN3Dy;……]
end
這樣求出形函數(shù)對(duì)物理坐標(biāo)的導(dǎo)數(shù)后就可以代入公式(2)幾何方程求出應(yīng)變場(chǎng)矩陣B,經(jīng)過(guò)能量原理的推導(dǎo)可以得到單元?jiǎng)偠染仃嚨谋磉_(dá)式,注意剛度矩陣的表達(dá)式是一個(gè)積分的運(yùn)算,由于被積函數(shù)較為復(fù)雜,如果代數(shù)積分進(jìn)行計(jì)算要消耗大量的計(jì)算資源,因此有限元理論中引入數(shù)值積分,即我們熟悉的高斯積分和hammer積分,對(duì)于直角坐標(biāo)系我們采用高斯積分,對(duì)于面積或者體積坐標(biāo)系我們采用hammer數(shù)值積分,具體這兩類積分的原理大家可以參考相關(guān)數(shù)值積分教材即可,這里我們只利用hammer數(shù)值積分的結(jié)論。四面體單元具體的數(shù)值積分公式如下:

1e7bae7c-4a16-11ed-a3b6-dac502259ad0.png

其中,對(duì)應(yīng)的B矩陣如下式所示:

1e99b25a-4a16-11ed-a3b6-dac502259ad0.png


單元?jiǎng)偠染仃嚧_定好之后,將其按照自由度索引組裝到全局剛度矩陣中,組裝的核心思想就是確定好每個(gè)單元中的每個(gè)節(jié)點(diǎn)中的每個(gè)自由度在整體剛度矩陣中的位置即可。

整體剛度矩陣確定之后,就是荷載向量p的定義,這個(gè)很簡(jiǎn)單,只要依次確定每個(gè)節(jié)點(diǎn)每個(gè)自由度的外力荷載即可。

剛度矩陣和荷載向量確定后接下來(lái)就是邊界條件的施加,大家最熟悉的可能就是直接劃行劃列的方法,這個(gè)方法的弊端在于劃去自由度為零的行列之后,整體單元?jiǎng)偠染仃嚨木幪?hào)以及自由度編號(hào)都會(huì)改變,對(duì)于大規(guī)模計(jì)算非常不方便,影響計(jì)算效率。為了解決這個(gè)問(wèn)題出現(xiàn)了乘大數(shù)法和置一法,置一法只能解決零邊界問(wèn)題,乘大數(shù)法可以解決零邊界和非零邊界,應(yīng)用非常廣泛。邊界條件的施加這里我們采用乘大數(shù)法。針對(duì)邊界條件采用乘大數(shù)法施加邊界的方式為:在自由度1ebb71a6-4a16-11ed-a3b6-dac502259ad0.png上乘以一個(gè)很大的數(shù)a,然后在相應(yīng)的外力向量對(duì)應(yīng)的自由度上乘以1edca3a8-4a16-11ed-a3b6-dac502259ad0.png,具體如下式(22)所示

1ef19f42-4a16-11ed-a3b6-dac502259ad0.png

為了驗(yàn)證乘大數(shù)法的可靠性,將對(duì)應(yīng)行列寫成代數(shù)表達(dá)式的形式,如下式所示

1f292f20-4a16-11ed-a3b6-dac502259ad0.png

考慮到遠(yuǎn)大于,所以公式(13)可以寫成,

1f640384-4a16-11ed-a3b6-dac502259ad0.png

即可得到1f7bb196-4a16-11ed-a3b6-dac502259ad0.png??梢?jiàn)乘大數(shù)法與實(shí)際邊界條件是等價(jià)的。

施加了邊界條件的剛度矩陣K與荷載矩陣p之后,可直接利用matlab中的高斯消去法 計(jì)算符“”,完成位移的求解,即u=Kp。

求出節(jié)點(diǎn)位移之后通常我們做受力分析時(shí)還會(huì)需要知道應(yīng)力應(yīng)變的分布情況,具體通過(guò)下述公式求解:

1f8a5e30-4a16-11ed-a3b6-dac502259ad0.png

對(duì)應(yīng)的提取應(yīng)力和應(yīng)變的后處理代碼如下:

% 計(jì)算形函數(shù)導(dǎo)數(shù)
    [NDxyz, ~] = ShapeFunction(ElementNodeCoordinate);%[DN1Dx DN2Dx DN3Dx;DN1Dy DN2Dy DN3Dy;……]
    ElementNodeDisplacement=U(ElementNodeDOF);%12*1 節(jié)點(diǎn)位移列陣
    ElementNodeDisplacement=reshape(ElementNodeDisplacement,Dof,4);%3*4
    % 計(jì)算單元應(yīng)變 Strain3_3 3*3的應(yīng)變矩陣
    Strain3_3=ElementNodeDisplacement*NDxyz';%高斯積分點(diǎn)處應(yīng)變 3*4  4*3
    %把單元應(yīng)變矩陣改寫成6*1
    Strain=[Strain3_3(1,1) Strain3_3(2,2) Strain3_3(3,3) ...
    Strain3_3(1,2)+Strain3_3(2,1)....
    Strain3_3(2,3)+Strain3_3(3,2) Strain3_3(1,3)+Strain3_3(3,1)]';
Stress(1:6,1) = D*Strain;%高斯積分點(diǎn)處應(yīng)變
利用繪圖命令Patch我們可以得到如圖1所示的應(yīng)力云圖。另外計(jì)算得到的變形和位移云圖如圖3-4所示。

1f9612e8-4a16-11ed-a3b6-dac502259ad0.png

圖3 變形前后的網(wǎng)格對(duì)比

1fea5c40-4a16-11ed-a3b6-dac502259ad0.png

圖4 位移云圖





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • matlab
    +關(guān)注

    關(guān)注

    180

    文章

    2957

    瀏覽量

    229937
  • 矩陣
    +關(guān)注

    關(guān)注

    0

    文章

    418

    瀏覽量

    34463
  • 信號(hào)處理模塊
    +關(guān)注

    關(guān)注

    1

    文章

    6

    瀏覽量

    6990

原文標(biāo)題:案例實(shí)操:四面體單元懸臂梁的Matlab有限元編程過(guò)程講解

文章出處:【微信號(hào):sim_ol,微信公眾號(hào):模擬在線】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MATLAB有限元分析與應(yīng)用

    13.1基本方程 13.2用到的MATLAB函數(shù) 13.3習(xí)題第14章二次邊形 14.1基本方程 14.2用到的MATLAB函數(shù) 14.3習(xí)題第15章線性
    發(fā)表于 02-28 11:07

    Ansoft HFSS使用教程(1)——引言

    。四面體的集合叫做有限元網(wǎng)。下圖是混合接頭的有限元網(wǎng)剖分圖。將一個(gè)結(jié)構(gòu)分成成千上萬(wàn)的小區(qū)域(
    發(fā)表于 12-10 10:17

    HFSS 仿真算法及其應(yīng)用場(chǎng)景詳解:有限元算法、積分方程算法、PO算法

    , DGTD)的三維全波電磁場(chǎng)仿真求解器,采用基于四面體有限元技術(shù),能得到和HFSS頻域求解器一樣的自適應(yīng)網(wǎng)格剖分精度,該技術(shù)使得HFSS的求精精度成為電磁場(chǎng)行業(yè)標(biāo)準(zhǔn)。這項(xiàng)技術(shù)完善了HFSS的頻域求解器技術(shù)
    發(fā)表于 09-20 17:15

    利用有限元方法對(duì)280M1-2型相異步電機(jī)的法蘭結(jié)構(gòu)強(qiáng)度進(jìn)行分析校核

    有限元分析計(jì)算可為電機(jī)法蘭設(shè)計(jì)改進(jìn)提供依據(jù)?! ? 結(jié)構(gòu)強(qiáng)度分析  2. 1 實(shí)體建?! ?duì)研究對(duì)象的電機(jī)整體進(jìn)行實(shí)體建模,以形成電機(jī)三維模型,如圖1所示。主要材料及特性如表2所示。因
    發(fā)表于 03-02 11:52

    全美經(jīng)典叢書-有限元分析

    全美經(jīng)典叢書-有限元分析給出了相關(guān)的數(shù)學(xué)背景知識(shí),講述二三維有限元法,關(guān)于鋼梁和網(wǎng)架結(jié)構(gòu)
    發(fā)表于 09-06 01:24 ?0次下載
    全美經(jīng)典叢書-<b class='flag-5'>有限元</b>分析

    膜厚對(duì)四面體非晶碳膜機(jī)械性能的影響

    采用過(guò)濾陰極真空電弧技術(shù)以相同的工藝條件在p(100)單晶硅襯底上制備了不同厚度的四面體非晶碳薄膜,并利用表面輪廓儀測(cè)試薄膜的厚度和應(yīng)力,利用納米壓入儀測(cè)試薄膜的
    發(fā)表于 04-26 22:18 ?27次下載

    兩可傾瓦軸承負(fù)荷傳感器結(jié)構(gòu)三維有限元分析

    對(duì)大型汽輪發(fā)電機(jī)組剪切橋式兩可傾瓦軸承負(fù)荷傳感器結(jié)構(gòu)進(jìn)行三維有限元分析,研究了不同邊界條件對(duì)傳感器結(jié)構(gòu)應(yīng)力(應(yīng)變) 場(chǎng)的影響,計(jì)算與試驗(yàn)結(jié)
    發(fā)表于 06-23 10:12 ?26次下載

    可傾瓦軸承負(fù)荷傳感器結(jié)構(gòu)三維有限元分析

    對(duì)大型汽輪發(fā)電機(jī)組可傾瓦軸承雙剪橋式負(fù)荷傳感器結(jié)構(gòu)進(jìn)行三維有限元分析,研究了不同邊界條件對(duì)傳感器結(jié)構(gòu)
    發(fā)表于 07-14 10:34 ?17次下載

    人體面骨三維有限元模型重構(gòu)及碰撞分析

    本文實(shí)現(xiàn)了螺旋CT 圖像構(gòu)建面顱骨三維有限元模型過(guò)程,用CT 斷層圖像輸入計(jì)算機(jī),采用CT 圖像三維再現(xiàn)軟件和CAD 軟件構(gòu)建輪廓線,用非規(guī)則形體、
    發(fā)表于 12-12 13:43 ?15次下載

    如何使用Matlab進(jìn)行有限元分析和硬盤的選購(gòu)與使用資料說(shuō)明

    介紹了Matlab 語(yǔ)言特點(diǎn),給出了Matlab 環(huán)境下實(shí)現(xiàn)有限元的步驟。并以一個(gè)具體實(shí)例說(shuō)明如何使用Matlab 進(jìn)行
    發(fā)表于 07-24 16:27 ?5次下載
    如何使用<b class='flag-5'>Matlab</b><b class='flag-5'>進(jìn)行</b><b class='flag-5'>有限元</b>分析和硬盤的選購(gòu)與使用資料說(shuō)明

    怎樣在3d CAD中創(chuàng)建常規(guī)四面體

    在最后一步中,我們創(chuàng)建了基礎(chǔ)草圖?,F(xiàn)在讓我們拉伸金字塔。在拉伸彈出菜單中,選擇“更多”選項(xiàng)卡。在“錐度”字段中輸入70.5288-90,這是arccos(1/3)-90的近似值,它為我們提供了每個(gè)面的拔模角,以創(chuàng)建近似的(盡管不是精確的)四面體
    的頭像 發(fā)表于 12-11 17:25 ?3566次閱讀
    怎樣在3d CAD中創(chuàng)建常規(guī)<b class='flag-5'>四面體</b>

    使用MATLAB有限元建模材料

    使用MATLAB有限元建模材料說(shuō)明。
    發(fā)表于 05-27 09:39 ?0次下載

    基于Matlab有限元編程的變截面懸臂梁分析

    均布荷載和集中荷載的變截面懸臂梁為研究對(duì)象,通過(guò)matlab編制節(jié)點(diǎn)和八節(jié)點(diǎn)邊形單元有限元程序來(lái)對(duì)懸臂梁
    的頭像 發(fā)表于 09-08 11:11 ?3803次閱讀

    基于六面體單元熱應(yīng)力問(wèn)題的Matlab有限元編程求解

    導(dǎo)讀:上一篇《彈性地基梁matlab有限元編程,以雙排樁支護(hù)結(jié)構(gòu)計(jì)算為例》引起了Matlab有限元
    的頭像 發(fā)表于 11-17 11:10 ?2776次閱讀

    樹(shù)莓派四面體相機(jī)開(kāi)源硬件

    電子發(fā)燒友網(wǎng)站提供《樹(shù)莓派四面體相機(jī)開(kāi)源硬件.zip》資料免費(fèi)下載
    發(fā)表于 02-01 11:23 ?0次下載
    樹(shù)莓派<b class='flag-5'>四面體</b>相機(jī)開(kāi)源硬件