CAE軟件研發(fā)的一些思考(3)--CAE軟件架構(gòu)設計

2016-09-03  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

這里的CAE是廣義的,包含了傳統(tǒng)意義上的 CAD/CFD/EDA/CAE/CAPP等
本文的設計主要覆蓋軟件工程流程中的概要設計和詳細設計。因為客觀原因,CAE軟件與軟件標準開發(fā)流程有所不同,設計文檔更傾向基于可快速實現(xiàn)的原型開發(fā)
設計中并不強調(diào)某一模塊的功能,也不追求某一方面的性能效率,而是基于軟件工程,著重搭建一個通用性,可靠性,穩(wěn)定性,擴展性,可測試性,維護性優(yōu)秀的CAE軟件平臺。基于此平臺,既可以開發(fā)大型通用有限元軟件,也可以快速開發(fā)出行業(yè)CAE軟件產(chǎn)品。

第一部分:模塊劃分
根據(jù)功能分以下幾大模塊:
1. 輸入輸出(Input/Output或 I/O)
2. 幾何
3. 有限元模型
4. 后處理器
5. 求解器
6. 圖形
------------------------------------------------------
7. 公共模塊
8. 高性能計算(HPC)
9. 參數(shù)優(yōu)化設計

用例圖(略)

第二部分:詳細設計
1.  輸入輸出模塊(Input/Output)
1.1.文件的讀入與寫出。文件類型包括:
1>. 軟件自定義的工程文件
2>. 標準的CAD文件(DWG/Step/IGS/SAT/X_T/STL/Model/等)
3>. 標準有限元模型文件(bdf/cdb/inp/k/NEU/ModelFlow/I-deas/Ansa/Mar/Admin等)
4>. 標準的行業(yè)CAD文件 (制衣CAD格式,PCB板CAD格式等)
需要說明的是第四種文件,該文件的格式數(shù)據(jù)通常包含了幾何描述信息和屬性,幾何描述信息是指無幾何的拓撲信息(比如一個長方體,幾何描述信息是用初始點坐標和長,寬,高四個參數(shù)來表示,而沒有實際的點線面體拓撲信息),讀入該類文件后,需要用CAD內(nèi)核重新建立模型。
類圖

1.2. 外部接口
通常CAE軟件能夠供其他軟件調(diào)用,或者作為其中一個模塊,也能夠?qū)崿F(xiàn)參數(shù)化命令行調(diào)用。
CAE軟件研發(fā)的一些思考(3)--CAE軟件架構(gòu)設計


2. 幾何模塊(Geometry)
這里的幾何指廣義上的CAD,包含了幾何的創(chuàng)建,編輯,管理等。一般的商業(yè)CAE軟件提供了CAD功能,都比較簡單。對于復雜的實際工程,很少在CAE軟件中建模,而是在專業(yè)CAD軟件(Catia/UG/ProE/Inventor等)或者行業(yè)CAD軟件中建立幾何模型,然后導入到CAE軟件中。所以CAD不是CAE軟件的重點,但是好的CAD模塊能提高CAE仿真的效率,避免外部CAD數(shù)據(jù)與CAE接口之間的損耗(最典型的就是CAD數(shù)據(jù)修補)。CAD建模本身也是一項技術(shù)含量很高的工作(參數(shù)建模,約束建模),而且Catia/UG/ProE/Inventor這些產(chǎn)品在CAD方面已經(jīng)做的非常好了。CAD與解方程組數(shù)值算法一樣,也是基礎性學科領(lǐng)域。

這里不涉及通用的CAD建模,重點在建立CAD模板。所謂的模板是指可反復使用,用戶輸入?yún)?shù)或者導入模板參數(shù)文件,即可建立所需的CAD模型,不需要用戶手工去生成。(比如用戶定義了一架飛機模型參數(shù),參數(shù)可以保存為文件,生成實體幾何后,修改機翼長度的參數(shù),可再次生成模型而不用做其他修改)。這也是專業(yè)CAD軟件的優(yōu)勢所在。

CAD建模,首先需要內(nèi)核,目前商業(yè)的3D CAD內(nèi)核有Parasolid和ACIS,Granite,開源的OCC。國內(nèi)的CAD軟件長期沒有自主核心技術(shù),在CAD內(nèi)核方面也鮮有成熟產(chǎn)品。

3. 有限元模型(FE Model)
3.1. 單元CAE軟件研發(fā)的一些思考(3)--CAE軟件架構(gòu)設計
面向?qū)ο蠓椒ê苓m合構(gòu)造有限元中的單元,ElementType為所有單元的基類。主要方法有:點的集合,材料,分析類型,階次。根據(jù)單元的空間維數(shù)將單元劃分為 0/1/2/3D單元。如需擴充新單元類型,在相應的單元類型上派生即可。

