NXNastran超单元指南.docx
《NXNastran超单元指南.docx》由会员分享,可在线阅读,更多相关《NXNastran超单元指南.docx(130页珍藏版)》请在冰豆网上搜索。
NXNastran超单元指南
NXNastran
超单元用户指南
(第9-11章)
NXNastran超单元用户指南
第9章动力分析中的超单元
■动力减缩过程的说明...................................217
■用于超单元的减缩方法.................................158
❑静力凝聚(Guyan减缩)................................158
❑动力减缩.............................................159
❑固定边界动力减缩.....................................163
❑对超单元2的数据恢复演示............................175
❑对超单元1重复同一过程..............................175
❑自由–自由动力减缩.................................176
❑混合边界动力减缩.....................................177
❑在C-和/或R-集中有外部自由度时的CMS..............177
第10章动力减缩的输入和输出
■动力减缩的情况控制...................................196
❑对于动力减缩的情况控制...............................196
■单级动力减缩.........................................199
❑用于主模型数据超单元的单级动力减缩模型数据...........199
❑主模型数据超单元的单级动力减缩的例子.................201
❑文件cantbeam.dat-本例的输入模型...................203
❑文件seg10_a.dat–超单元的静力减缩.................203
❑文件seg10_b1.dat–超单元的固定边界CMS............205
❑文件seg10-c1-超单元的自由–自由CMS.............207
❑文件seg10_d1.dat–混合边界CMS....................209
❑对于使用PARTs的单级动力减缩的模型数据项............211
❑对于使用PARTs的单级动力减缩的例子...................213
❑文件cantp1.dat-对于PART1的模型数据.............214
❑文件cantp2.dat-对于PART2的模型数据.............214
❑文件seg10p_a.dat–使用PARTs的静力减缩...........215
❑文件seg10p_b1.dat-使用PARTs的固定边界CMS.......217
❑文件seg10p_c1.dat-使用PARTs的自由–自由CMS...221
❑文件seg10p_d1.dat-使用PARTs的混合边界CMS.......224
■多级动力减缩.........................................226
❑对于多级动力减缩的模型数据项.........................226
❑对于没有PARTs的模型的多级动力减缩..................227
❑存在PART超单元时的多级动力减缩的模型数据项.........235
❑使用PARTs的多级CMS的例子.........................238
第11章超单元上的动力载荷
■如何定义超单元上的动力载荷...........................242
❑用LOADSET–LSEQ定义超单元上的动力载荷.............242
❑超单元动力载荷的演示例...............................244
附录A
参考资料■参考资料....................................252
索引■NXNastran超单元用户指南.......................253
第9章动力分析超单元介绍
■动力减缩过程介绍
■用于超单元的减缩方法
9.1动力减缩过程介绍
作者注:
本章说明了在动力分析中使用的超单元减缩过程。
如果你只对用户界面感兴趣(或对减缩过程如何工作不感兴趣),你可以跳过这一章,直接看下一章。
有不少用户选项可以控制求解过程和精度。
如前面章节所述,但将超单元用于静力求解时,执行一个静力减缩过程,将物理的超单元模型用具有同样属性的减缩矩阵替换。
在动力分析中,必须对所有超单元进行减缩,但有几个选项可用。
这就是:
超单元的完整静态响应可以用减缩矩阵表示。
对静态情况,固定边界解添加到边界解上(第一章,”介绍和基础”),提供问题的精确解。
不幸的是,动态减缩方法不像静态情况,它是不精确的。
静态减缩过程提供的解可写为方程9-1的形式:
Uo=Uoo+GoaUa(9-1)
在方程9.1中,固定边界解已知是精确的。
在动力减缩时,要达到同样精度(精确的内部运动)需要计算各超单元的所有模态,这通常是不可能的。
但是,可以使用近似的减缩技巧。
在动力减缩中,假定各超单元可以用一系列形状函数的叠加来表示:
Uo=GotUtGoq+Uq(9-2)
其中:
Uo=当前超单元内部点的运动;
Got=静力变换矩阵(见第一章“介绍和基础”);
Goq=动力变换矩阵;
Ut=物理外部自由度运动的解;
Uq=广义外部自由度运动的解(在本章中说明);-比静力凝聚多的部分。
将这一方法与静态分析比较,静力变换矩阵[Got]是相同的;但是,代替固定边界解{Uoo},现在有一个动力变换矩阵[Goq],它必须乘以一组广义坐标的运动以得到超单元内部自由度的解。
有两类方法可用于动态超单元:
静力减缩和动力减缩。
对多数问题动力减缩是更精确的方法,但是动力减缩也需要更多的计算时间和用户的判断力。
9.2用于动力超单元的减缩方法
以下解释了在动力问题中进行矩阵减缩时,在NXNastran中的内部操作。
用户界面在下一章说明。
静力凝聚(Guyan减缩)
超单元动力分析中默认的方法是静力凝聚,即Guyan减缩方法。
在这一方法中,没有动力变换矩阵,只使用静力变换矩阵。
超单元的运动由方程9-3表示:
Uo=GotUt(9-3)
或者,对这种情况,Goa与Got相同。
刚度、质量、阻尼和施加到超单元上的载荷,仅使用静力变换矩阵转换成减缩矩阵。
对质量和刚度,这一过程如方程9-4和9-5。
[Kaa]=[Kaa]+[Koa]T[Goa](9-4)
[Maa]=[Maa]+[Moa]T[Goa]+[Goa]T[Moa]+[Goa]T[Moo][Goa](9-5)
这里假设了:
外部自由度的运动,乘上静力变换矩阵,可以表示超单元的动力解,局部动力影响可以忽略。
这一假设可能对一些情况是有效的(非常刚硬或忽略局部动力影响的情况),但是,静力凝聚通常是不够的。
作者注:
除非使用动力凝聚和超单元的所有模态,否则不能保证结果是正确的。
不幸的是,不存在固定的判断方法能够告诉用户,他所用的减缩方法是否正确。
用户必须自己决定,所选择的方法是否满足所求解的问题。
如果使用静力凝聚,可能只计算很少的系统模态,但较高频率的模态或者局部模态可能会完全丢失或计算不正确。
对大多数情况,对超单元使用动力减缩是安全的。
但是必须确定费用/利益比是否合理。
动力减缩
动力减缩使用附加的形状函数(Goa,在DMAP中)来改善对超单元的近似(克服由于只使用静力减缩造成的近似)。
作为参考,考虑常用的动力分析。
对许多问题,结构的模态形状用于将运动方程转换为模态坐标,从而使求解简化。
如果使用这一方法,并使用所有的结构模态,则这一变换不出现近似问题。
超单元的动力减缩与将结构变换为模态坐标形式。
但是,这一变换同时使用静力和动力形状。
使用超单元时的动力减缩方法是部件模态综合方法(ComponentModalSynthesis)。
与以前一样生成静力变换矩阵。
总是执行这一操作。
在动力学中,除静力变换外,可以进行动力变换。
寻找一系列动力形状函数(Goa,在DMAP中)并用于动态的将超单元特性变换为外部自由度。
作者注:
用于执行动力减缩的形状由用户选择。
最终解的精度取决于使用了多少形状函数和这些形状是如何计算的。
在进行动力减缩时,程序基于用户选择的边界条件计算动态形状。
到这里,必须讨论A-set的子集。
在NXNastran中A-set是包含超单元所有外部自由度的集。
在处理超单元时,首先对G-set产生部件的矩阵,然后对其进行一系列处理,直到只留下附着到A-set自由度的一组减缩矩阵。
如果减缩得合理,减缩矩阵包含代表超单元动力特性的全部信息。
对于动力减缩,A-set分为几个子集。
使用超单元a-set的下列子集:
T–超单元的物理外部自由度;
q–a-set中的广义坐标
作者注:
a-set分成一系列子集。
这些子集确定一个外部自由度在计算超单元的动力形状函数时是否约束。
注意,这对于处理超单元时该点是否约束没有影响。
为了动力减缩的目的,T集划分为三个子集:
B–计算动态变换矢量时约束的物理外部自由度;
C-计算动态变换矢量时不约束的物理外部自由度;
R–参考自由度,动力减缩时与C-set同样处理;
作者注:
将一个外部自由度放在B-或C-或R-集,决定了在计算超单元的动态形状函数时如何处理该自由度。
这些集不施加物理约束到模态上,且不影响这些自由度在下级超单元中的处理。
B-、C-和R-集使用户可以控制动力变换矢量的计算方法。
重要的是,这些集定义了在计算超单元的动力变换矩阵时如何处理外部自由度。
一个自由度放在B-、C-或R-集中并不决定它在下游超单元中如何处理或者在最终求解时是否约束。
默认的,一个超单元的所有物理外部自由度都放在B-集中。
如果用户需要对某个自由度进行不同处理,必须将该自由度放在C-或R-集中(见第10章“动力减缩的输入和输出”)。
由于超单元的运动表示为减缩中使用的矢量的线性组合,这些矢量必须尽可能与在最终解中超单元的变形形状一致。
为说明这一点,考虑一个简单的问题:
一个悬臂梁的振动模态,使用几种不同的方法。
模型见图9-1。
图9-1动力减缩的悬臂梁模型
用如下的SESET卡,将梁分为两个超单元(也可以用零件超单元)。
SESET,1,7,THRU,11
SESET,2,2,THRU,5
分别采用各部件超单元的1、2和3阶模态,可以求得系统的头四阶模态。
分别用几种不同的方法考虑这一问题:
首先将所有外部自由度放到B集中(默认);然后将所有外部自由度放到C集;最后,对超单元2,将点6(对超单元2,它是外部自由度)放到C集中。
这里不列出输入文件,因为尚未讨论输入格式。
但是给出结果:
下表给出了此模型的头四阶自然频率(仅面内弯曲)。
第一组为不使用超单元的结果(正确的有限元解);第二组为只使用静力减缩的结果;第三组为将所有外部自由度放到B集(固定边界)中的结果;第四组为将所有外部自由度放到C集(自由–自由)中的结果;而第五组为将超单元1的所有外部自由度放到B集,而将超单元2的点6放到C集时的结果。
各组边界条件的结果中,第一列为对每个超单元只使用一个模态的结果;第二列为使用2个模态的结果;依此类推。
如上表所示,在计算部件模态时如何处理外部自由度对计算结果的精度有一些影响。
只使用静力减缩与只将模型的节点6定义为A集(没有超单元)是一样的。
令人惊讶的是,对于一阶模态,这一近似给出了合理的结果,而二阶模态有一点合理(偏离正确值在35%之内)。
作者注:
对某些模型,静力减缩可能需要全部模态。
将所有外部点放到B集时,超单元1是在节点6约束(悬臂)的情况下计算部件模态;超单元2是在节点1和6约束(固支-固支)的情况下计算部件模态。
对本模型,这一方法是精确的。
对每个超单元只使用一个模态时,头两个弹性模态误差在1%以内,第三个模态误差在12%以内。
增加部件模态时,结果迅速收敛到正确解。
每个超单元使用三个模态时,四个系统模态的误差都在1%以内。
将所有外部点放到C集时,每个超单元都是在外部点没有约束的情况下,或者(对本模型)自由-自由状态,计算部件模态。
每个超单元只使用一个模态时,第一个系统模态的结果较好(误差在2%以内)。
注意对每个超单元使用一个模态时,只能得到三个系统模态,本章后面将解释这一点。
对本模型,采用自由-自由部件模态综合是困难的。
每个超单元使用三个模态时,二阶模态的误差仅在11%以内。
可见在采用部件模态综合(CMS)方法时,对外部点的处理方法有多大影响。
使用第四种方法时,超单元1的部件模态是在约束节点6(悬臂)的情况下计算的。
超单元2是在约束节点1而不约束节点6(悬臂)的情况下计算的。
在所有方法中,这一方法的结果是最好的。
结论:
推荐对动力学问题中几乎所有使用超单元的模型都采用动力减缩方法。
在动力减缩计算时如何处理外部点对于解的精度是非常重要的。
推荐在计算部件模态时所用的边界条件与在将该部件与其余结构组合时的实际条件尽量一致。
固定边界动力减缩(Fixed-BoundaryDynamicReduction)
在NXNastran中执行超单元的动力变换时的默认方法是固定边界方法,将所有外部节点都放入超单元的B集。
如果采用这一方法,在计算动力变换矢量时所有的外部自由度都被固定。
在部件模态综合时,默认的方法通常为Craig-Bampton(见附录A“References”),它是最常用的方法。
方法说明(知名为Craig-BamptonCMS).
在对超单元施加所有多点约束和物理约束后,部件矩阵减缩为F集。
这一超单元矩阵(F-set)被划分为两个自由度集。
第一个(B-set)代表边界(外部)点;第二个为保留的内部(O-set)自由度。
此时生成一组约束模态。
每一个约束模态代表超单元的一种运动模式,对应一个边界自由度具有单位运动,而其它边界自由度仍然固定的情况。
因此,对每一个边界自由度有一个对应的约束模态(这些矢量在NXNastran中记为GOT)。
写成矩阵形式:
(Pb不是实际施加的)。
由表达式的第一行得到:
{fob}=-[Koo]-1[Kob]{Ibb}(9-7)
相应的约束模态如下:
作者注:
在NXNastran中变换矩阵为Goa。
对每个A集自由度,该矩阵有一列,对每个O集自由度,该矩阵有一行。
该矩阵包含两个子矩阵GOT和GOQ。
GOT为变换矩阵的静态部分,而GOQ为动态变换矩阵。
例如,GOT中与T集(物理外部自由度)有关的列包含静态变换矢量;而GOQ中与Q集(广义外部自由度)有关的列包含动态变换矢量。
现在对固定边界模态求解O集的方程:
-ω2k[Moo]{foo}+[Koo]{foo}=0(9-8)
(可以计算所需数量的固定边界模态)。
然后固定边界模态与约束模态一起构成广义坐标:
这一矩阵上部的项储存在GOT和GOQ中,下部的项不储存。
质量和刚度矩阵前后分别乘以这些模态得到广义质量和刚度:
[Kaa]=[fG]T[Kff][fG]
[Maa]=[fG]T[Mff][fG}
其中F集是O集和Q集的结合。
这些广义矩阵包含代表边界点的物理自由度以及代表固定边界部件模态的模态坐标。
到此,这些矩阵可以像任何其它结构矩阵一样处理,并可以用和使用模态坐标时类似的方法进行部件的数据恢复。
即,广义坐标的位移乘以相应的变换矢量,再叠加到一起,得到部件的物理位移。
在NXNastran中,对每个超单元计算部件模态时都进行质量规范化(不管EIGR或EIGRL卡的设置)。
如果要求程序输出部件模态,这些模态将按EIGR或EIGRL卡要求的规范化方式输出。
固定边界部件模态综合的例子:
如下模型是固定边界部件模态综合的一个例子。
该模型是一个悬臂梁(只考虑轴向变形),分为两个超单元:
弹簧刚度=1;各质量=1。
使用如下主模型数据卡来控制动力减缩。
虽然这些卡要在下一章讨论,为了帮助用户理解NXNastran是如何执行CMS的,在这里先简单讨论一下。
SEQSET1卡指示程序用标量点SPOINTs1001和1002代表超单元1的部件模态,而标量点SPOINT1005代表超单元2的部件模态。
SESET,1,4,5
SESET,2,2
SPOINT,1001,THRU,1010
SEQSET1,1,0,1001,1002
SEQSET1,2,0,1005
频率的理论解见下表
对这一问题采用单级超单元,所有超单元的外部点都是残余结构的内部点。
处理超单元1
超单元1的物理模型如下图,其中点4和5为内部点,点3为外部点。
点4和5上的质量以及连接这些点的弹簧属于超单元1。
质量点3不是超单元1的一部分,因为点3是一个外部点,在分割模型数据时,集中质量被处理为单元。
首先生成G集大小的刚度和质量矩阵。
由于这个超单元是顶端超单元,KJJ和KGG是相同的。
类似的,MJJ和MGG相同。
对这一超单元,G集由点3、4和5组成。
(虽然标量点1001和1002是G集的一部分,但这些点尚未出现)。
节点3是边界点。
求解约束模态:
其中(根据方程9-11和9-12):
矩阵fb说明,如果点3有单位运动,点3、4和5都运动一个单位。
这一情况可以让你了解如何考虑超单元1的物理模态。
没有约束施加到超单元1;因此,当点3作静态运动时,超单元像刚体一样运动。
在考虑动力影响时,它将作为弹性响应处理时的附加形函数。
现在求解固定边界模态:
上列矩阵说明了模态的计算过程和在程序内部使用单位质量规范化。
如果要求程序输出特征向量(情况控制部分DISP=ALL),这些特征向量将按照EIGR和EIGRL卡上要求的规范化方式输出。
到此已经完成了超单元1的变换。
将静态和动态变换结合,得到广义变换矢量组,如何结束对超单元1的处理。
方程(9-14)中的变换矩阵包含3个变换矢量。
在程序内部,将变换矩阵存储为Got和Goq,与外部自由度对应的行不存储。
变换矩阵(如上所示)包含静态变换矢量(u3列)和两个模态变换矢量(u1001和u1002列)。
每一个模态变换矢量与一个Q集自由度(由SEQSET1命名)相关联。
上述变换矩阵的第二列显示:
如果自由度1002移动一个单位,点3不动,而点4移动0.5257个单位、点5移动0.8506个单位。
现在使用变换矩阵将超单元1减缩到外部自由度:
同样的,标量点1001和1002用于表示超单元1的模态。
在这里,我们将对减缩矩阵的一些有趣的情况作一些评论。
首先注意到,对于这个超单元,物理减缩刚度(1行1列的项)为零。
这个超单元是一个特殊情况,这个超单元与其它结构之间的界面是确定的。
对这种情况,减缩刚度为零(如方程9-5所示)。
考虑静态变换矢量。
如果点3移动一个单位,则点4和点5也移动一个单位。
静态变换是一个刚体矢量。
当结果以这种形状运动时,界面间的反作用力为零,表示没有界面刚度。
对静态情况,当界面运动时没有反作用力,但这不意味着该超单元没有与其余结构相连。
还要注意到,在刚度矩阵中,模态和物理自由度之间没有耦合项。
这说明,如果超单元作静态的运动(或承受静态载荷),模态不存在。
(似乎应为:
不会激发固定边界模态形式的运动)。
模态与物理自由度之间的耦合出现在质量矩阵中(静态时不使用),这说明,在动力分析中,如果界面发生运动,将出现动态的模态响应。
处理超单元2:
超单元2的物理模型如下图所示。
这个模型有内部点2及与其相连的质量和弹簧。
此模型还有外部点1和3,同样的,这些外部点上的质量不属于超单元2。
与前面类似,第一步是创建G集大小的矩阵KGG和MGG(KJJ和MJJ分别与KGG和MGG相同,因为这是一个顶端的超单元):
这些矩阵是相对物理自由度1、2和3的。
注解:
标量点1005(对本超单元用SEQSET1定义)也是G集的一部分,但是标量点1005尚未出现。
超单元2有两个外部点(1和3),因此静态变换矩阵包含相关的变换。
本超单元的静态变换矩阵见方程9-17。
本矩阵的第一列表示当自由度1移动一个单位而自由度3约束时,本超单元的静态运动。
第一列表示当自由度3移动一个单位而自由度1约束时,本超单元的静态运动。
现在求解固定边界特征值问题。
如果约束自由度1和3,剩余的自由度是2,具有质量1.0和刚度2.0。
结果如方程9-18。
{foo}={1}u2ω2=2.0;f=0.2251Hz(9-18)
同样,这一模态也是单位质量规范化的。
(对这个模态,如果使用最大单位位移规范化,结果是一样的)。
这个模态也用作动力变换矢量。
这一模态自由度与超单元2的Q集(自由度1005)相关联。
所得到的变换矩阵见方程9-19:
同前,各列上面的符号表示超单元的外部自由度,而每一列的项表示当该外部自由度运动一个单位时超单元的运动。
使用这一变换,得到超单元2的残余矩阵如方程9-20:
处理残余结构
残余结果的物理模型如下图。
只有点1和3(及相关连的质量和约束)以及代表超单元1和2的矩阵被保留。
残余结果也