
發(fā)布
注冊(cè)
/
登錄求解器開(kāi)發(fā)
關(guān)注創(chuàng)建者:仿真客 創(chuàng)建時(shí)間:2023-05-17
求解器開(kāi)發(fā)的視頻教程
oasys-primer系列基礎(chǔ)課程——dyna專業(yè)前處理軟件
正因?yàn)閛asys-primer是專門針對(duì)dyna求解器開(kāi)發(fā)的,所以它具有強(qiáng)大的dyna前處理功能。
¥99 4小時(shí)38分鐘 1437播放
查看
Abaqus UMAT二次開(kāi)發(fā)(三)——非線性有限元求解流程 及UMAT調(diào)用原理
Abaqus UMAT二次開(kāi)發(fā)(三)——非線性有限元求解流程 及UMAT調(diào)用原理 1、課程簡(jiǎn)介 2、Newdon-Raphson 方法 3、Newdon-Raphson 求解流程及算例 4、Modified-Newdon-Raphson 方法 5、增量迭代法詳解 6、非線性有限元分析流程及UMAT調(diào)用原理 Newdon-Raphson 方法如何求解非線性方程組?其核心思想是什么?
¥45 1小時(shí)17分鐘 3689播放
查看
深入淺出有限元2-非線性:基礎(chǔ)理論->Abaqus操作->編程實(shí)現(xiàn)
(三)工具下載 視頻中需用到自主的有限元求解器開(kāi)發(fā)平臺(tái)iSolver,下載地址 http://www.yqgqt.org.cn/content/post/337351 (四)主要內(nèi)容 水平有限,如果在觀看的過(guò)程中對(duì)你有所幫助,我們將非常欣慰。同時(shí),歡迎留言交流討論,多多批評(píng)指正,也期待有更多的合作機(jī)會(huì)。
¥100 6小時(shí)53分鐘 2184播放
查看
求解器開(kāi)發(fā)的實(shí)例教程
內(nèi)容為工業(yè)軟件中設(shè)計(jì)仿真軟件的多物理場(chǎng)仿真求解器研發(fā),文章并不針對(duì)某種具體物理場(chǎng)(結(jié)構(gòu),聲,熱,光,電磁,流體),也不針對(duì)某個(gè)行業(yè)
(CAE/EDA/CFD/TCAD/CAO/CAPP)的數(shù)值求解器,而是介紹求解器開(kāi)發(fā)的一些通用方法,工具,理論和設(shè)計(jì)思想。
讀者對(duì)象為初步接觸求解器的軟件研發(fā)人員,文中提到的很多用顏色標(biāo)記的內(nèi)容可以作為關(guān)鍵字單獨(dú)搜索。
需要提醒的是:原理性內(nèi)容的學(xué)習(xí)最好的方法還是看經(jīng)典教材,本文只是一些入門和科普性質(zhì)的內(nèi)容
1.求解器定義
這里的求解器主要是工業(yè)設(shè)計(jì)仿真軟件中的內(nèi)容,由英文Solver翻譯而來(lái),Solver是個(gè)比較通用的叫法,有些軟件程序會(huì)叫做Engine(引擎),或者Kernel Program(核心程序),其實(shí)都是一個(gè)意思。它的主要目的是利用程序,求解多物理場(chǎng)問(wèn)題。幾何相關(guān)的約束求解器,運(yùn)籌優(yōu)化中的求解器等不在此討論范疇
后續(xù)如果不做特殊說(shuō)明,“求解器”默認(rèn)指商用軟件求解器
工業(yè)仿真軟件一般分為三個(gè)大模塊:
前處理器,求解器,后處理器
1.前處理器主要處理幾何,設(shè)置業(yè)務(wù)數(shù)據(jù)以及求解器需要的數(shù)據(jù)(網(wǎng)格,屬性,配置);
2.求解器讀取前處理的數(shù)據(jù)進(jìn)行仿真計(jì)算,并導(dǎo)出結(jié)果;
3.后處理器則對(duì)求解器的計(jì)算結(jié)果進(jìn)行加工,顯示相應(yīng)計(jì)算結(jié)果。
在這三個(gè)模塊中,求解器是核心,前后處理都是圍繞求解器進(jìn)行。在工業(yè)仿真軟件發(fā)展歷史中,有很多只做求解器,不做前后處理開(kāi)發(fā)的公司。最為典型的是LS-DYNA產(chǎn)品,早期只聚焦于求解器開(kāi)發(fā),前后處理器都是其它公司圍著轉(zhuǎn),后來(lái)從業(yè)務(wù)上考慮才自己開(kāi)發(fā)前后處理器。ANSYS公司的產(chǎn)品ANSYS從上世紀(jì)90年代就提供了LS-DYNA的前處理功能,直到20多年后將其收購(gòu)。
展開(kāi) 嚴(yán)格意義上來(lái)講,求解器的開(kāi)發(fā)也屬于軟件開(kāi)發(fā)的范疇,理應(yīng)用軟件工程的思想來(lái)指導(dǎo),但由于求解器本身有其特殊性,開(kāi)發(fā)流程也不適合完全按照一般軟件開(kāi)發(fā)流程來(lái)做。
結(jié)合自己開(kāi)發(fā)經(jīng)驗(yàn),討論一下如何系統(tǒng)的開(kāi)發(fā)求解器。求解器開(kāi)發(fā)可以分為三個(gè)階段:
1.原型開(kāi)發(fā);
2.迭代開(kāi)發(fā);
3.維護(hù)開(kāi)發(fā);
1. 原型開(kāi)發(fā)
這階段主要完成以下任務(wù):
1.1.技術(shù)選型;
確定要實(shí)現(xiàn)的功能,使用的開(kāi)發(fā)語(yǔ)言,開(kāi)發(fā)環(huán)境和工具。目前大部分求解器開(kāi)發(fā)使用C/C++/Fortran語(yǔ)言
1.2 實(shí)現(xiàn)基本功能;
要能對(duì)最簡(jiǎn)單的例子進(jìn)行計(jì)算,并得到正確的結(jié)果。需要做的工作:
能生成標(biāo)準(zhǔn)求解器的輸入文件,比如Nastran,Ansys,HFSS,F(xiàn)luent等的求解器輸入文件,例子的計(jì)算結(jié)果要與這些標(biāo)準(zhǔn)求解器計(jì)算的結(jié)果做比較。
標(biāo)準(zhǔn)求解器輸入文件的解析器。用來(lái)解析輸入文件,作為開(kāi)發(fā)求解器的輸入數(shù)據(jù)。
比較標(biāo)準(zhǔn)求解器的計(jì)算結(jié)果和開(kāi)發(fā)的求解器結(jié)果。
這階段的主要目的是保證算法的
正確性
。開(kāi)發(fā)時(shí)為了提高效率,可以借助Matlab軟件: 用Matlab完成原型的開(kāi)發(fā),直到計(jì)算結(jié)果正確。在此基礎(chǔ)上再將Matlab翻譯成 C++/Fortran。這樣在早起可以將精力集中在算法驗(yàn)證上。需要注意的是盡量進(jìn)行模塊化開(kāi)發(fā)。
1.3. 完成求解器原型;
這里需要介紹一下Matlab軟件,基本介紹看百度,主要說(shuō)一下Matlab混合編程。Matlab有工具是可以把M文件翻譯成C++的,不推薦。主要介紹如何把C++/Fortran文件編譯成Matlab文件。
展開(kāi) 得到繞流結(jié)果如下,可以看出自研求解器結(jié)果和Fluent結(jié)果基本是吻合的,這也標(biāo)志著自研求解器結(jié)果具備了一定的實(shí)用性。
自研求解器結(jié)果
FLUENT結(jié)果
翼型繞流
NACA 0012翼型,弦長(zhǎng)1m,流體介質(zhì)為空氣,來(lái)流速度100m/s。得到繞流結(jié)果如下,可以看出收斂效果還是很好的。
0度攻角結(jié)果
5度攻角結(jié)果
系統(tǒng)
到目前為止,在流體方向我們已經(jīng)開(kāi)發(fā)了:
(1) 翼型造型算法和軟件:《葉片/翼型參數(shù)化造型技術(shù)》
(2) 網(wǎng)格生成算法:
(3)結(jié)冰算法和軟件:
(4)不可壓流動(dòng)求解器
可以說(shuō),上述算法模塊已經(jīng)形成了一個(gè)小型的“生態(tài)系統(tǒng)”,如果我們?cè)偌由弦砻嫔妥枇τ?jì)算,基本就可以實(shí)現(xiàn):幾何造形設(shè)計(jì)、網(wǎng)格生成、CFD計(jì)算、冰形計(jì)算、性能評(píng)估的完整流程。
如果再摻一點(diǎn)優(yōu)化算法,可以實(shí)現(xiàn)更多的功能,這大概就是自研系列化軟件的好處。
展開(kāi) 我在開(kāi)發(fā)結(jié)構(gòu)力學(xué)有限元求解器的時(shí)候,都是先去查資料,直接就把單元?jiǎng)偠染仃嚹眠^(guò)來(lái)用。
但是到流體這就不能完全這么干,原因是:
(1) 未必能找到直接可用的單元矩陣;
(2) 流體的邊界條件中,有很多第二類邊界條件(壓力、熱流、對(duì)流),這些邊界條件有的是放到右側(cè)載荷項(xiàng),需要推導(dǎo)。有的載荷甚至?xí)绊懽髠?cè)單元矩陣,部分放到左邊去修正。結(jié)構(gòu)力學(xué)里面大部分情況下,載荷就是在右側(cè),位移就是放到左邊修正剛度矩陣,清晰明確。
所以,開(kāi)發(fā)流體求解器的時(shí)候,還是要從有限元的基本方法入手。這里采用加權(quán)余量法進(jìn)行處理。有限元的教材里面講的很多了,這里簡(jiǎn)單說(shuō)一下流程:
(1) 根據(jù)單元類型,確定插值函數(shù)。此時(shí)速度、壓力等變量,都可以用權(quán)函數(shù)表達(dá)。
(2) 采用伽遼金方法,權(quán)函數(shù)=插值函數(shù),控制方程與權(quán)函數(shù)相乘,積分取0。
(3) 在每個(gè)單元域內(nèi),方程轉(zhuǎn)換為權(quán)函數(shù)的積分形式,最終形成單元矩陣。
單元方程
最終得到單元的方程形式如下:
類比到結(jié)構(gòu)有限元,左側(cè)第一大項(xiàng),就是剛度矩陣。u、v、p相當(dāng)于3個(gè)自由度,右側(cè)就是載荷列陣。
我的本意是開(kāi)發(fā)一個(gè)三角形單元的斯托克斯求解器。使用三角形線性單元對(duì)應(yīng)的插值函數(shù):
無(wú)論是CFD還是結(jié)構(gòu)有限元,只要單元類型一致,插值函數(shù)都是一樣的,區(qū)別只在單元方程。
但是這樣直接求解結(jié)果是震蕩的,原因是結(jié)構(gòu)有限元中,節(jié)點(diǎn)的幾個(gè)自由度本質(zhì)是同一種物理量,它們是“平級(jí)的”。但是速度u、v與壓力p不是同一種物理量,它們不平級(jí)。壓力和速度的降階是平級(jí)的。
一般的處理思路是,對(duì)速度用高階單元,對(duì)壓力用低階單元。還有一種思路是使用罰函數(shù)方法,將壓力用如下形式表達(dá),只要λ足夠大即可。這樣就在原控制方程中消除了壓力。
展開(kāi) 關(guān)鍵詞:熱源,瞬態(tài),熱傳導(dǎo),有限元求解器,三角形單元,自研
在《瞬態(tài)熱傳導(dǎo)有限元求解器開(kāi)發(fā)》一文中,我們介紹了自研的二維瞬態(tài)熱傳導(dǎo)求解器。
當(dāng)時(shí)那個(gè)控制方程沒(méi)有考慮熱源,邊界條件中只涉及溫度、熱流、對(duì)流。然而在很多問(wèn)題中,熱源才是最關(guān)鍵的邊界條件,比如電發(fā)熱、化學(xué)反應(yīng)生熱。
熱源的處理
熱源是體熱,相對(duì)應(yīng)的熱流是面熱。兩者處理方式類似,都是根據(jù)單位熱功率值和幾何尺寸計(jì)算熱功率,然后加到控制方程矩陣的右側(cè),承擔(dān)類似于結(jié)構(gòu)力學(xué)中的“載荷”的功能。
區(qū)別在于,熱源是作用在體上的,單位是W/m3,熱流是作用在面上,單位是W/m2。具體到編程上,熱源要分配到單元的三個(gè)節(jié)點(diǎn)上,熱流要分配到單元某個(gè)邊的兩個(gè)節(jié)點(diǎn)上。
從求解器編程的角度來(lái)說(shuō),這些邊界條件的處理方式都是固定和通用的。考驗(yàn)一般出現(xiàn)在實(shí)際工程項(xiàng)目中使用自研求解器的時(shí)候。
在CAE軟件的開(kāi)發(fā)中,交互端和求解器端永遠(yuǎn)要解決的問(wèn)題是,如何讓所有單元始終知道:
(1)它是誰(shuí)?(材料參數(shù),幾何參數(shù));
(2)它在哪?(和其他單元的相對(duì)位置);
(3)它怎么了?(邊界條件)。
以熱源為例,在交互界面上,我們通過(guò)視口選擇單元,指定其體熱功率。那么前端數(shù)據(jù)在生成求解器輸入的時(shí)候,就要告知求解器所有單元的編號(hào)和其對(duì)應(yīng)的體熱功率。
當(dāng)求解器拿到單元編號(hào)以后,就需要索引或者計(jì)算其面積,并根據(jù)單元三個(gè)節(jié)點(diǎn)編號(hào),將功率加到載荷列陣對(duì)應(yīng)的位置。
驗(yàn)證
設(shè)計(jì)案例如下,區(qū)域外部為20℃空氣,對(duì)流換熱系數(shù)取5W/(m2K),時(shí)間總長(zhǎng)18000s,每步時(shí)間間隔60s。
自研求解器得到模型中心最終溫度是84.6℃,與商用軟件結(jié)果完全一致。
展開(kāi) 
求解器開(kāi)發(fā)的相關(guān)專題、標(biāo)簽、搜索
求解器開(kāi)發(fā)的最新內(nèi)容
考慮熱源的瞬態(tài)熱傳導(dǎo)有限元求解器17小時(shí)前
關(guān)鍵詞:熱源,瞬態(tài),熱傳導(dǎo),有限元求解器,三角形單元,自研
在《瞬態(tài)熱傳導(dǎo)有限元求解器開(kāi)發(fā)》一文中,我們介紹了自研的二維瞬態(tài)熱傳導(dǎo)求解器。
當(dāng)時(shí)那個(gè)控制方程沒(méi)有考慮熱源,邊界條件中只涉及溫度、熱流、對(duì)流。然而在很多問(wèn)題中,熱源才是最關(guān)鍵的邊界條件,比如電發(fā)熱、化學(xué)反應(yīng)生熱。
熱源的處理
熱源是體熱,相對(duì)應(yīng)的熱流是面熱。
<div contenteditable="false" width="100%">
本工具基于Tcl語(yǔ)言開(kāi)發(fā),用于hypermesh里面的optistruct/nastran求解器模塊,主要實(shí)現(xiàn)以下自動(dòng)化功能:
</div><div contenteditable="false" width="100%">
智能識(shí)別組件單元類型:自動(dòng)區(qū)分殼單元(Shell)與實(shí)體單元(Solid)
概述
這篇文章介紹了:
如何使用 RCWA 求解器分析周期性多層結(jié)構(gòu)(如光子晶體、衍射光柵)的光學(xué)響應(yīng);
RCWA 求解器的原理:在傅里葉域中劃分均勻?qū)樱⑼ㄟ^(guò) S 矩陣雙向傳播計(jì)算透射、反射及各個(gè)光柵階的功率;
如何設(shè)置入射平面波的傳播方向(X/Y/Z 軸)、角度(θ/?)和偏振(s/p),以及反向傳播的兩種模式(鏡像 k 矢量和反向 k 矢量);
對(duì)比 RCWA
關(guān)鍵詞:CFD,有限元,對(duì)流項(xiàng),繞流,迎風(fēng)格式,湍流模型
在《流體有限元求解器開(kāi)發(fā)-不可壓定常流動(dòng)模型》一文中,我們介紹了考慮對(duì)流項(xiàng)的不可壓流動(dòng)求解器的實(shí)現(xiàn)。
然而正如所預(yù)料的那樣,一旦流速高一些,或者粘性小一些,仿真結(jié)果就容易發(fā)散,收斂性成為一大難題。
為了解決這個(gè)問(wèn)題,CFD大神們想出了各種手段,有的嚴(yán)格按照理論去處理盡力彌合。
今日16:00,Ansys官方『Lumerical VCSEL全新求解器功能詳解』研討會(huì)將介紹 Lumerical 用于垂直腔面發(fā)射激光器設(shè)計(jì)的新型求解器。感興趣的下滑預(yù)約學(xué)習(xí)??
時(shí)間:4月30日(星期四),16:00-17:00
內(nèi)容簡(jiǎn)介:
本次 webinar 將會(huì)介紹 Lumerical 用于垂直腔面發(fā)射激光器設(shè)計(jì)的新型求解器, 全新的 VCSEL 設(shè)計(jì)工具支持模擬 VCSEL
針對(duì)傳統(tǒng)商業(yè)有限元在處理變剛度復(fù)合材料(VSCL)與變厚度幾何時(shí)存在的網(wǎng)格畸變、計(jì)算耗時(shí)長(zhǎng)、非線性極易發(fā)散等痛點(diǎn),本人開(kāi)發(fā)了一套基于 MATLAB 的高階半解析氣動(dòng)彈性求解器。
本求解器直接基于連續(xù)介質(zhì)力學(xué)方程進(jìn)行離散,可實(shí)現(xiàn)復(fù)合材料板殼/懸臂翼面的極速參數(shù)掃描與深區(qū)非線性分岔追蹤。現(xiàn)分享部分計(jì)算結(jié)果,并承接相關(guān)復(fù)雜工況的定制計(jì)算與數(shù)據(jù)圖表輸出。
一、 核心理論框架
結(jié)構(gòu)本構(gòu)
Abaqus通用求解器控制參數(shù)全解析2個(gè)月前
<h2><strong>1 解決問(wèn)題</strong></h2><p>主要用于在強(qiáng)非線性導(dǎo)致默認(rèn)隱式求解難以收斂時(shí),通過(guò)調(diào)整收斂判據(jù)、增量大小和迭代策略來(lái)緩解報(bào)錯(cuò)。</p><h2><strong>2 設(shè)置方法</strong></h2><p>步驟一:分析步-其他-通用求解控制-管理器</p><p><br></p><figure style="text-align: center;" class="ql-align-center
HSF-DSL領(lǐng)域特定語(yǔ)言</strong></p><p> 針對(duì)專業(yè)垂直仿真領(lǐng)域設(shè)計(jì)專用編程語(yǔ)言,提供貼近物理問(wèn)題描述的語(yǔ)法與接口,顯著提升仿真建模與求解器開(kāi)發(fā)的效率與代碼可維護(hù)性。</p><p><strong style="color: rgb(5, 76, 143);"> 5.
瞬態(tài)熱傳導(dǎo)有限元求解器開(kāi)發(fā)3個(gè)月前
關(guān)鍵詞:瞬態(tài),熱傳導(dǎo),有限元求解器,三角形單元
熱傳遞有三種方式:熱傳導(dǎo)、熱對(duì)流、熱輻射。就熱傳導(dǎo)問(wèn)題而言,無(wú)論是結(jié)構(gòu)力學(xué)還是流體力學(xué)都會(huì)涉及,兩邊都沒(méi)拿它當(dāng)外人。
前面的文章提到過(guò),結(jié)構(gòu)力學(xué)的有限元發(fā)展地非常成熟,大部分的剛度矩陣在文獻(xiàn)里面都推導(dǎo)好了。而流體力學(xué)的很多單元類型的有限元方程,可能需要自行推導(dǎo)完成。在熱傳導(dǎo)問(wèn)題中,我采用加權(quán)余量法進(jìn)行處理,推導(dǎo)出了符合結(jié)構(gòu)力學(xué)有限元文獻(xiàn)中給出的剛度矩陣
流體有限元求解器開(kāi)發(fā)-二維斯托克斯方程3個(gè)月前
很多人在開(kāi)發(fā)求解器做案例測(cè)試的時(shí)候,前處理都是手動(dòng)敲單元,麻煩不說(shuō),這也說(shuō)明了程序通用性差,不利于后期集成。
效果
從速度分布結(jié)果可以看出,自研線性三角形單元的結(jié)果和文獻(xiàn)一致。