3.2. CAD和CAD屬性(邊界條件)
這里邊界條件泛指任何在幾何(點,線,面,體)上的屬性(位移/荷載/溫度/吸收邊界/約束。。。)
CAE軟件研發(fā)的一些思考(3)--CAE軟件架構(gòu)設計

CYCAD_Controller 負責獲得幾何數(shù)據(jù)和附加在幾何上的屬性(邊界條件)。CYCAD_Data存儲幾何數(shù)據(jù),CYCAD_Attribute存儲與幾何對應的屬性。CYCAD_Engine是CAD內(nèi)核的接口,通過接口也可以調(diào)用自己開發(fā)CAD內(nèi)核?;谠摻Y(jié)構(gòu),實現(xiàn)了CAD與MESH的解耦,對于已經(jīng)有的CAD/Mesh接口,能實現(xiàn)最小限度的修改。

3.3. 網(wǎng)格劃分
CAE軟件研發(fā)的一些思考(3)--CAE軟件架構(gòu)設計
從名稱可以看出采用了Factory和Facade模式,CYMesh_Facade負責與外部的接口,主要是設置1. CAD數(shù)據(jù),2. CAD屬性(材料,荷載,溫度,邊界等),3.網(wǎng)格劃分參數(shù)和策略。Controller主要負責Mesh流程,CYMesh_Engine 是執(zhí)行Mesh引擎的接口,可以根據(jù)實際需要選用網(wǎng)格引擎,以上選取了Gmsh,NetGen,Distene,VKI等,在此結(jié)構(gòu)上,開發(fā)人員可以方便的對網(wǎng)格劃分流程和網(wǎng)格引擎進行擴展。

3.4.網(wǎng)格屬性
網(wǎng)格劃分完成后,通常做法是把網(wǎng)格數(shù)據(jù)保存為規(guī)定的文件格式以供求解器調(diào)用。也有直接在內(nèi)存中供求解器調(diào)用的,雖然提高了效率,但是不利于調(diào)試。對于自主開發(fā)的求解器,可以把網(wǎng)格導出為Ansys/Nastran等求解器的格式,以方便做Benchmark。
網(wǎng)格的數(shù)據(jù)包含了如下信息:
1. 節(jié)點信息: 索引和坐標(Vertex)
2. 邊信息:索引和點索引(Edge)
3. 面片信息:索引和邊索引(Face)
4. 單元信息:索引和節(jié)點索引(Element)
通常以上信息只需得到 點和單元的信息,其它都可以求出。
5. 屬性標簽:加在幾何上的屬性會分配在相應的網(wǎng)格單元或者節(jié)點上。(邊界條件/荷載/材料 等)

網(wǎng)格活動圖:
CAE軟件研發(fā)的一些思考(3)--CAE軟件架構(gòu)設計
說明:
1. Mesh Data為 網(wǎng)格數(shù)據(jù)
2. Validate Mesh quality 驗證網(wǎng)格的質(zhì)量,網(wǎng)格質(zhì)量指單元的形狀的好壞,有通用的公式計算(比如最大角度,長寬比,Aspect ratio/Skew 等)。網(wǎng)格質(zhì)量的好壞直接影響到求解精度
3. Output to Mesh file導出為網(wǎng)格文件
4. Run Solver 調(diào)用求解器
5. Need refine:根據(jù)求解器反饋的結(jié)果和預定義的收斂準則,判斷是否需要加密網(wǎng)格
6. Refine Mesh: 加密網(wǎng)格

4. 后處理
后處理是對仿真結(jié)果的處理,包括可視化,歸納分析,導出報告,與實驗數(shù)據(jù)對比等。技術(shù)上來講沒有太多瓶頸,主要是數(shù)據(jù)的組織,再就是大數(shù)據(jù)顯示的效率。
3.1. 可視化主要包括等值線,云圖,XYplot,動畫等,
3.2. 歸納分析,是指對仿真的原始數(shù)據(jù)進行加工,得到所需要的參數(shù),比如VonMises應力,S參數(shù)等。
3.3. 與實驗數(shù)據(jù)對比,這個也是以后CAE仿真的一個發(fā)展方向:即如何將仿真得出的數(shù)據(jù)與實驗數(shù)據(jù),保證仿真數(shù)據(jù)具有實際參考價值。
后處理主要用到圖形顯示模塊。
目前市場上比較通用的商業(yè)后處理器:Ensight,HyperView,Femap。

