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

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

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


A. 和外部程序交換數(shù)據(jù),首先要處理好協(xié)同問題,一般可用一下兩種方法:
(1)ANSYS 和 外部程序同時(shí)運(yùn)行 -- 需要建立一個(gè)flag文件。通過在ANSYS和程序中讀其內(nè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等非編譯語言。 (2)適用與C和Fortran等編譯語言。

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

在從ANSYS中導(dǎo)入數(shù)據(jù)后,外部程序一般可以根據(jù)具體物理模型來創(chuàng)建.mac文件,然后在此文件中寫入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 來實(shí)現(xiàn)加載和單元屬性的改變。

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

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

 


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

相關(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) 

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國服務(wù)熱線

1358-032-9919

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