ANSYS如何调用MATLAB
在日常学习和科研中,经常会用到MATLAB和有限元软件ANSYS互相调用的问题,网上关于MATLAB调用ANSYS的例子很多,对于一些无问题,如果换一种思路,从ANSYS中调用MATLAB也同样可以解决,下面接简单举例介绍一下如何从ANSYS中调用MATLAB。
例如,对于一道材料力学问题,根据已知受力条件,需要用受力平衡方程解出未知的力,这时候就需要用MATLAB矩阵求解,然后将求解的结果导入ANSYS,在ANSYS中计算变形量,实现步骤如下:
1.将初始条件的ANSYS命令流保存到txt文本,里面定义的是力的大小或者matlab要
读取的数据,假设命名为01.txt
2.编写matlab文件02.m,命令流的最后一行加上exit,以保证matlab运行后退出,
才能执行ANSYS下面的步骤。读取01.txt数据并在MATLAB中各种计算,将计算结果输出到03.txt
3.编写ANSYS主程序命令流,保存为0
4.txt(04中会调用01和03来进行使用),ansys
输出文件为05.txt(注意是ANSYS程序运行自动产生的输出文件,不是计算结果保存的文件,计算结果根据自己需要哪个值再进行写入),04中在需要调用MATLAB 的地方命令流为:
/sys,"E:\MATLAB instal\bin\win32\MATLAB.exe"/r 02
注意:当路径名字有空格时候需要用双引号引上,02.m的后缀m不用写,只写上02就可以,这也是我之前调用matlab出错的主要原因。
4.ANSYS再读取03.txt数据,执行下一步计算。
另外注意,在ANSYS命令行中直接粘贴命令有可能导致matlab还没有运行完成,就执行ANSYS下一条指令,所以应该将执行ANSYS的命令写成bat文件,格式为:
cmd/c "E:\ANSYS Inc\v145\ansys\bin\intel\ANSYS145.exe" -b -p ANSYS -i 04.txt -o 05.txt
而ANSYS最终的计算结果(例如变形量)可以保存在06.txt中,从而方便其他程序再进行调用。