5. 求解器
求解器核心是求解偏微分方程(PDE),有限差分/有限元/有限體積等數(shù)值方法二三十年前就已經(jīng)很成熟,功能上沒有太多難點。開發(fā)求解器主要在穩(wěn)定性,擴展性,效率以及定制化等方面還有很多改進余地。開發(fā)求解器面臨的主要問題是非技術(shù)問題,就跟鍵盤布局一樣,大家用習慣了,再出來新的除非特別優(yōu)秀或者有足夠多的亮點,否則用戶很難認可。拿求解器Radioss來說,Altair聲稱兼容Nastran,但是行業(yè)認可度并不高。另一個例子是Comsol,Comsol在求解器,前后處理上并無太多亮點,但打出了多物理場的旗號,并且在多物理場建模方面也確實提供了一些便利。
CAE軟件研發(fā)的一些思考(3)--CAE軟件架構(gòu)設計
求解器涉及的領(lǐng)域有結(jié)構(gòu),電磁,熱,聲,光,流體等領(lǐng)域,可參考附件。

6. 圖形
該模塊包括以下幾部分:
1. 幾何模型,有限元模型,結(jié)果的可視化
2. 幾何有限元模型的圖形化編輯
3 GUI設計

1. 幾何模型,有限元模型,結(jié)果的可視化
可視化開發(fā)工具首選OpengGL,使用OpenGL需要較深的圖形學功底。目前絕大部分可視化工具都是基于OpengL。也有些公司在OpengGL之上做了封裝,提供了更高層次的調(diào)用接口。
開源可視化工具VTK,ParaView。
也有提供商業(yè)可視化工具的(VKI/HOOPS/Gravies/),價格不便宜。

2. 幾何/有限元模型的圖形化編輯
涉及到編輯幾何,編輯網(wǎng)格。允許用戶通過鼠標,輸入等方式編輯幾何和網(wǎng)格,支持更復雜的功能(比如裝配體的網(wǎng)格組合)
CAE軟件通常采用卡片式編輯,即在一個ListView中按Index顯示所有內(nèi)容,提供編輯,刪除,添加等,在新的窗口中實現(xiàn)功能。

3. GUI
圖形化用戶接口開發(fā)工具有MFC,QT,WPF等。最近十年QT的發(fā)展已有超過MFC的勢頭。作為GUI開發(fā)工具,QT具有使用簡單,不依賴平臺,開發(fā)資源豐富等特點,可作為開發(fā)的首選。

因為GUI涉及到軟件的每個部分,同樣,為了建立兼容的CAE開發(fā)平臺,在開發(fā)之初最好能確定GUI工具,以后就不再改動。

7. 公共模塊
公共模塊沒有太多核心技術(shù),實現(xiàn)也沒有難點,但在CAE開發(fā)中相當重要,尤其到開發(fā)的中后期,公共模塊的重要性更加突出。一個好的公共模塊能大大提高開發(fā)測試效率。
CAE軟件研發(fā)的一些思考(3)--CAE軟件架構(gòu)設計
公共庫主要包括 字符操作,數(shù)值計算,基本數(shù)據(jù)結(jié)構(gòu),錯誤返回代碼定義,圖形算法,常用算法,矩陣類等。
CYMatrix_Operator是定義的一個中間矩陣類,主要是統(tǒng)一矩陣操作的接口??紤]到求解器用的矩陣庫各不相同,通過此接口可以統(tǒng)一,但性能上會有所降低。

8. HPC(High performance computation)
參考 FEM之求解器加速(1)---HPC簡介
9. 參數(shù)優(yōu)化設計
參考 FEM之優(yōu)化算法(1)

總結(jié):
1. 本文只是一個初步的架構(gòu)設計,其中有很多細節(jié)很難用文檔來描述。
2. 設計中參考了如下軟件:
ANSA/Catia/SolidWork/Patran/Nastran/Ansys/Abaqus/HyperWork/HFSS/FEMAP/LMS/ADMIN/Comsol/Cubit/SimLab

寫文本的目的只想說明,不管是開發(fā)大型通用CAE軟件,還是行業(yè)的CAE軟件,在技術(shù)上都是可行的。
還是那句話:在國內(nèi)開發(fā)一個Ansys/Nastran 量級的CAE產(chǎn)品,任重而道遠~
我的更多文章:
  • (2014-11-12 11:47:57)
  • (2014-11-12 10:39:38)
  • (2014-10-30 10:53:00)
  • (2014-10-27 21:57:33)
  • (2014-10-27 09:16:51)
  • (2014-09-29 12:56:12)
  • (2014-09-28 07:36:43)
  • (2014-09-03 20:33:31)
  • (2014-09-03 15:19:08)
  • (2014-08-06 21:50:41)

開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學成才

相關(guān)標簽搜索:CAE軟件研發(fā)的一些思考(3)--CAE軟件架構(gòu)設計 有限元技術(shù)培訓 有限元仿真理論研究 有限元基礎理論公式 能量守恒質(zhì)量守恒動量守恒一致性方程 有限體積法 什么是有限元 有限元基礎知識 有限元軟件下載 有限元代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com