模型建好了怎么提取刚度阵质量阵,dmap怎么写呢
看到别人说dmap可以做到,那dmap写在什么地方,是bdf里吗,是bdf的什么地方呢怎么写呢,能不能稍微详细的说下呢,谢谢了,急 本帖最后由 wdhd 于 2016-5-11 10:20 编辑仔细研究一下下面的语句吧。
SOL 103
DIAG14 COMPILESEMODES ALTER226 MATGENEQEXIN/INTEXT/9/0/LUSETSDIAG14 COMPILESEMODES ALTER226 MATGENEQEXIN/INTEXT/9/0/LUSETS
MPYAD INTEXT,KGG,/KGGE/1 MPYADKGGE,INTEXT,/KGGEXTMPYADKGGE,INTEXT,/KGGEXT
MATMOD KGGEXT,EQEXIN,,,,/MATPOOL1,/16/1 MPYADINTEXT,MGG,/MGGE/1MPYADINTEXT,MGG,/MGGE/1
MPYAD MGGE,INTEXT,/MGGEXT MATMODMGGEXT,EQEXIN,,,,/MATPOOL2,/16/1MATMODMGGEXT,EQEXIN,,,,/MATPOOL2,/16/1
CEND
METHOD=1
DISP=ALL
BEGIN BULK
GRID,1,,0.,0.,0.,,23456
GRID,2,,0.,0.,0.,,123456
CONM2,1,1,,10.
CELAS2,2,1000.,1,1,2,1
EIGRL,1,,,10
ENDDATA
本帖最后由 wdhd 于 2016-5-11 10:20 编辑
dmap写在bdf文件的executive control section中,
一般用到的是dmap alter,即修改nastran现在已有的求解序列,例如你在sol 101或sol 103过程中想提取质量或刚度阵就需要修改相应的求解序列,而不是自己编写新的求解序列(当然对特定的需要这也是完全可以的)。
写一个dmap alter的基本过程如下:
1.首先在executive control section 中加入 DIAG,8 提交运算,然后检查f04文件,
找到你要提取的或修改的那个矩阵由哪个subDMAP的哪个MODULE输出。
2.同时,可以使用 DIAG,14 把整个SOLution的DMAP程序列写在f06里
或用 COMPILE,subDMAP_NAME,LIST 列写某个subDMAP,比如第1步中你要用到的那个 subDMAP
这一步骤只是让你看到 nastran 现有的 DMAP程序是如何编写的,以便于修改它。
3.在步骤1中找到了要修改的subDMAP和MODULE之后就可以开始写 DMAP ALTER 了
格式如下:
COMPILE subDMAP_name subDMAPname就是上面提到的你要修改的那个sunDMAPALTERi,jsubDMAPname就是上面提到的你要修改的那个sunDMAPALTERi,j 这句用来告诉nastran你下面的DMAP要修改sunDMAP_name的什么地方,通常由第1步骤中提
到的那个MODULE确定到的那个MODULE确定 DMAP 程序
ENDALTER
4. 提交计算,查看结果。
在机器了翻了一下,只找到一个提取超单元约束模态的例子,供参考
NASTRANinputfilecreatedbytheMSCMSC.NastraninputfileNASTRANinputfilecreatedbytheMSCMSC.Nastraninputfile translator ( MSC.Patran 13.1.089 ) on October 21, 2006 at 12:38:42.
DirectTextInputforNastranSystemCellSectionDirectTextInputforNastranSystemCellSection Direct Text Input for File Management Section
NormalModesAnalysis,DatabaseSOL103DIAG8NormalModesAnalysis,DatabaseSOL103DIAG8 Direct Text Input for Executive Control
COMPILE SEKR −−−−−−−−−−−−−−−−−−从这行ALTER106−−−−−−−−−−−−−−−−−−从这行ALTER106 这行的106对不同版本的NASTRAN可能会不同,
现在可以用ALTER′STARTTEXT′,′ENDTEXT′来解决,不过我习惯了用原来的格式MATPRNGOT//现在可以用ALTER′STARTTEXT′,′ENDTEXT′来解决,不过我习惯了用原来的格式MATPRNGOT//
ENDALTER −−−−−−−−−−−−−−−−到这行就是一个完整的DMAPALTER了,很简单的。CENDTITLE=MSC.Nastranjobcreatedon17−Oct−06at20:29:08ECHO=NONE−−−−−−−−−−−−−−−−到这行就是一个完整的DMAPALTER了,很简单的。CENDTITLE=MSC.Nastranjobcreatedon17−Oct−06at20:29:08ECHO=NONEDirect Text Input for Global Case Control Data
SUBCASE 1
Subcasename:DefaultSUBTITLE=DefaultMETHOD=1SPC=2VECTOR(SORT1,REAL)=ALLSPCFORCES(SORT1,REAL)=ALLBEGINBULKPARAMPOST−1PARAMPRTMAXIMYESEIGRL1100Subcasename:DefaultSUBTITLE=DefaultMETHOD=1SPC=2VECTOR(SORT1,REAL)=ALLSPCFORCES(SORT1,REAL)=ALLBEGINBULKPARAMPOST−1PARAMPRTMAXIMYESEIGRL1100Direct Text Input for Bulk Data
seset,1,4,5,6
spoint,1001,thru,1005
seqset1,1,0,1001,thru,1005
ElementsandElementPropertiesforregion:barPBARL11BAR.02.01ElementsandElementPropertiesforregion:barPBARL11BAR.02.01 Pset: "bar" will be imported as: "pbarl.1"
CBAR 1 1 1 2 0. 0. 1.
CBAR 2 1 2 3 0. 0. 1.
CBAR 3 1 3 4 0. 0. 1.
CBAR 4 1 4 5 0. 0. 1.
CBAR 5 1 5 6 0. 0. 1.
ReferencedMaterialRecordsReferencedMaterialRecords Material Record : aluminium_iso_SI
DescriptionofMaterial:Date:26−Jul−94Time:17:54:56MAT117.+10.32700.2.32−5DescriptionofMaterial:Date:26−Jul−94Time:17:54:56MAT117.+10.32700.2.32−5Nodes of the Entire Model
GRID 1 0. 0. 0.
GRID 2 .2 0. 0.
GRID 3 .4 0. 0.
GRID 4 .6 0. 0.
GRID 5 .8 0. 0.
GRID 6 1. 0. 0.
LoadsforLoadCase:DefaultSPCADD21LoadsforLoadCase:DefaultSPCADD21 Displacement Constraints of Load Set : fixed end
SPC1 1 123456 1
$ Referenced Coordinate Frames
ENDDATA 3d0f1156
上面用到的知识的一些细节请自己查手册吧。
我在bdf中加入了PARAM,EXTOUT,DMIGPCH,得到一个pch文件,可是看不懂里面的刚度和质量阵的结果,
它的刚度和质量阵的结果是怎么排列的啊
我的qq是93629184,你能加我吗 我弄了个简单的悬臂梁,分两个单元,那就应该得到的刚度和质量阵都应该是6*6的矩阵,但是pch文件里是这样的,什么意思呢??
DMIG KAAX 0 6 2 0 18
DMIG* KAAX 1 1
* 1 1 4.199999989D+08
DMIG* KAAX 1 2
* 1 2 4.199999856D+06
DMIG* KAAX 1 3
* 1 3 1.679999943D+07
DMIG* KAAX 1 5
* 1 3 2.519999914D+06
* 1 5 5.039999828D+05
DMIG* KAAX 1 6
* 1 2-6.299999784D+05
* 1 6 1.259999957D+05
DMIG* KAAX 2 1
* 1 1-4.199999989D+08
* 2 1 8.399999979D+08
DMIG* KAAX 2 2
* 1 2-4.199999856D+06
* 1 6 6.299999784D+05
* 2 2 8.399999713D+06
DMIG* KAAX 2 3
* 1 3-1.679999943D+07
* 1 5-2.519999914D+06
* 2 3 3.359999885D+07
DMIG* KAAX 2 5
* 1 3 2.519999914D+06
* 1 5 2.519999914D+05
* 2 5 1.007999966D+06
DMIG* KAAX 2 6
* 1 2-6.299999784D+05
* 1 6 6.299999784D+04
* 2 6 2.519999914D+05
DMIG* KAAX 3 1
* 2 1-4.199999989D+08
* 3 1 4.199999989D+08
DMIG* KAAX 3 2
* 2 2-4.199999856D+06
* 2 6 6.299999784D+05
* 3 2 4.199999856D+06
DMIG* KAAX 3 3
* 2 3-1.679999943D+07
* 2 5-2.519999914D+06
* 3 3 1.679999943D+07
DMIG* KAAX 3 5
* 2 3 2.519999914D+06
* 2 5 2.519999914D+05
* 3 3-2.519999914D+06
* 3 5 5.039999828D+05
DMIG* KAAX 3 6
* 2 2-6.299999784D+05
* 2 6 6.299999784D+04
* 3 2 6.299999784D+05
* 3 6 1.259999957D+05
DMIG MAAX 0 6 2 0 18
DMIG* MAAX 1 1
* 1 1 7.559999870D-01
DMIG* MAAX 1 2
* 1 2 7.559999870D-01
DMIG* MAAX 1 3
* 1 3 7.559999870D-01
DMIG* MAAX 2 1
* 2 1 1.511999974D+00
DMIG* MAAX 2 2
* 2 2 1.511999974D+00
DMIG* MAAX 2 3
* 2 3 1.511999974D+00
DMIG* MAAX 3 1
* 3 1 7.559999870D-01
DMIG* MAAX 3 2
* 3 2 7.559999870D-01
DMIG* MAAX 3 3
* 3 3 7.559999870D-01
DMIG VAX 0 9 2 0 1
DMIG* VAX 1 0
* 1 1 1.000000000D+00
* 1 2 1.000000000D+00
* 1 3 1.000000000D+00
* 1 5 1.000000000D+00
* 1 6 1.000000000D+00
* 2 1 1.000000000D+00
* 2 2 1.000000000D+00
* 2 3 1.000000000D+00
* 2 5 1.000000000D+00
* 2 6 1.000000000D+00
* 3 1 1.000000000D+00
* 3 2 1.000000000D+00
* 3 3 1.000000000D+00
* 3 5 1.000000000D+00
* 3 6 1.000000000D+00 如果你用我提供的DMAP,可以在PCH文件里得到类似的DMIG格式的刚度和质量矩阵(NASTRAN2005版)。
NASTRAN中的矩阵有各种形式,由于矩阵的每一行每一列都是代表相应的自由度,不能搞错。DMIG就是将每个自由度相对应的矩阵元素。
请看附件介绍DMIG 我的是nastran2004,怎么办 请将
ALTER 226 改为:
ALTER 'CALL MODEFSRS'(1,-1)
如果再有问题请将$diag 14中的$号去除,计算后,将f06,f04文件发给我 你的附件是一个说明,没有给我程序段,你给我一下好吗??
也可以给我qq发,93629184 哦,我看到了,你是在原来的帖子里,我先试一下
顺便问下g-set集是什么意思,是不是我得到的是没约束时的矩阵 DMIG KGGEXT 0 1 2 0 12
DMIG* KGGEXT 1 1
* 1 1 1.000000000D+03
* 2 1-1.000000000D+03
DMIG* KGGEXT 2 1
* 1 1-1.000000000D+03
* 2 1 1.000000000D+03
DMIG MGGEXT 0 1 2 0 12
DMIG* MGGEXT 1 1
* 1 1 1.000000000D+01
DMIG* MGGEXT 1 2
* 1 2 1.000000000D+01
DMIG* MGGEXT 1 3
* 1 3 1.000000000D+01
只得到上面的信息,不对应该,把diag前的$去掉后,得到一个30多兆的f06文件 请问我5楼写的那个结果是在pch文件中的,是得到的矩阵是什么呢
网上有问说这个就是去除约束减缩后的矩阵,应该就是我要的,可是看不懂怎么排列的 你做的非常正确,结果也是对的。
去掉$后,f06文件中将打印 SOL 103的所有的DMAP程序,所以有30M。
PCH文件里有两个矩阵,一个KGGEXT是总体刚度矩阵,另一个MGGEXT是总体质量矩阵,并不是经过去处约束后的矩阵。
请仔细阅读我文件里的模型,它是两个节点间连一个值为1000的弹簧,一个节点只可以X方向运动,他有一个值为10的质量,另一节点固定。有两个节点,所以矩阵是12X12,NASTREAN中全零的列是不用表示的。请仔细阅读上面附件里对DIMG的介绍,理解他的表达,当然你也可以用其他的方式直接打印矩阵(MATPCH等命令)。
回复 #13 FEM-Fan 的帖子
关于DMIG的附件在哪呢,找不着呀,麻烦再发一次吧,谢谢! 如果我想要去除约束后的刚度矩阵和质量矩阵,应该输出哪个矩阵?
页:
[1]
2