ansys和matlab可以互相调用吗

如题所述

可以,具体来说:
采用matlab作为主控程序,设置好所有的参数与选项传递给ansys(通过文件)并调用ansys计算。
ansys计算结束后(默认情况下,matlab会自己等着,这一点很方便)再用matlab处理ansys的输出文件。由于所有的设置可以在
matlab中统一完成,省去很多参数同步的工作,也顺便实现了计算的自动化。
采用ansys作为主控程序,亦可以实现ansys调用matlab的计算结果,进而实现了计算的自动化。

ansys与matlab的相互调用
网上对于
ansys与fortran和c的相互调用说的较多,而对于ansys和matlab的调用说的较少,由于matlab的功能强大,将它与ansys联用
可以及方便的解决一些问题。本人通过网上的搜索内容和自己的实践,总结出ansys与matlab的相互调用经验,现与大家一起分享:
1.用ansys调用matlab
先将matlab的 m文件filename和读取数据都放在ansys工作目录下, 在ansys中输入命令
/sys,D:\MATLAB701\bin\win32\MATLAB.exe /r filename
上
面的命令中“D:\MATLAB701\bin\win32\MATLAB.exe
”为matlab的运行目录,如果matlab所在的盘符不是这样,需要修改,filename要改成相应的m文件名。
如果想退出matlab回到ansys工作环境,可在matalb最后加上命令"exit" 2.用matlab调用ansys
!"D:\Program Files\AnsysInc\v100\ANSYS\bin\intel\ansys100.exe" -b
-i C:\FRACTURE4.txt -o C:\fra.out 命令说明:!即相当于dos的调用命令;
"D:\Program Files\AnsysInc\v100\ANSYS\bin\intel\ansys100.exe" 为ansys的运行目录,本人所用的是10.0版本;
C:\FRACTURE4.txt 是ansys命令流文件; C:\fra.out是输入文件。
以上路径和文件名在具体操作时需要做具体修改。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-10-10

可以相互调用。

采用CORBA接口进行联合仿真。

    ansys设置中为服务器模式,生成APDL密钥接口,在任意支持corba的编程语言环境可调用ansys命令。

    matlab安装ansys服务工具箱连接APDL密钥,实现与ansys软件的远程同行。

    可在matlab中运用iCoMapdlUnit.executeCommandToString函数调用ansys命令。

举例:

%设置接口和语言环境:

orb=initialize_orb()

load_ansys_aas;

iCoMapdlUnit=actmapdlserver(orb,'aas_MapdlId.txt');

%调用ansys函数

iCoMapdlUnit.executeCommandToString('[ansys内置函数]')%调用ansys函数

相似回答