
發布
注冊
/
登錄求解器開發的案例
一篇文章入門“求解器”開發(全篇)
內容為工業軟件中設計仿真軟件的多物理場仿真求解器研發,文章并不針對某種具體物理場(結構,聲,熱,光,電磁,流體),也不針對某個行業
(CAE/EDA/CFD/TCAD/CAO/CAPP)的數值求解器,而是介紹求解器開發的一些通用方法,工具,理論和設計思想。
讀者對象為初步接觸求解器的軟件研發人員,文中提到的很多用顏色標記的內容可以作為關鍵字單獨搜索。
需要提醒的是:原理性內容的學習最好的方法還是看經典教材,本文只是一些入門和科普性質的內容
1.求解器定義
這里的求解器主要是工業設計仿真軟件中的內容,由英文Solver翻譯而來,Solver是個比較通用的叫法,有些軟件程序會叫做Engine(引擎),或者Kernel Program(核心程序),其實都是一個意思。它的主要目的是利用程序,求解多物理場問題。幾何相關的約束求解器,運籌優化中的求解器等不在此討論范疇
后續如果不做特殊說明,“求解器”默認指商用軟件求解器
工業仿真軟件一般分為三個大模塊:
前處理器,求解器,后處理器
1.前處理器主要處理幾何,設置業務數據以及求解器需要的數據(網格,屬性,配置);
2.求解器讀取前處理的數據進行仿真計算,并導出結果;
3.后處理器則對求解器的計算結果進行加工,顯示相應計算結果。
在這三個模塊中,求解器是核心,前后處理都是圍繞求解器進行。在工業仿真軟件發展歷史中,有很多只做求解器,不做前后處理開發的公司。最為典型的是LS-DYNA產品,早期只聚焦于求解器開發,前后處理器都是其它公司圍著轉,后來從業務上考慮才自己開發前后處理器。ANSYS公司的產品ANSYS從上世紀90年代就提供了LS-DYNA的前處理功能,直到20多年后將其收購。
展開 國產CAE軟件產品定位及系統的開發求解器
嚴格意義上來講,求解器的開發也屬于軟件開發的范疇,理應用軟件工程的思想來指導,但由于求解器本身有其特殊性,開發流程也不適合完全按照一般軟件開發流程來做。
結合自己開發經驗,討論一下如何系統的開發求解器。求解器開發可以分為三個階段:
1.原型開發;
2.迭代開發;
3.維護開發;
1. 原型開發
這階段主要完成以下任務:
1.1.技術選型;
確定要實現的功能,使用的開發語言,開發環境和工具。目前大部分求解器開發使用C/C++/Fortran語言
1.2 實現基本功能;
要能對最簡單的例子進行計算,并得到正確的結果。需要做的工作:
能生成標準求解器的輸入文件,比如Nastran,Ansys,HFSS,Fluent等的求解器輸入文件,例子的計算結果要與這些標準求解器計算的結果做比較。
標準求解器輸入文件的解析器。用來解析輸入文件,作為開發求解器的輸入數據。
比較標準求解器的計算結果和開發的求解器結果。
這階段的主要目的是保證算法的
正確性
。開發時為了提高效率,可以借助Matlab軟件: 用Matlab完成原型的開發,直到計算結果正確。在此基礎上再將Matlab翻譯成 C++/Fortran。這樣在早起可以將精力集中在算法驗證上。需要注意的是盡量進行模塊化開發。
1.3. 完成求解器原型;
這里需要介紹一下Matlab軟件,基本介紹看百度,主要說一下Matlab混合編程。Matlab有工具是可以把M文件翻譯成C++的,不推薦。主要介紹如何把C++/Fortran文件編譯成Matlab文件。
展開 流體有限元求解器開發-SUPG迎風格式與SA湍流模型
得到繞流結果如下,可以看出自研求解器結果和Fluent結果基本是吻合的,這也標志著自研求解器結果具備了一定的實用性。
自研求解器結果
FLUENT結果
翼型繞流
NACA 0012翼型,弦長1m,流體介質為空氣,來流速度100m/s。得到繞流結果如下,可以看出收斂效果還是很好的。
0度攻角結果
5度攻角結果
系統
到目前為止,在流體方向我們已經開發了:
(1) 翼型造型算法和軟件:《葉片/翼型參數化造型技術》
(2) 網格生成算法:
(3)結冰算法和軟件:
(4)不可壓流動求解器
可以說,上述算法模塊已經形成了一個小型的“生態系統”,如果我們再加上翼面升力和阻力計算,基本就可以實現:幾何造形設計、網格生成、CFD計算、冰形計算、性能評估的完整流程。
如果再摻一點優化算法,可以實現更多的功能,這大概就是自研系列化軟件的好處。
展開 流體有限元求解器開發-二維斯托克斯方程
我在開發結構力學有限元求解器的時候,都是先去查資料,直接就把單元剛度矩陣拿過來用。
但是到流體這就不能完全這么干,原因是:
(1) 未必能找到直接可用的單元矩陣;
(2) 流體的邊界條件中,有很多第二類邊界條件(壓力、熱流、對流),這些邊界條件有的是放到右側載荷項,需要推導。有的載荷甚至會影響左側單元矩陣,部分放到左邊去修正。結構力學里面大部分情況下,載荷就是在右側,位移就是放到左邊修正剛度矩陣,清晰明確。
所以,開發流體求解器的時候,還是要從有限元的基本方法入手。這里采用加權余量法進行處理。有限元的教材里面講的很多了,這里簡單說一下流程:
(1) 根據單元類型,確定插值函數。此時速度、壓力等變量,都可以用權函數表達。
(2) 采用伽遼金方法,權函數=插值函數,控制方程與權函數相乘,積分取0。
(3) 在每個單元域內,方程轉換為權函數的積分形式,最終形成單元矩陣。
單元方程
最終得到單元的方程形式如下:
類比到結構有限元,左側第一大項,就是剛度矩陣。u、v、p相當于3個自由度,右側就是載荷列陣。
我的本意是開發一個三角形單元的斯托克斯求解器。使用三角形線性單元對應的插值函數:
無論是CFD還是結構有限元,只要單元類型一致,插值函數都是一樣的,區別只在單元方程。
但是這樣直接求解結果是震蕩的,原因是結構有限元中,節點的幾個自由度本質是同一種物理量,它們是“平級的”。但是速度u、v與壓力p不是同一種物理量,它們不平級。壓力和速度的降階是平級的。
一般的處理思路是,對速度用高階單元,對壓力用低階單元。還有一種思路是使用罰函數方法,將壓力用如下形式表達,只要λ足夠大即可。這樣就在原控制方程中消除了壓力。
展開 
考慮熱源的瞬態熱傳導有限元求解器
關鍵詞:熱源,瞬態,熱傳導,有限元求解器,三角形單元,自研
在《瞬態熱傳導有限元求解器開發》一文中,我們介紹了自研的二維瞬態熱傳導求解器。
當時那個控制方程沒有考慮熱源,邊界條件中只涉及溫度、熱流、對流。然而在很多問題中,熱源才是最關鍵的邊界條件,比如電發熱、化學反應生熱。
熱源的處理
熱源是體熱,相對應的熱流是面熱。兩者處理方式類似,都是根據單位熱功率值和幾何尺寸計算熱功率,然后加到控制方程矩陣的右側,承擔類似于結構力學中的“載荷”的功能。
區別在于,熱源是作用在體上的,單位是W/m3,熱流是作用在面上,單位是W/m2。具體到編程上,熱源要分配到單元的三個節點上,熱流要分配到單元某個邊的兩個節點上。
從求解器編程的角度來說,這些邊界條件的處理方式都是固定和通用的。考驗一般出現在實際工程項目中使用自研求解器的時候。
在CAE軟件的開發中,交互端和求解器端永遠要解決的問題是,如何讓所有單元始終知道:
(1)它是誰?(材料參數,幾何參數);
(2)它在哪?(和其他單元的相對位置);
(3)它怎么了?(邊界條件)。
以熱源為例,在交互界面上,我們通過視口選擇單元,指定其體熱功率。那么前端數據在生成求解器輸入的時候,就要告知求解器所有單元的編號和其對應的體熱功率。
當求解器拿到單元編號以后,就需要索引或者計算其面積,并根據單元三個節點編號,將功率加到載荷列陣對應的位置。
驗證
設計案例如下,區域外部為20℃空氣,對流換熱系數取5W/(m2K),時間總長18000s,每步時間間隔60s。
自研求解器得到模型中心最終溫度是84.6℃,與商用軟件結果完全一致。
展開 工業軟件研發中處理超大模型(6)--有限元求解器
需要說明的是,超大規模的有限元模型求解方法非常依賴模型數據的特點,并沒有一個黃金標準方法,需要在實踐中選擇合適的方法。
后話:發現一個有趣的現象,現在很多研究高性能矩陣計算和線性方程組求解的,已經不是在工業自動化,工業軟件數值計算這塊,而是在最近幾年火熱的AI計算,深度學習方面。正如工業設計仿真軟件與數學和多物理場與數學(1)--求解器開發的數學基礎(點擊鏈接查看)中所說的:學科之間都是相通的,而這個“通”就是靠數學聯系起來,很多看起來不相關的應用學科,底層技術都是類似或相同。
文章來源多物理場仿真技術
瞬態熱傳導有限元求解器開發
在瞬態問題的求解中,導數項可以寫成前后時間變量差值與時間間隔的比值:
代入后得到如下形式:
求解思路
在求解過程中,把Tn+1當作未知量,Tn作為已知量。這樣在每個時間點,求解方法和結構有限元方法一致。
初始時候,可以指定一個溫度作為全域已知初始溫度,然后在迭代過程中,Tn和Tn+1會逐漸接近,達到收斂狀態。
案例效果
設計案例如下,同時包含對流換熱邊界條件和熱流,時間總長10000s,每步時間間隔50s。
自研求解器和商用軟件結果對比如下,從結果可以看出,自研求解器結果與商用軟件結果一致。
自研求解器結果:最終溫度分布
商用軟件結果:最終溫度分布
自研求解器結果:平均溫度時間曲線
商用軟件結果:平均溫度時間曲線
展開 新能源電池包國標強度仿真abaqus求解器邊界條件一鍵設置腳本 ¥69.9
本腳本針對abaqus求解器開發,可一鍵完成電池pack國標要求工況邊界條件的設置,可極大提高FEA工程人員的效率,減輕工作負擔。</p><p>腳本使用方法:</p><p>1、將前處理軟件生成的*.inp網格文件導入abaqus中打開。(注1)</p><div contenteditable="false" width="100%">
<figure class="figure-image" data-img="https://img.jishulink.com/202404/attachment/b577a553357546739e02b7d43e7e160f.jpg" style="text-align: center">
<img src="https://img.jishulink.com/202404/attachment/b577a553357546739e02b7d43e7e160f.jpg" data-mobile-src="https://img.jishulink.com/202404/attachment/b577a553357546739e02b7d43e7e160f.jpg?image_process=/format,webp/resize,w_400" data-pc-src="https://img.jishulink.com/202404/attachment/b577a553357546739e02b7d43e7e160f.jpg?
展開 “2020新年 LS-DYNA 軟件周邊產品技術交流研討會”邀請函
眾多合作伙伴圍繞LS-DYNA求解器開發出系列周邊產品,幫助各行業用戶更方便和高效地使用LS-DYNA軟件用于產品設計開發。尤其在汽車行業,有針對LS-DYNA求解器開發的:
? 專業前后處理軟件;
? 專業的假人模型:混III系列假人,Q系列小孩假人,Thor假人,THUMS假人等;
? 專業的壁障及行人保護模型:AE-MDB,ODB,MPDB,Flexpli,aPLI等;
? 專業的沖壓仿真軟件;
? 專業的優化分析軟件;
? 專業的自動化流程處理軟件;
目前LS-DYNA軟件已回歸ANSYS大家庭,廣大客戶也迫切需要了解基于該求解器開發的周邊產品最新資訊及最新技術,為方便用戶系統全面地了解LS-DYNA軟件周邊產品,特舉辦本次技術交流研討會,將邀請相關產品的開發方,客戶使用方及LS-DYNA軟件的開發人員一起相聚上海,進行交流和互動,分享技術和應用經驗。
我們熱誠歡迎廣大用戶與周邊產品開發方報名并出席本次技術交流研討會。
主辦單位
關于上海仿坤軟件科技有限公司:
上海仿坤軟件科技有限公司,經美國原LSTC公司(LST, an ANSYS company)委托及授權,成為LS-DYNA軟件國內總代理,全面負責LS-DYNA軟件在國內的銷售、市場、技術支持及工程咨詢服務,通過整合和管理LS-DYNA國內各類合作伙伴資源,為國內的LS-DYNA用戶提供強有力的技術支持服務,幫助客戶更高效地使用LS-DYNA軟件進行產品設計和開發。
展開 tcl語言hypermesh二次開發 門洞屈曲自動化計算程序 optistruct求解器 ¥500
<p><br></p><p><img src="/images/content/youku-case.png"></p><p><br></p><p><a href="https://www.yqgqt.org.cn/qa/14127" rel="noopener noreferrer" target="_blank" style="color: rgb(51, 51, 51);">hypermesh</a>二次開發 門洞屈曲自動化計算程序 optistruct求解器,付款后聯系我發tcl程序給你,手機端視頻無法觀看 可在電腦端觀看,自動抽中面 修補面 賦厚度屬性等-帶GUI輸入界面</p><p><br></p><p>部分代碼:</p><p>###########################################門洞屈曲自動化建模程序_編制日期202220909_前處理器Hypermesh__version_2020</p><p>###########################################求解器optistruct_version_2020</p><p>###########################################聲明門洞相關參數</p><p>namespace eval ::matGUISample {</p><p>variable _r1</p><p>variable _lengh1</p><p>variable _h11</p><p> variable _h21</p><p> variable _h31</p><p> variable _h41</p><p> variable _h51</p><p>
展開 hypermesh二次開發自動抽中面賦厚度屬性-針對ansys求解器 ¥18
<p>hypermesh二次開發自動抽中面賦厚度屬性-針對ansys求解器 源程序在收費內容中</p>

