FEM之多物理場求解器(2)---C++開發(fā)熱-結(jié)構(gòu)耦合求解器(詳細(xì))
2017-01-15 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
在FEM之多物理場求解器(1)---C++開發(fā)熱-結(jié)構(gòu)耦合求解器一文中介紹了分別利用 3D熱求解器和結(jié)構(gòu)求解器求解三維穩(wěn)態(tài)熱結(jié)構(gòu)耦合問題,本文介紹熱求解器開發(fā)的更多細(xì)節(jié)。雖然熱和結(jié)構(gòu)有限元理論已經(jīng)很完善,而且單元矩陣和算法公式也已經(jīng)推導(dǎo)出來,但要開發(fā)出能和商業(yè)軟件相同的求解器還是有很多工作要做。工欲善其事必先利其器,列出需要做的基礎(chǔ)準(zhǔn)備工作:
1. 與Ansys
做benchmark:
1.1.
需要解析Ansys有限元模型,開發(fā)Ansys2Fas.exe 以解析 *.cdb文件;
1.2.
求解的結(jié)果要與Ansys比較,需要導(dǎo)出Ansys計(jì)算結(jié)果;
1.3.
原始的結(jié)果數(shù)據(jù)通常都經(jīng)過處理,所以需要設(shè)計(jì)統(tǒng)一的結(jié)果文件格;
1.4.
開發(fā)后處理器用于查看結(jié)果;
1.5. 精度性能比較程序;
2.
為了將求解器產(chǎn)品化,需要開發(fā)前處理器,僅這一項(xiàng)又是不少的工作:
2.1.
在前處理器中要能把有限元模型導(dǎo)出為*.cdb格式。
2.2.Ansys除了簡單的單元類型還有許多擴(kuò)展的單元類型,前處理器中需要支持。
2.3.
為了驗(yàn)證Ansys的準(zhǔn)確性,能導(dǎo)出第三方軟件格式,比如Abaqus,Nastran
3.
在求解器設(shè)計(jì)之初需要考慮到單元類型,邊界條件,荷載等擴(kuò)展需求,定義好接口。
熱求解器
1. 支持功能:
2. 理論:
穩(wěn)態(tài)熱的偏微分方程相對來說簡單,在求解開發(fā)中有些要注意的問題:
2.1.
對于熱分析,線性四面體單元通常就能產(chǎn)生較高精度的解,但對于很多結(jié)構(gòu),線性四面體的剛度過大,需要使用二階四面體單元。在兩者耦合計(jì)算時就存在單元兼容的問題,雖然可以溫度采用線性單元,結(jié)構(gòu)采用二階單元,精度上會有影響。
2.2.
當(dāng)存在多種材料時,材料接觸部分要保持連續(xù),即幾何需要使用非二維流體,網(wǎng)格劃分也要支持此種類型。對前處理器提出了更高的要求。Nastran要求不同材料接觸部分網(wǎng)格要保持連續(xù),觀察過Ansys的接觸部分網(wǎng)格可以不連續(xù),姑且不討論這樣對不對,如果Ansys支持這樣的網(wǎng)格,起碼在接觸部分求解器需要做額外處理。
2.3. 公式
四面體和六面體都使用常規(guī)單元即可。矩陣推導(dǎo)過程與彈性力學(xué)完全,而且因?yàn)橐粋€節(jié)點(diǎn)只有一個自由度,比經(jīng)典彈性力學(xué)的剛度矩陣要簡單。熱傳導(dǎo)的最后計(jì)算公式為:
K*t+C*T'=P;
該公式中K為熱傳導(dǎo)剛度矩陣,t為溫度分布,C為儲熱剛度矩陣,T'為對時間導(dǎo)數(shù),P為溫度荷載
當(dāng)P為0時,變?yōu)樽杂蓽囟确植?
當(dāng)T'為0時,變?yōu)榉€(wěn)態(tài)方程;
當(dāng)P,T'都為0時候,就是最簡單的穩(wěn)態(tài)溫度分布;
3. Benchmark:
以下四個case基本上覆蓋了穩(wěn)態(tài)熱求解器功能。
3.1. Case1: 線性四面體,第一類邊界條件,兩種材料;
3.2.Case2:
二階四面體,第一類邊界條件,兩種材料;
3.3.Case3: 一階四面體,第二類邊界條件,兩種材料;
3.4.Case4: 二階四面體,第一,二類邊界條件,三種材料;
3.5. Case5.
二階四面體,復(fù)雜幾何;
4. 實(shí)現(xiàn):
第一個case詳細(xì)講一下分析實(shí)現(xiàn)過程,后面的case都類似。
4.1
Case1:上下兩個接觸的長方體,材料不同,上部長方體上表面溫度100度,熱導(dǎo)率20;下部長方體下表面溫度0度,熱導(dǎo)率4000,采用線性四面體單元,求溫度場分布。
4.1.1.幾何:
Ansys的
WorkBench中進(jìn)行前處理:
將工程導(dǎo)入到傳統(tǒng)的Ansys,將模型導(dǎo)出為*.cdb文件。在HyperMesh中打開*.cdb文件可以觀察到有限元模型實(shí)際上分成了5部分:
如上圖,本來只有2個模型,但是多出4個模型,用來處理接觸部分的模型。這也證明了前面的猜想,Ansys支持接觸模型不連續(xù)的網(wǎng)格,但是在接觸部分做了特殊處理。
4.1.2.Ansys的計(jì)算結(jié)果:
4.1.3.一般來講,復(fù)雜幾何的六面體網(wǎng)格比較難劃分,市面上提供六面體網(wǎng)格引擎的不多。對三維實(shí)體熱單元,Ansys中提供了二階的四面體單元SOLID70。由于Ansys對網(wǎng)格的接觸單元做了特殊處理,為了簡化模型,在自己開發(fā)的前處理器中將兩個長方體做為非二維流體處理,劃分二階四面體,Mesh結(jié)果如下:
FasThermal計(jì)算結(jié)果
計(jì)算結(jié)果與Ansys一致,顯示不平滑原因一是計(jì)算存在少許誤差,二是顏色插值造成。
4.1.4. 精度比較
結(jié)果的數(shù)值比較用Matlab很容易實(shí)現(xiàn),Matlab中讀入兩者的節(jié)點(diǎn)溫度數(shù)據(jù),排序,利用畫圖函數(shù)和corr2即可得到兩者的比較。
4.2. Case5,復(fù)雜的幾何
為了體現(xiàn)工程應(yīng)用價(jià)值,Case5選用復(fù)雜的幾何。設(shè)置,在兩端邊界分別設(shè)置固定溫度0度,200度,中間連接一個面設(shè)置溫度400度。幾何:
該幾何最大的特點(diǎn)是曲線曲面較多,所以對前處理要求比較高。
邊界設(shè)置:
Ansys計(jì)算結(jié)果:
FasThermal計(jì)算結(jié)果:
顏色區(qū)別是插值引起的,后處理器插值可以分的再細(xì)一些。
綜上所述,開發(fā)商業(yè)求解器其實(shí)是個系統(tǒng)工程,不是用代碼實(shí)現(xiàn)公式,算兩個case就行的,而很多想把開源求解器修修改改就直接拿來商用更是不可取,基礎(chǔ)工作不可少。
參考:
熱應(yīng)力有限單元法分析 孔祥謙
熱應(yīng)力理論分析及應(yīng)用 中國電力出版社
有限單元法 王勖成
有限元分析及應(yīng)用 曾攀
Ansys13.0熱力學(xué)有限元分析從入門到精通
開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才
相關(guān)標(biāo)簽搜索:FEM之多物理場求解器(2)---C++開發(fā)熱-結(jié)構(gòu)耦合求解器(詳細(xì)) Ansys有限元培訓(xùn) Ansys workbench培訓(xùn) ansys視頻教程 ansys workbench教程 ansys APDL經(jīng)典教程 ansys資料下載 ansys技術(shù)咨詢 ansys基礎(chǔ)知識 ansys代做 Fluent、CFX流體分析 HFSS電磁分析 Abaqus培訓(xùn)
編輯