如何在ANSYS中調用其他程序(matlab,C,fortran)和數(shù)據(jù)交換

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

ANSYS雖然比較強大,但是不能象Femlab一樣自定義模型方程。在某些情況下,必須用當前step的解作為條件,根據(jù)某些物理條件來改變單元的材料屬性以及載荷,作為下一個step的初始條件。 用ANSYS自帶的APDL可用于一般的流程控制,如果要實現(xiàn)特定的復雜物理模型就比較困難,而且速度極慢??尚械霓k法就是在ANSYS運行中把每一個step的結果傳給外部程序,用來計算下一步的載荷和單元屬性。


A. 和外部程序交換數(shù)據(jù),首先要處理好協(xié)同問題,一般可用一下兩種方法:
(1)ANSYS 和 外部程序同時運行 -- 需要建立一個flag文件。通過在ANSYS和程序中讀其內容來判斷對方是否在運行。在ANSYS和外部程序運行完一個step,改變flag,告訴對方自己當前運行結束,對方可以繼續(xù)運行,否則必須等待。

(2)在ANSYS中調用/SYS命令執(zhí)行外部程序。 此時ANSYS會暫時停止運行,直到外部程序結束運行,把執(zhí)行權交還給ANSYS。

(1)適用與matlab等非編譯語言。 (2)適用與C和Fortran等編譯語言。

B. 如何在外部程序中告訴ANSYS改變單元屬性和載荷變化:

在從ANSYS中導入數(shù)據(jù)后,外部程序一般可以根據(jù)具體物理模型來創(chuàng)建.mac文件,然后在此文件中寫入MPCHG等APDL命令。例如用C創(chuàng)建一個"MD.mac"文本文件,用fsprintf(fp,"MPCHG %d,%d", element_num, Material_ID). 當程序結束運行,在ANSYS中用*use, MD.mac 來實現(xiàn)加載和單元屬性的改變。

C. 如何在ANSYS和外部程序中傳遞數(shù)據(jù)。

一般在ANSYS中把當前結果寫在數(shù)據(jù)文件中, 在外部程序中讀取。一般常用的命令有*MOPER。*MOPER可以把節(jié)點(node)的結果例如T(x,y,z) 自動根據(jù)插值計算映射到用戶自己定義的網(wǎng)絡上。 然后可以用*MWRITE寫入數(shù)據(jù)文件。例如,如果用free mesh, node 的 坐標可能是很混亂的。用MOPER可以把結果映射到特定的有序的網(wǎng)絡 (x0->x1,dx;y0->y1,dy;z0->z1,dz).

 


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

相關標簽搜索:如何在ANSYS中調用其他程序(matlab,C,fortran)和數(shù)據(jù)交換 Ansys有限元培訓 Ansys workbench培訓 ansys視頻教程 ansys workbench教程 ansys APDL經(jīng)典教程 ansys資料下載 ansys技術咨詢 ansys基礎知識 ansys代做 Fluent、CFX流體分析 HFSS電磁分析 Abaqus培訓 

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

全國服務熱線

1358-032-9919

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