声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1771|回复: 1

[综合讨论] ansys中用Hbmat命令提取刚度、质量矩阵的若干疑惑

[复制链接]
发表于 2013-7-3 15:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
最近一直在学习怎样用HBMAT方法提取刚度、质量矩阵,最后提成功了,但是接下来面临的问题是如何把提出来的刚度矩阵文件转换成满矩阵存储(因为提出来的刚度矩阵是稀疏矩阵),以便我可以在matlab中进行运算。网上有很多相关资料,但是大多都是关于王新敏老师《ansys工程结构数值分析》一书上得例子,我刚刚用这个书上讲到的如何还原满矩阵文件的命令流,但是出现错误,将很多人就只是把相关命令流列出,对命令流的讲解很少,这里真心求高手指点,如何还原为满矩阵文件,谢谢。
FINISH
/CLEAR START
/FILNAME,HBFILE
/PREP7
ET,1,BEAM3
MP,EX,1,2E5
R,1,1E-2,32E-5,0.5
N,1
N,2,0,4
N,3,4,4
N,4,4,0
EN,1,2,3
EN,2,1,2
EN,3,4,3
F,2,FX,5
SFBEAM,1,1,PRES,10,,,,2,-1
SFBEAM,2,1,PRES,3
/SOLU
WRFULL,1
SOLVE
FINISH
/AUX2
FILE,HBFILE,FULL
HBMAT,HBFILE,TXT,,ASCII,STIFF,YES
FINISH


!以下从HBFILE.TXT读入数据,并还原为满矩阵存储
*DIM,CONTLINE,,5                                      
*VREAD,CONTLINE(1),HBFILE,TXT,,,5,,,1
(5F14.0)                     
PTRCRD=CONTLINE(2)                                       
INDCRD=CONTLINE(3)                                       
VALCRD=CONTLINE(4)                                       
RHSCRD=CONTLINE(5)                                       
*VREAD,CONTLINE(1),HBFILE,TXT,,,4,,,2
(A3,11X,4F14.0)                       
NROW=CONTLINE(2)
NCOL=CONTLINE(3)                       
STRLINE=
CONTLINE=                                      
*IF,RHSCRD,EQ,0,THEN                                       
LS0=4
*ELSE
LS0=5
*ENDIF
*DIM,POINTR,,PTRCRD                                       
*DIM,ROWIND,,INDCRD                                       
*DIM,VALUES,,VALCRD                                    
*DIM,RHSVAL,,RHSCRD                                       
*VREAD,POINTR(1),HBFILE,TXT,,,PTRCRD,,,LS0                                       (F14.0)                  
*VREAD,ROWIND(1),HBFILE,TXT,,,INDCRD,,,LS0+PTRCRD                                (F14.0)                     
*VREAD,VALUES(1),HBFILE,TXT,,,VALCRD,,,LS0+PTRCRD+INDCRD                         (D25.15)                                    
*VREAD,RHSVAL(1),HBFILE,TXT,,,RHSCRD,,,LS0+PTRCRD+INDCRD+VALCRD
(D25.15)                                                               
*DIM,SMATR,,NROW,NCOL                                       
*DO,ICOL,1,NCOL                                               
STACOL=POINTR(ICOL)                                       
ENDCOL=POINTR(ICOL+1)                                       
*DO,IROW,STACOL,ENDCOL-1                              
TRUEROW=ROWIND(IROW)                                       
SMATR(TRUEROW,ICOL)=VALUES(IROW)                        
*ENDDO
*ENDDO                                                
*DO,IROW,1,NROW                                               
*DO,ICOL,1,NCOL
SMATR(IROW,ICOL)=SMATR(ICOL,IROW)
*ENDDO
*ENDDO
!以下为删除临时变量和数组变量
POINTR=
ROWIND=
VALUES=
RHSVAL=
ICOL=
IROW=
LS0=
STACOL=
ENDCOL=
TRUEROW=
TOTCRD=
PTRCRD=
INDCRD=
VALCRD=
RHSCRD=

回复
分享到:

使用道具 举报

发表于 2014-5-26 20:44 | 显示全部楼层
遇到同样的问题 请求高手解答
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-3 01:28 , Processed in 0.066748 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表