首页/文章/ 详情

APDLMath箱内矩阵输出,以便ANSYS内部或外部数据交换

3年前浏览2297

APDLMath箱内矩阵输出仅有两个命令,即*EXPORT和*PRINT命令,前者可以生成与外部交换的多种数据格式,后者按ANSYS内部固定格式打印到输出窗口或文件。

1.以指定格式输出矩阵到文件

*EXPORT,Matrix,Format,Fname,Val1,Val2,Val3

其中Matrix为要输出的矩阵或向量名,必须是*DMAT、*SMAT创建的矩阵或*VEC创建的向量。

Format为输出格式,可选择的有MMF—以Matrix Market格式输出(MMF为矩阵市场交换格式;MAT—以本机格式输出,用命令*DMAT或*SMAT重新导入的矩阵;SUB、HBMAT、EMAT、APDL、PS、DMIG等及Val1、Val2、Val3详见下表(图1)。

Fname为文件名,对APDL格式为数组名(不必预先定义)。

image.png

*EXPORT命令不适用于通过*SMAT命令的NOD2BCS选项获取的稀疏矩阵。

MMF格式为ACSII文件,图2a为其文件头部和部分数据。MMF格式较为简单,文件头记录了创建该矩阵的软件、矩阵的m*n、非零元素个数等。稠密矩阵和稀疏矩阵数据组织不同,稠密矩阵为全部矩阵元素,稀疏矩阵为非零元素,均按列组织。

MAT格式为二进制文件,不可查看。HBMAT格式仅支持稀疏矩阵的输出,也可为二进制文件或ACSII文件,如图2b)。APDL则直接转换为APDL数组(按APDL常规数组处理即可)。PS格式可用PhotoShop软件打开,形成栅格化图片。

SUB为创建超单元的一种途径,可以自定义单元行为,当然也可通过APDL的MATRIX50创建超单元,那是另外一种途径。通过SUB格式输出为超单元时,需要定义超单元矩阵的自由度对应关系,即所谓行信息矩阵,详见图1和命令流中的使用方法。

2021R1版本可输出CSV格式。

FINISH$/CLEAR$/FILNAME,EXLX$/PREP7

ET,1,SOLID185$MP,EX,1,2.1E11

MP,PRXY,1,0.3$MP,DENS,1,7800

ALPHAD,5

BLC4,,,4,0.3,0.2$DA,5,ALL

ESIZE,0.1$MSHKEY,1$VMESH,ALL

/SOLU$ANTYPE,MODAL

MODOPT,DAMP,12$MXPAND,12,,,YES$SOLVE

!从FULL文件创建稠密矩阵========

*DMAT,KD_M,D,IMPORT,FULL,EXLX.FULL,STIFF

*DMAT,MD_M,D,IMPORT,FULL,EXLX.FULL,MASS

*DMAT,CD_M,D,IMPORT,FULL,EXLX.FULL,DAMP

*DMAT,RD_M,D,IMPORT,FULL,EXLX.FULL,RHS

!从FULL文件创建稀疏矩阵

*SMAT,KS_M,D,IMPORT,FULL,EXLX.FULL,STIFF

*SMAT,MS_M,D,IMPORT,FULL,EXLX.FULL,MASS

*SMAT,CS_M,D,IMPORT,FULL,EXLX.FULL,DAMP

*SMAT,NOD2_M,D,IMPORT,FULL,EXLX.FULL,NOD2BCS

*SMAT,USR2_M,D,IMPORT,FULL,EXLX.FULL,USR2BCS

*SMAT,RS_M,D,IMPORT,FULL,EXLX.FULL,RHS

!从FULL文件创建荷载向量

*VEC,RV_M,D,IMPORT,FULL,EXLX.FULL,RHS

!输出矩阵演示==========

*EXPORT,KD_M,MMF,KD.MMF

*EXPORT,KS_M,MMF,KS.MMF

*EXPORT,KD_M,MAT,KD.MAT!二进制

*EXPORT,KS_M,MAT,KS.MAT!二进制

*EXPORT,KS_M,HBMAT,KS.HBM,ASCII

*EXPORT,KS_M,PS,KS.PS,COLOR

!创建超单元及其输出

FINISH$/CLEAR$/PREP7

!定义两个节点

N,11$N,12,1

!定义刚度矩阵并赋值

*DMAT,MYK,D,ALLOC,4,4

MYK(1,1)=1.0$MYK(2,2)=1.0

MYK(3,3)=1.0$MYK(4,4)=1.0

MYK(1,3)=-0.5$MYK(3,1)=-0.5

!定义质量矩阵并赋值

*DMAT,MYM,D,ALLOC,4,4

MYM(1,1)=10.0$MYM(2,2)=10.0

MYM(3,3)=10.0$MYM(4,4)=10.0

!定义行信息矩阵

*DMAT,HXX,I,ALLOC,4,2

HXX(1,1)=11,11,12,12!节点号

HXX(1,2)=1,2,1,2!自由度

*PRINT,MYK

*PRINT,MYM

*PRINT,HXX

!输出SUB文件

*EXPORT,MYK,SUB,MYSUB.SUB,STIFF,HXX,WAIT

*EXPORT,MYM,SUB,MYSUB.SUB,MASS,HXX,DONE

!列表显示MYSUB超单元信息

SELIST,MYSUB,3

image.png

2.打印矩阵到文件

*PRINT,Matrix,Fname

其中Matrix为矩阵名或向量名。Fname为文件名,当为空时打印到ANSYS输出窗口。

该命令依据要打印的矩阵类型不同而不同,如稠密矩阵为全部元素的“[行号,列号]:E11.3”数据格式;而稀疏矩阵数据同稠密矩阵,但仅仅输出非零元素。

image.png

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

理论科普代码&命令其他软件Mechanical APDL
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-02-05
最近编辑:3年前
王新敏
硕士 | 教授 好好学习,天天快乐
获赞 122粉丝 611文章 96课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