加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]让ansys与matlab协同工作2——如何使用ansys调用matlab

(2016-04-15 00:54:29)
标签:

转载

  之前转载的帖子也说明了一种很好的交互工作的方法。我这里再说一种方法,供参考。
matlab和ansys都会等着被调用的程序结束运行之后再执行下面的命令,这个特性允许我们把程序的控制权在matlab和ansys之间相互传递,实现ansys与matlab的相互调用和交互工作。
 
1.matlab中调用ansys的方法(之前的帖子里贴过,不再详述了。补充一点就是ansys运行中产生的中间文件都将在调用它的matlab文件夹下,除了-o内容指定的output文件),下面是一个例子:
!"D:Program FilesAnsys Incv100ANSYSbinintelansys100.exe" -b -i d:inpvm1.mac -o "d:out put1.txt"
2.ansys中调用matlab的例子:
/sys,matlab /r t1;t2
其中t1.m,t2.m是我们自定义的、指定matlab启动后自动运行的脚本文件,内容分别如下:
t1.m
disp('test1 ok~~')
t2.m
disp('test2 ok~~')
运行上述命令后,matlab将启动并运行t1.m和t2.m,返回信息如下:
>> t1;t2
test1 ok~~
test2 ok~~
当然,在matlab /r 后面还可以加上matlab内置的函数,如下面的例子
/sys,matlab /r hf=figure;peaks;saveas(hf,'matlab.emf');exit
这样,matlab就会被调用来绘制一幅图形、保存起来(保存在当前的ansys文件夹)之后退出。退出后,程序的控制权又交给ansys。
有一点需要注意的是,ansys调用matlab之后,matlab脚本中一定要有exit才能将程序控制权重新交给ansys。matlab调用ansys时(batch mode)并不需要*exit,程序运行完毕后会自动退出。
 
   iomiga老兄说的那个例子应该也可以用下面的方法考虑实现,那就是在ansys结束一步运行后,调用matlab,在matlab中完成材料属性计算等工作并保存为文件,之后退出。ansys就会继续进行下面的步骤了(如读入matlab生成的数据,并计算下一步)。

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有