请教如何提取单元的刚度矩阵
MALTER 'MALTER:USERDMAP'GP1 GEOM1,GEOM2,,,/GPL,EQEXIN,GPDT,CSTM,BGPDT,SIL,/S,N,LUSET/0/0 $
GP2 GEOM2,EQEXIN,EPT,,/ECT, $
PLTSET PCDB,BGPDT,ECT/PLTX,PLTPAR,GPSET,ELSET/S,N,NSLLS/S,N,JPLOT $
COND P1S,JPLOT $
LABEL P1S $
GP3 GEOM3,bgpdt,GEOM2,,,,,/SLT,ETT/0/0/0 $
TA1, ,ECT,EPT,BGPDT,SIL,ETT,CSTM,,,/EST,,GEI,GPECT,,/LUSET/-1/0/1/0/0 $
EMG EST,CSTM,MPT,DIT,GEOM2,,,,,,BGPDT,,,,/
KELM,KDICT,MELM,MDICT,BELM,BDICT/
S,N,NOKGG $
$
$ KELM为所需要的单元刚度矩阵
EMA GPECT,KDICT,KELM,BGPDT,SIL,CSTM,,/KGG,/ $
$
$ 组集单元刚度矩阵
$
$ KGG为总刚度矩阵
EMA GPECT,MDICT,MELM,BGPDT,SIL,CSTM,,/MGG,/-1/V,Y,WTMASS $
$
$ MGG为总质量矩阵
matprn kelm// $ print element stifiness matricies (打印单元刚度矩阵)
matprn kgg// $ print global stifiness matrix (打印总刚度矩阵)
matprn mgg// $ print global mass matrix (打印总质量矩阵)
ENDALTER
LINK USERDMAP
在网上搜到了这种提取单元刚度矩阵的方法,在f06文件中的确得到了单元的刚度矩阵kelm。但是只有一个kelm。也不知道具体是哪个子单元的刚度矩阵。
请问大家,如果控制命令输出所有子单元的单元刚度矩阵?? 在学习中 能给点具体的不? 对于楼主提出的问题在EMG中缺少一个参数导致生成的单元刚度矩阵不完整
你抄的函数是
EMG EST,CSTM,MPT,DIT,GEOM2,,,,,,BGPDT,,,,/
KELM,KDICT,MELM,MDICT,BELM,BDICT/
S,N,NOKGG $
较为完整的应该是
EMG EST,CSTM,MPT,DIT,,,,,DEQATN,DEQIND,BGPDT,,
ECT,EPT,,,,,,,,,,,,,,,,,,/
KELM,KDICT,MELM,MDICT,BELM,BDICT,,,,,/ S,N,NOKGG/S,N,NOMGG/S,N,NOBGG/S,N,NOK4GG//
//////////////////////S,N,MGE $
当然了其中有些参数需要别的模块获得,所以你得到的单元刚度矩阵不完整
2楼说的具体是什么意思有问题才能具体
对于楼主提出的问题在EMG中缺少一个参数导致生成的单元刚度矩阵不完整
你抄的函数是
EMG EST,CSTM,MPT,DIT,GEOM2,,,,,,BGPDT,,,,/
KELM,KDICT,MELM,MDICT,BELM,BDICT/
S,N,NOKGG $
较为完整的应该是
EMG EST,CSTM,MPT,DIT,,,,,DEQATN,DEQIND,BGPDT,,
ECT,EPT,,,,,,,,,,,,,,,,,,/
KELM,KDICT,MELM,MDICT,BELM,BDICT,,,,,/ S,N,NOKGG/S,N,NOMGG/S,N,NOBGG/S,N,NOK4GG//
//////////////////////S,N,MGE $
当然了其中有些参数需要别的模块获得,所以你得到的单元刚度矩阵不完整
2楼说的具体是什么意思有问题才能具体
回复 4 # wbrto 的帖子
你好,我也是用上面的代码输出的单元矩阵,我输出的是杆单元的,但是矩阵式78*5的,不知道为什么?谢谢
页:
[1]