欢迎阅读水哥原创文章,历年原创文章请点击:
更多水哥原创课程,请点击:
APDL除了强大的参数化功能外,其实还有一部分能力容易被人忽略,那就是其强大的矩阵运算能力,这一点在有限元商业软件中可谓是一骑绝尘,同时利用矩阵对象,用户还可以访问并修改ANSYS内部数据文件,如质量矩阵、刚度矩阵、结果文件等,这对于想做高级二次开发的用户来讲必不可少。本文就梳理下常见的矩阵运算函数,方便大家查阅和引用。
注意,这里的矩阵与我们平时常见的数组、变量等概念等不同,它们是不同的对象,也即如果用户需要访问矩阵,需要将矩阵转为数组对象,同理,如果用户需要对数据进行矩阵运算,需要提前将其转为矩阵对象。
最简单的分辨:大家耳熟能详的数组,定义后不可进行相互之间的运算,但是矩阵对象却可进行相乘、相加等操作。
举例:
现在以一个矩阵运算A*X=B为例,已知A和X,求矩阵B,并利用matlab来进行复核计算。
1、首先定义一个5*10的矩阵A和维度为10的向量X
finish
/clear
/prep7
*DMAT,A,d,Alloc,5,10
*VEC,X,d,Alloc,10
*Do,i,1,5
*DO,j,1,10
A(i,j)=i+j*2
X(j)=j
*enddo
*enddo
2、利用*MULT进行矩阵运算
*MULT,A,,X,,B
3、结果查看
!首先将矩阵对象转为数组对象
*export,B,APDL,B_array
点击ANSYS菜单栏Parameters->Array Parameters。找到B_array即可。
4、Matlab计算复核,代码如下:
clear
clc
A=zeros(5,10);
X=zeros(10,1);
for i=1:5
for j=1:10
A(i,j)=i+j*2;
X(j)=j;
end
end
B=A*X;
通过上述操作,用户可轻松实现在APDL中的矩阵运算,而不必借助于外部第三方软件,增加操作效率。
下面本文就列举常见的一些APDL矩阵运算函数,方便大家根据帮助来进行索引查询,不同的版本可能有局部差异,函数也在完善中,本文是以2024版本为例。
一、矩阵定义相关
1、*DMAT:创建稠密矩阵
2、*SMAT:创建稀疏矩阵
3、*VEC:创建向量
4、*FREE:删除所有矩阵,释放内存
二、矩阵操作命令
1、*AXPY: 矩阵加减,M2=v*M1 + w*M2
2、*COMP: 矩阵压缩
3、*DOT:向量点乘
5、*FFT: 傅里叶变换
6、*HPROD:哈达玛矢量积
7、*INIT:矩阵向量初始化
8、*INQUIRE:检索现有矩阵属性
8、*KRON:计算两个矩阵/向量的Kronecker积
9、*MERGE:合并矩阵或者向量
10、*MULT:矩阵乘积,M3 = M1(T1)*M2(T2).
11、*NRM: 计算矩阵或者向量的范数
12、*REMOVE:矩阵裁剪
13、*RENAME:矩阵重命名
14、*SCAL:矩阵的缩放
15、*SORT:矩阵元素排序
16、*XPL: 读取APDL内部文件
三、求解命令
1、*EIGEN:模态求解
2、*ITENGINE:迭代求解
3、*LSBAC: 求解
4、*LSENGINE:创建线性求解器
5、*LSFACTOR:矩阵分解
四、矩阵的输出
1、*PRINT:矩阵打印输出
2、*EXPORT:导出矩阵数据
如果觉得这个实用,欢迎转载,分享!
更多水哥原创课程,请点击:
更多有限元学习资源,请访问水哥博客:FSCAE.COM
祝好
ANSYS结构院
2024.09.03