gaipan100 发表于 2011-2-24 10:04

回复 28 # Rainyboy 的帖子

找到一个ansys提取刚度矩阵的命令:HBMAT,fname,ext,--,form,matrx,rhs
查看帮助文件,提到fname和ext是可以缺省的,那我可否写命令如下:hbmat,,,--ascii,stiff,yes
这样对么?
然后发现可以用菜单做Utility Menu>File>List>Binary Files,但是有这么一项:file to be read
我就不明白了,也没提到还要读什么文件啊,但是不输还不行,请指教,附图。

Rainyboy 发表于 2011-2-24 10:43

回复 31 # gaipan100 的帖子

在那里填写相应的后缀名为.full的文件即可

gaipan100 发表于 2011-2-24 13:15

回复 32 # Rainyboy 的帖子

根据你的指点,果然,出来了。但是长的好奇怪啊,先是图0这样的,然后就是图1这样的,再然后就是图2这样的,后面的值就都是0了。这应该是ASCII码格式,那我怎么用呢?我有那么多0值对么?

gaipan100 发表于 2011-2-24 13:17

错了,第一张图就是图0,我写成图2了。第三张图是图2我写成图0了

Rainyboy 发表于 2011-2-24 13:39

回复 34 # gaipan100 的帖子

其实就是 Harwell-Boeing 格式的意义问题,帮你检索了一篇帖子,但愿对你有所帮助。

ansys刚度矩阵Harwell-Boeing格式的具体含义讨论
http://okok.org/forum/viewthread.php?tid=184007

gaipan100 发表于 2011-2-24 15:29

回复 35 # Rainyboy 的帖子

这篇帖子我看到了,我再好好看看。
要提取矩阵的最终目的是要求出结构的损耗因子,我现在查看帮助,发现居然能直接求出阻尼比,可是查了那么多资料、论坛都说没法直接求出阻尼比,这是怎么回事?如附图。还请指点。

Rainyboy 发表于 2011-2-24 19:27

回复 36 # gaipan100 的帖子

提取的是模态阻尼比吧,这里所谓的“提取”并不是计算,而是把你设置好的那些阻尼参数折算成模态阻尼比给出来而已。

gaipan100 发表于 2011-2-25 09:37

回复 37 # Rainyboy 的帖子

那就是说没啥意义了,那就只能继续提取矩阵了

wzx13wzx 发表于 2011-2-25 16:26

看的很过瘾,但是有一部分是不明白的,想麻烦BOY总结一下这个帖子,

gaipan100 发表于 2011-2-25 18:03

回复 35 # Rainyboy 的帖子

根据帖子的内容,现在是想将ASCII码文件转换成所谓的“满矩阵”(应该就是那种一看就知道是矩阵的形式吧),根据帖子提示,应该使用下列命令:
*dim,contline,,5
*vread,contline(1),hbfile,txt,,,5,,,1
ptrcrd=contline(2)
indcrd=contline(3)
valcrd=contline(4)
rhscrd=contline(5)
*vread,contline(1),hbfile,txt,,,4,,,2
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
*vread,rowind(1),hbfile,txt,,,indcrd,,,ls0+ptrcrd
*vread,values(1),hbfile,txt,,,valcrd,,,ls0+ptrcrd+indcrd
*vread,rhsval(1),hbfile,txt,,,rhscrd,,,ls0+ptrcrd+indcrd+valcrd
*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
我用input导入,我就纳闷了,好像是说第二个空隙什么的格式语法错误,我看不懂命令,不值前辈有没有什么建议,搞不懂啊~~,麻烦各位了,都不好意思了

gaipan100 发表于 2011-2-26 17:11

找到原因了,格式有误。可是input完之后,日志窗口就停止了,但操作窗口一直一直响应不过来,弄不懂怎么个情况,而且生成的满矩阵上哪去了呢?也么生成新文件啊,源文件也没变化啊,这是怎么回事啊???{:{13}:}

Rainyboy 发表于 2011-2-28 21:19

回复 41 # gaipan100 的帖子

也不是非要用APDL处理矩阵吧……既然矩阵已经写到文件里了,可以用C或者FORTRAN或者MATLAB提取,并且接着处理呗

gaipan100 发表于 2011-2-28 22:43

回复 42 # Rainyboy 的帖子

老兄,那我可就又要请教你了,因为你说的两种方法我也不会,汗(不过metlab早晚也是要用的,套矩阵)

Rainyboy 发表于 2011-3-1 10:03

回复 43 # gaipan100 的帖子

恩,早学会早用嘛,呵呵

gaipan100 发表于 2011-3-1 11:01

回复 44 # Rainyboy 的帖子

说个题外话,模态分析完后
SET   TIME/FREQ    LOAD STEP   SUBSTEPCUMULATIVE
   1187.93             1         1         1
   2188.99             1         2         2
   3217.00             1         3         3
   4219.37             1         4         4
   5303.32             1         5         5
这个TIME/FREQ    是什么?是Hz么?
页: 1 2 [3] 4 5
查看完整版本: 模态分析