首页/文章/ 详情

APDLMath箱扩展了APDL功能,大大增强了矩阵运算能力

3年前浏览3104

ANSYS的APDL因能为整个求解流程编写脚本(程序)并实施控制而具有了些许魔力,特别能吸引人。

在高版中(大约是V1x,未去核实),ANSYS对APDL进行了扩展,增加了一组“APDL Math”命令(从方便表述角度,不妨称之为APDLMath箱,有黑箱之意,简称MAPDL也不错),MAPDL为处理大型矩阵和向量的数学工具包,能进行标准的线性代数运算。

利用MAPDL可访问和处理求解过程中所涉及的大型矩阵,如访问.FULL、.EMAT、.MODE、.SUB 等文件中的数据,将其读入、处理并写回,或者直接进行求解等;当然可以利用MAPDL编写自己的高级算法等,进而求解线性系统和特征值问题。

MAPDL大大增强了APDL数组操作命令(如*VOPER和*MOPER),宜将APDLMath看作“一个箱”,一个独立于APDL的数学工具箱,当然APDL数组(表示的向量或矩阵)可以转入APDLMath箱中操作,也可以从APDLMath箱中转出到APDL中。

MAPDL命令与功能如表1所示。

使用MAPDL通常有四个步骤:

(1)可利用的数据源

A.APDL生成的数组(如*DIM、*SET等)。APDL中的数组描述“普通矩阵或向量”,与APDLMath箱内矩阵和向量不同,因此本文中的“数组”多指APDL中的数组或矩阵或向量,而“矩阵和向量”多指APDLMath箱内矩阵和向量。

B.求解过程生成的数组,如.FULL、.EMAT、.MODE、.SUB等文件。

C.使用Harwell-Boeing格式或Matrix Market格式的外部资源等。

(2)将数组导入APDLMath箱,成为箱内矩阵或向量

使用命令*DMAT、*SMAT、*VEC等将矩阵数据导入APDLMath箱。不入箱不能利用MAPDL相关运算;入箱后的矩阵也只能使用MAPDL相关命令运算(赋值除外);箱内矩阵无法直接查询数值,要查询也只能先转为APDL数组。

(3)箱内矩阵或向量操作

使用命令*MULT和*AXPY生成新的矩阵。

使用APDL表达式直接修改矩阵元素,如“B(2,4)=5.8”。

当然还可转为数组,利用APDL标准操作修改数组,再入箱进行矩阵操作,过程为:

a)通过“*EXPORT,,APDL”导出矩阵转为数组,准备修改;

b)使用APDL命令*SET、*MOPER、*VFUN、*DO等修改或处理数组;

c)再次将修改后的数组导入APDLMath箱,通过*DMAT(或*VEC导入)。

(4)使用矩阵

数组再导入APDLMath箱后,这些矩阵可以求解或导出以供外部程序使用。如:

A.通过*EXPORT,,SUB导出,在APDL中作为超单元使用。

B.在APDLMath箱中,可以:

△与*LSEBGINE一起确定求解器;

△通过*LSFACTOR缩放矩阵;

△通过LLSOLVE求解未知数;

△通过命令*ITENGINE使用PCG算法找到摄动矩阵(如参数分析或灵敏度分析等)。

C.以某种格式导出矩阵到文件,以供交换。

APDLMath箱中或许有金矿,不妨在居家抗疫这段时间里,挖挖看看,或许会有所帮助。

声明:原创文章,欢迎留言与我讨论,如需转载留言

求解技术理论科普代码&命令Mechanical APDL
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-01-16
最近编辑:3年前
王新敏
硕士 | 教授 好好学习,天天快乐
获赞 122粉丝 615文章 96课程 0
点赞
收藏
未登录
1条评论
思远
签名征集中
3年前
楼主您好,我想请问如何用MAPDL求解ANSYS导出的矩阵特征值问题呢? 我想计算用超单元法减缩后的质量刚度矩阵的特征值和特征向量,请问MAPDL可以操作吗?
回复 1条回复
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