ljshsky 发表于 2012-9-26 11:52

请问HBMAT提取出来的整体刚度矩阵对应的节点编号是什么样的?

我的模型是一个海洋平台,全是用beam188单元建立的,模态分析后,
用HBMAT命令提取了结构整体的刚度阵K和质量阵M,然后在/post1里提取出来了第一阶的振型A1,这个振型A1排列,我是按照模型里节点编号从小到大排列的,即1~6行对应节点1的六个自由度,依次类推。。。,然后我把K,M,A1导入到matlab里,发现:
广义质量、广义刚度为M11=A1'*M*A1=1.0862,K11=A1'*K*A1=1.3364e+05,K11/M11和真实的结构的圆频率平方21.7715差很大;
提取出的振型A1针对质量阵M也不是归一化的振型,当初模态分析是,我是选取的质量归一化处理


我怀疑HBMAT提取出来的质量阵M、刚度阵K的节点顺序可能不是按照节点编号大小从小到大排列的
各位高手有遇到这种情况么,ansys中HBMAT命令是如何排列节点的?有什么相关命令可以提取节点编号信息么?
感谢大家真诚帮忙!

ljshsky 发表于 2012-9-26 20:09

有人懂这方面吗

realyyy 发表于 2012-10-2 10:40

本帖最后由 realyyy 于 2012-10-2 10:48 编辑

提取出来的是稀疏矩阵,所以采用harwell_boeing格式存储。关于harwell_boeing格式的解释,请参见附件或【ANSYS工程结构数值分析】
HBMAT命令法提取整体矩阵
⑴ HBMAT命令
命令:HBMAT,fname,ext,--,form,matrx,rhs
其中:
      Fname---输出矩阵的路径和文件名,缺省为当前工作路径和当前工作文件名。
      ext---输出矩阵文件的扩展名,缺省为.matrix。
      form---定义输出矩阵文件的格式,其值可取:
                =ASCII:ASCII码格式;
                =BIN:二进制格式。
      matrix---定义输出矩阵的类型,其值可取:
                =STIFF:输出刚度矩阵。可用于写入了.FULL文件的任何类型的分析。
                =MASS:输出质量矩阵。可用于特征值屈曲、子结构分析、模态分析。
                =DAMP:输出阻尼矩阵。仅用于有阻尼的模态分析。
      rhs---右边项输出控制(右边项指用矩阵所表示方程的等号右端矢量,这里可为节点荷载向量),如rhs=YES则输出,如rhs=NO则不输出。
      模态分析时,因仅LANB和QR法可生成完整的质量矩阵,因此也仅采用这两种方法时才可使用HBMAT命令得到质量矩阵文件。
⑵ Harwell-Boeing文件格式
      用HBMAT命令可输出结构刚度矩阵、质量矩阵和阻尼矩阵,其文件记录格式为大型稀疏矩阵的标准交换格式,采用索引存储方法仅记录矩阵的非零元素。文件基本格式是前面有4或5行描述数据,其后为单列矩阵元素值,说明如下:
      第1行:格式(A72),为文件头的字符型解释,如刚度矩阵或质量矩阵等标题。
      第2行:格式(5I14),分别表示该文件的总行数(不包括文件头)、矩阵列指针的总行数、矩阵行索引的总行数、矩阵元素数值的总行数、右边项总行数。
      第3行:格式(A3,11X,4I14),分别为矩阵类型、矩阵行数、矩阵列数、矩阵行索引数(对组装后的矩阵,该值等于矩阵行索引数)、单元元素数(对组装后的矩阵此值为0)。
      第4行:格式(2A16,2A20),分别表示列指针格式、行索引格式、系数矩阵数值格式、右边项数值格式。
      第5行:格式(A3,11X,2I14),A3各列分别表示右边项格式、应用高斯起始矢量、应用eXact求解矢量;两个整数分别表示右边项列数、行索引数。三个字符中的第1个字符可取:F---全部存贮(如节点荷载向量的全部元素)、M---与系数矩阵相同方法。
      第6行后:矩阵元素值(单列)。
      矩阵类型用3个字符表示,第1个字符可取:R---实数矩阵、C---复数矩阵、P---仅矩阵结构(无元素数值);第2个字符可取:S---对称矩阵、U---不对称矩阵、H---Hermitian矩阵、Z---病态对称矩阵;R---带状矩阵;第3个字符可取:A---组装的矩阵、E---单元矩阵(未组装)。对称矩阵只存储下三角元素,如结构刚度矩阵为对称矩阵,Harwell-Boeing格式则仅记录下三角元素。
      根据Harwell-Boeing文件格式,可读取矩阵的任意行列元素的数值,也可编程还原为满矩阵存储,以便它用,很显然这种提取方式比较方便。如当生成.FULL文件后,可采用命令/AUX2$FILE,mywork,full$HBMAT,mystiff,txt,ASCII,STIFF,YES$FINISH将二进制mywork.full文件输出为ASCII码文件mystiff.txt,并输出右边项。
摘自【ANSYS工程结构数值分析】
书中还详细讲了刚度矩阵的提取与处理等

zq200401001 发表于 2012-12-1 19:59

我也发现了,对应的顺序乱七八糟,根本就不知道哪些部分代表哪些单元

补充内容 (2012-12-2 21:17):
基本是按照xyz小到大的顺序排列的,我也在做这个,提取出来了,发现你在编写的时候
HBMAT,fname,ext,--,form,matrx,rhs,mapping最后一个mapping文件选择yes(默认是no),这样会得到一个.mapping 的文件,里面有着

starshine 发表于 2014-11-30 16:00

请问这个问题最后解决了吗?

faneggs 发表于 2019-3-31 20:34

zq200401001 发表于 2012-12-1 19:59
**** 作者被禁止或删除 内容自动屏蔽 ****

同学你好,想问你下,HBMAT提取的刚度矩阵和节点编号怎么能对应起来呢?
页: [1]
查看完整版本: 请问HBMAT提取出来的整体刚度矩阵对应的节点编号是什么样的?