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