matlab调用ansys
- 文件下载:
-
- 文件介绍:
- 该文件为 doc 格式,下载需要 0 积分
- matlab调用ansys
很多人都关心在matlab里如何调用ansys计算,我也曾经困惑过一段时间,到各个论坛去找资料,问大家,但是没有一个非常明确的答案。有很多在c语言和forthan中调用ansys的资料,但是对matlab没有什么可借鉴性
经过很多次的实践总结,我把我的经验贴出来,希望能够对大家有所帮助
matlab中
save('E:ansysoptzstrydam.txt','dd','-ascii')
!D:Ansysv90ANSYSbinintelansys90 -b -p ane3fl -i ... E:ansysoptzstryyh2.mac -o E:ansysoptzstryyh.out
load('-ascii','E:ansysoptzstryzx.txt')
第一行是matlab中数据dd保存为ansys可读的形式
第二行是调用ansys计算(一共三个路径,第一个是ansys程序的,第二三个分别为输入输出文件的路径)
第三行是matlab调用ansys的结果
ansys中
读matlab数据的命令流
*dim, xx,, 15,1
*VREAD,xx,E:ansysoptzstrydam,txt,,ijk,15
(15f16.6)
写数据的命令流
finish
/post1
!将模态分析结果写入txt文件
*mwrite,zx,E:ansysoptzstryzx,txt,,ijk,16
(16f16.6)
*vread和*mwrite的具体解释看看帮助吧
还有一个问题是ansys必须是命令流形式,最好保存为mac格式,这样可以直接运行
1。当matlab调用的时候,可以采用!的方式和system函数两种方式。注意第一个ansys80这个可执行文件目录中不能有空格,否则matlab不能识别。即可以采用如下的调用方式:
system('D:ANSYSv80ANSYSbinintelansys80 -b -p ane3fl -i C:sibian.dat -o C:vm5.out')
2。这部分是关于batch的使用的,应尽量避免目录中的空格,减小不必要的麻烦。下边的batch模式是正确的。
"D:ANSYSv80ANSYSbinintelansys80" -b -p ane3fl -i C:sibian.dat -o C:vm1.out
我的经验是输入文件和输出文件的目录不能太长,且最好不带空格。刚刚开始的时候我的输入文件的目录是C:Documents and SettingsAdministratorsibian.dat,结果batch不能执...