国产精品日韩一区二区三区-国产精品日日摸夜夜添夜夜添1-国产精品入口免费视频-国产精品三级-亚洲国产欧美另类-亚洲国产欧美日韩

CAE軟件研發的一些思考(3)--CAE軟件架構設計

2016-09-03  by:CAE仿真在線  來源:互聯網

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

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

用例圖(略)

第二部分:詳細設計
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>. 標準的行業CAD文件 (制衣CAD格式,PCB板CAD格式等)
需要說明的是第四種文件,該文件的格式數據通常包含了幾何描述信息和屬性,幾何描述信息是指無幾何的拓撲信息(比如一個長方體,幾何描述信息是用初始點坐標和長,寬,高四個參數來表示,而沒有實際的點線面體拓撲信息),讀入該類文件后,需要用CAD內核重新建立模型。
類圖

1.2. 外部接口
通常CAE軟件能夠供其他軟件調用,或者作為其中一個模塊,也能夠實現參數化命令行調用。
CAE軟件研發的一些思考(3)--CAE軟件架構設計


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

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

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

3. 有限元模型(FE Model)
3.1. 單元CAE軟件研發的一些思考(3)--CAE軟件架構設計
面向對象方法很適合構造有限元中的單元,ElementType為所有單元的基類。主要方法有:點的集合,材料,分析類型,階次。根據單元的空間維數將單元劃分為 0/1/2/3D單元。如需擴充新單元類型,在相應的單元類型上派生即可。

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

CYCAD_Controller 負責獲得幾何數據和附加在幾何上的屬性(邊界條件)。CYCAD_Data存儲幾何數據,CYCAD_Attribute存儲與幾何對應的屬性。CYCAD_Engine是CAD內核的接口,通過接口也可以調用自己開發CAD內核。基于該結構,實現了CAD與MESH的解耦,對于已經有的CAD/Mesh接口,能實現最小限度的修改。

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

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

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

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

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

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

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

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

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

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

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

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

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

寫文本的目的只想說明,不管是開發大型通用CAE軟件,還是行業的CAE軟件,在技術上都是可行的。
還是那句話:在國內開發一個Ansys/Nastran 量級的CAE產品,任重而道遠~
我的更多文章:
  • (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)

開放分享:優質有限元技術文章,助你自學成才

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

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

全國服務熱線

1358-032-9919

廣州公司:
廣州市環市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:[email protected]




主站蜘蛛池模板: 国产精品毛片大码女人 | 99久久精品久久久久久婷婷 | 午夜香蕉视频 | 久久一本精品久久精品66 | 国产丝袜第一页 | 日本片网址 | 国产成人香蕉 | 久久人人澡人人爽人人爱 | 激情文学图片 | 欧美日韩在线免费观看 | 日本亚洲视频 | 欧美白人和黑人xxxx猛交视频 | 日韩精品久久久久久 | 久久久久久久国产视频 | 久久人人澡人人爽人人爱 | 久热首页| 久久99这里精品8国产 | 97香蕉超级碰碰碰久久兔费 | 午夜精品免费 | 欧美bbbbb| 六月婷婷综合网 | 欧美69视频在线 | 久久久久久久综合日本亚洲 | 图片亚洲va欧美va国产综合 | 精品一卡2卡三卡4卡免费观看 | 久久九九99热这里只有精品 | 免费看片亚洲 | 久久人人爽人人爽人 | 国产尤物 | 韩国三级黄色 | 亚洲一区二区三区高清网 | 日本三级香港三级韩国三级 | 色站在线 | 99久久精彩视频 | 日本xx免费看视频mm | 国产成人自拍视频在线观看 | 久久伊人色 | 亚洲国产中文字幕 | 久久电视剧免费在线观看 | 巨熟乳波霸a∨田中瞳 | 日本特黄特黄刺激大片免费 |