在有限元分析中,当我们需要改变模型的多个物理参数反复进行分析求解。在ANSYS环境下重复操作费时费力。因此,可以使用MATLAB和ANSYS联合进行求解。
MATLAB调用ANSYS进行有限元分析步骤如下:
- MATLAB生成数据,并以科学计数法的形式写出到一个txt文件“input.txt”中;
- 编写ansys的APDL程序,在MATLAB环境下调用APDL程序,ANSYS以batch方式运行进行分析求解,并输出想要分析的结果,写出到一个txt文件“output.txt”中;;
- MATLAB调用“output.txt”,进行数据分析。
在上述步骤中,有3个 最最核心的关键:
- 以科学计数法的形式生成数据文件“input.txt”,是为了能够让“input.txt”正确调用到创建的ANSYS数组中,只有数据正确调用到ANSYS中才能准确进行有限元求解。(科学计数法的形式是目前我发现的最方便调用的数据形式)
%% 将matlab中的样本数据以科学计数法的形式导出成txt文件
sample = [2.5e-3, 2.1e11, 1.185e-3, 2.1e11, 3.031e-3, 2.1e11, 5.0e4, 5.0e4 5.0e4];
fid = fopen('truss.txt', 'wt'); % -t模式按照文本而非二进制模式读写
fprintf(fid,[repmat(' %.4e ', 1, size(sample,2)), '\n'], sample'); % 转置并适时(写完一列后)添加换行
fclose(fid);
- 在编写APDL代码时,首先要创建一个数组用于储存输入数据“input.txt”,
! 文件写入
*Create, dataread, mac
*DIM, input, array, 1, 9 ! 创建样本数据存储的数组
*VR

本文介绍如何使用MATLAB调用ANSYS进行有限元分析,通过科学计数法生成数据文件,编写APDL程序进行批量求解,并输出结果进行数据分析。
最低0.47元/天 解锁文章
2291

被折叠的 条评论
为什么被折叠?



