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