基于Tcl二次開發,用于hypermesh—optistruct/nastran求解器模塊自動化屬性、材料卡 ¥25
<div contenteditable="false" width="100%">
本工具基于Tcl語言開發,用于hypermesh里面的optistruct/nastran求解器模塊,主要實現以下自動化功能:
</div><div contenteditable="false" width="100%">
智能識別組件單元類型:自動區分殼單元(Shell)與實體單元(Solid),并為其分配對應的屬性卡。
</div><div contenteditable="false" width="100%">
厚度智能提取:從組件名稱中自動解析厚度數值,支持多種命名格式(如 t0P8MM、thickness3P2、thick5 等),并能智能規避材料等級標號(如AL6061_T6)的誤識別。
</div><div contenteditable="false" width="100%">
屬性自動創建與關聯:若組件無屬性,則自動創建屬性并綁定至組件;若已存在,則跳過避免重復;
</div><div contenteditable="false" width="100%">
材料自動創建與關聯:若組件無材料,則自動創建材料并綁定至組件;若已存在,則跳過避免重復;內置可拓展的材料基礎參數庫;
</div><div contenteditable="false" width="100%">
穩健性非常好,復雜裝配體告別手搓,前處理效率提升一個臺階!
展開 8/18 Ansys Mechanical 2020 R2 新功能總覽
時間:8月18日16:00
內容簡介:
最新發布的Ansys Mechanical 2020 R2 包含一系列新功能,從Workbench Mechanical的前后處理,到APDL求解器都有很多更新,這些新功能重點聚焦在航空航天、新能源汽車、電子結構可靠性等領域。同時,對于其他行業的用戶也有大量的實用更新,歡迎參加本次網絡研討會了解更多新版本功能更新。
講師簡介:
郭臻,Ansys高級應用工程師,長期從事Ansys結構分析軟件的技術支持工作。本科畢業于北京航空航天大學飛行器設計與工程專業,碩士畢業于清華大學固體力學專業。畢業后先后在西門子工業軟件擔任NX NASTRAN求解器開發工程師,Autodesk中國研發中心擔任結構非線性求解器開發工程師。加入Ansys以來,負責一線客戶支持、培訓和工程咨詢項目,業務涉及航空、汽車、核能、電子等多個行業。
點擊報名:http://event.31huiyi.com/1899431494/index?c=jishulink
展開 官方免費 | ANSYS結構分析2020 R1新功能介紹
ANSYS 2020 R1的更新內容除了包括ANSYS Mechanical中的前后處理、拓撲優化、SMART斷裂分析、耦合場分析,還包括在MAPDL求解器、顯示動力學以及ANSYS Sherlock等結構分析相關產品。
適宜人群
所有ANSYS結構軟件用戶和相關工程師
時間安排
2020年3月3日 16:00
講師簡介
郭臻
ANSYS高級應用工程師
長期從事ANSYS結構分析軟件的技術支持工作。本科畢業于北京航空航天大學飛行器設計與工程專業,碩士畢業于清華大學固體力學專業。畢業后先后在西門子工業軟件擔任NX NASTRAN求解器開發工程師,Autodesk中國研發中心擔任結構非線性求解器開發工程師。加入ANSYS以來,負責一線客戶支持、培訓和工程咨詢項目,業務涉及航空、汽車、核能、電子等多個行業。
報名方式
點擊報名:http://event.31huiyi.com/1825988344/index?c=jishulink
展開 一款FEMAP求解器TP2000(由德國奔馳公司有限元法奠基人Prof.Peter Groth領導開發),免費下載
改求解器也適用于MEDINA.