在matlab中调用ansys的方法[转]

2016-11-17  by:CAE仿真在线  来源:互联网


在matlab与ansys的交互主要基于两点:

1、由matlab产生apdl代码流,写成db文件,然后再调用ansys进行计算

2、matlab读取ansys的输出数据,进行再加工,在matlab里面输出ansys里面无法做的一些东西

3、两者之间不能紧密代码耦合,只能发命令给ansys做分析,然后读取输出而已


matlab中
save('E:\ansys\opt\zs\try\dam.txt','dd','-ascii')
!D:\Ansys\v90\ANSYS\bin\intel\ansys90 -b -p ane3fl -i ... E:\ansys\opt\zs\try\yh2.mac -o E:\ansys\opt\zs\try\yh.out
load('-ascii','E:\ansys\opt\zs\try\zx.txt')

第一行是matlab中数据dd保存为ansys可读的形式
第二行是调用ansys计算(一共三个路径,第一个是ansys程序的,第二三个分别为输入输出文件的路径)
第三行是matlab调用ansys的结果

ansys中

读matlab数据的命令流
*dim, xx,, 15,1
*VREAD,xx,E:\ansys\opt\zs\try\dam,txt,,ijk,15
(15f16.6)

写数据的命令流
finish
/post1
!将模态分析结果写入txt文件
*mwrite,zx,E:\ansys\opt\zs\try\zx,txt,,ijk,16
(16f16.6)

*vread和*mwrite的具体解释看看帮助

还有一个问题是ansys必须是命令流形式,最好保存为mac格式,这样可以直接运行

1. 当matlab调用的时候,可以采用!的方式和system函数两种方式。注意第一个ansys80这个可执行文件目录中不能有空格,否则matlab不能识别。即可以采用如下的调用方式:
system('D:\ANSYS\v80\ANSYS\bin\intel\ansys80 -b -p ane3fl -i C:\sibian.dat -o C:\vm5.out')
2. 这部分是关于batch的使用的,应尽量避免目录中的空格,减小不必要的麻烦。下边的batch模式是正确的。
"D:\ANSYS\v80\ANSYS\bin\intel\ansys80" -b -p ane3fl -i C:\sibian.dat -o C:\vm1.out
我 的经验是输入文件和输出文件的目录不能太长,且最好不带空格。刚刚开始的时候我的输入文件的目录是C:\Documents and Settings\Administrator\sibian.dat,结果batch不能执行。改为C:\sibian.dat 即可执行了。
3. *vread的例子,关于这个命令的帖子很多了,这里重复一下,算是方便新手了。
For example, given the following data file named dataval:
1.5 7.8 12.3
15.6 -45.6 42.5
采用如下命令流读入:
*create,ff
*DIM,EXAMPLE,,2,3
*VREAD,EXAMPLE(1,1),dataval,,,JIK,3,2
(3F6.1)
*end
/input,ff
结果:
EXAMPLE = 1.5 7.8 12.3
15.6 -45.6 42.5


开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:在matlab中调用ansys的方法[转] Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 Abaqus培训 Autoform培训 有限元培训 Solidworks培训 UG模具培训 PROE培训 运动仿真 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com