如何在ANSYS中調(diào)用其他程序(matlab,C,fortran)和數(shù)據(jù)交換
2016-10-07 by:CAE仿真在線 來(lái)源:互聯(lián)網(wǎng)
ANSYS雖然比較強(qiáng)大,但是不能象Femlab一樣自定義模型方程。在某些情況下,必須用當(dāng)前step的解作為條件,根據(jù)某些物理?xiàng)l件來(lái)改變單元的材料屬性以及載荷,作為下一個(gè)step的初始條件。 用ANSYS自帶的APDL可用于一般的流程控制,如果要實(shí)現(xiàn)特定的復(fù)雜物理模型就比較困難,而且速度極慢??尚械霓k法就是在ANSYS運(yùn)行中把每一個(gè)step的結(jié)果傳給外部程序,用來(lái)計(jì)算下一步的載荷和單元屬性。
A.
和外部程序交換數(shù)據(jù),首先要處理好協(xié)同問(wèn)題,一般可用一下兩種方法:
(1)ANSYS 和 外部程序同時(shí)運(yùn)行 --
需要建立一個(gè)flag文件。通過(guò)在ANSYS和程序中讀其內(nèi)容來(lái)判斷對(duì)方是否在運(yùn)行。在ANSYS和外部程序運(yùn)行完一個(gè)step,改變flag,告訴對(duì)方自己當(dāng)前運(yùn)行結(jié)束,對(duì)方可以繼續(xù)運(yùn)行,否則必須等待。
(2)在ANSYS中調(diào)用/SYS命令執(zhí)行外部程序。
此時(shí)ANSYS會(huì)暫時(shí)停止運(yùn)行,直到外部程序結(jié)束運(yùn)行,把執(zhí)行權(quán)交還給ANSYS。
(1)適用與matlab等非編譯語(yǔ)言。
(2)適用與C和Fortran等編譯語(yǔ)言。
B. 如何在外部程序中告訴ANSYS改變單元屬性和載荷變化:
在從ANSYS中導(dǎo)入數(shù)據(jù)后,外部程序一般可以根據(jù)具體物理模型來(lái)創(chuàng)建.mac文件,然后在此文件中寫(xiě)入MPCHG等APDL命令。例如用C創(chuàng)建一個(gè)"MD.mac"文本文件,用fsprintf(fp,"MPCHG
%d,%d", element_num, Material_ID). 當(dāng)程序結(jié)束運(yùn)行,在ANSYS中用*use,
MD.mac 來(lái)實(shí)現(xiàn)加載和單元屬性的改變。
C. 如何在ANSYS和外部程序中傳遞數(shù)據(jù)。
一般在ANSYS中把當(dāng)前結(jié)果寫(xiě)在數(shù)據(jù)文件中,
在外部程序中讀取。一般常用的命令有*MOPER。*MOPER可以把節(jié)點(diǎn)(node)的結(jié)果例如T(x,y,z)
自動(dòng)根據(jù)插值計(jì)算映射到用戶自己定義的網(wǎng)絡(luò)上。
然后可以用*MWRITE寫(xiě)入數(shù)據(jù)文件。例如,如果用free mesh, node 的
坐標(biāo)可能是很混亂的。用MOPER可以把結(jié)果映射到特定的有序的網(wǎng)絡(luò)
(x0->x1,dx;y0->y1,dy;z0->z1,dz).
相關(guān)標(biāo)簽搜索:如何在ANSYS中調(diào)用其他程序(matlab,C,fortran)和數(shù)據(jù)交換 Ansys有限元培訓(xùn) Ansys workbench培訓(xùn) ansys視頻教程 ansys workbench教程 ansys APDL經(jīng)典教程 ansys資料下載 ansys技術(shù)咨詢 ansys基礎(chǔ)知識(shí) ansys代做 Fluent、CFX流體分析 HFSS電磁分析 Abaqus培訓(xùn)