#MATLAB有限元編程思路

>總體上分為三部分:1.前處理 2.計算 3.后處理

##1.前處理

前處理中,網(wǎng)格化后,單元的個數(shù),以及每個單元有哪些節(jié)點組成,以及各個節(jié)點的坐標,必須提取出。

單元的個數(shù)和節(jié)點個數(shù),節(jié)點坐標密切相關(guān),而對單元的個數(shù)來說,模型的整體尺寸是確定的,那么單元的尺寸的大小,決定了單元的個數(shù)。

最大的問題是,就是用什么樣的矩陣去存儲他們,調(diào)用的效率最高。當(dāng)單元的個數(shù)m和n確定下來后,那么單元的尺寸就可以確定,那么面對的第一個問題就是編號!!節(jié)點編號、單元編號。

>實際上,利用矩陣的行號就可以確定出單元的順序,沒有必要利用單獨的矩陣去表示。因為關(guān)鍵的信息是單元有哪些節(jié)點組成!

* **單元信息**

這里定義**單元矩陣**,它所存儲的信息是每個單元有哪些節(jié)點所組成,自然的矩陣的行號就可以代表單元的號,每一行的元素,二維CST就只有3個節(jié)點,這個矩陣是一個(m*n)行,3列的矩陣。**此外,為了存儲單元矩陣時,高效地利用內(nèi)存,應(yīng)該使每個單元內(nèi)的節(jié)點的編號(這里指的是全局的標號)的差值越小越好,為了達到這樣的目的可以采用先沿著邊長較短的一邊進行節(jié)點編號,然后再進行長邊的編號。(這里其實已經(jīng)涉及到了節(jié)點編號的問題)**

* **節(jié)點信息**

在前處理中,節(jié)點的信息提取,就是指節(jié)點坐標的獲取,如1號節(jié)點的x和y坐標,2號的坐標。利用節(jié)點矩陣來存儲這些信息。這里會遇到兩個需要思考的問題,第一個是,節(jié)點如何編號;第二個是,對應(yīng)的給定節(jié)點的坐標值

**問題1:**

>節(jié)點的編號,當(dāng)m和n確定下來后,對于每一條線來說,該線上的節(jié)點個數(shù)要比單元格數(shù)多1,也就是說,節(jié)點的總個數(shù)為(m+1)*(n+1)個。按照最小差值的原則,從短方向開始。編號其實利用矩陣的行號就可以表示出來。索引矩陣的行號是個需要注意的問題。

**問題2:**

>節(jié)點坐標,利用幾何上的特性,依據(jù)確定的單元的尺寸,依次循環(huán)得出每個節(jié)點的坐標值,按照短方向優(yōu)先的原則進行,定義**節(jié)點矩陣**,這個矩陣中的元素為坐標值x和y,利用行號來表示節(jié)點號,對二維的問題來說,是一個2列的矩陣。

* **兩中矩陣的相互關(guān)系**

單元由節(jié)點組成,而節(jié)點又有著坐標信息,假設(shè)CST單元來說,為了獲得某個單元的組成信息和位置,那么可以對element矩陣進行索引,它的每一行都存儲著組成該單元的三個節(jié)點的號,用element(k,:)這個切片來表達。node矩陣為節(jié)點矩陣,包含著位置信息,node的第一列為x值,第二列為y值,這樣就可以獲得單元、節(jié)點的信息,為下一步的單元分析作準備。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容