注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

htbbzzg的博客

与朋友们分享 CAE 资料和经验

 
 
 

日志

 
 

NX Nastran 超单元用户指南 一份翻译资料 (8)  

2011-12-29 07:55:15|  分类: Nastran 超单元 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
现在可以讨论一下主模型数据的基本坐标系。

在使用零件定义一个模型时,每个零件都有一个独立的模型数据段。默认的,NX Nastran 假设所有零件的基本坐标系与主模型数据段的定义一致。因此有一个术语:”主模型数据基本坐标系”。只要整个模型是在主模型数据基本坐标系中定义,一切都是正确的。但是,如果不同的人对不同的部件建模时使用了不同的基本坐标系,会怎么样?如何告诉 NX Nastran 零件 5 的基本坐标系不同于零件 3?

这正是使用 SELOC 卡的目的。如果任何零件的基本坐标系不同于主模型数据段的定义,需要告诉程序如何将该零件连接到模型的其余部分 (即,如果假设该零件的基本坐标系与主模型数据一致,则它的位置将是错误的)。通常,通过平移和转动使零件与模型的其余部分一致 (即改变整个零件的节点坐标) 比较困难的,因此,可以通过 SELOC 卡,使用几个点来定义零件的正确位置和方向。

比如,假设有如下模型,其中零件 100 的位置是错误的。

除非我们通过手工连接,将零件 100 的节点 350 和 360 连接到零件 3 的节点 35 和 36,或使用 SELOC 卡重定位零件 100 到正确的位置,零件 100 的位置是错误的,将不能连接到模型的其余部分。

如果使用手工连接,结果是正确的,但是任何图形看起来都是不正确的,因为零件 100 绘制在其原始位置上,看起来没有与其余部分零件连接。使用 SELOC 卡,可以将零件 100 移动到正确的位置。

                                 NX Nastran 超单元用户指南 一份翻译资料 (8) - htbbzzg - htbbzzg的博客

首先需要零件 100 上的三个不共线的节点,可以选择节点 350, 360 和 980。(任何三个不共线的节点都可以,不过由于已知要将零件 100 的节点 350 和 360 分别连接到零件 3 的节点 35 和 36,将使用这些节点作为 SELOC 卡的两个点)。

在主模型数据段没有与零件 100 的这三个点移动后的正确位置重合的点,因此需要在主模型数据段添加三个点。可以使用 Point 卡来达到这一目的。POINT 卡的格式与 GRID 卡类似,但只有几何 (坐标),而没有 CD、PS 和 SEID 域,因为它只是定义了空间的一个位置,而没有自由度。

具体格式如下:

                           NX Nastran 超单元用户指南 一份翻译资料 (8) - htbbzzg - htbbzzg的博客

  

使用 POINT 的优点是很明显的,因为它没有自由度,自动连接时不会把零件的节点连接到 POINT 上。自动连接只能是节点对节点。

使用 POINT,在主模型数据段定义用于定位零件 100 的三个点,编号分别为 10001, 10002 和 10003。这些点的编号在模型的节点编号范围之外,不会引起混乱。

本例的有关输入数据如下:

    SOL 101             $ 或其他的求解序列号

    CEND

    TITLE = show re-locating a PART

    $

    $ 其余情况控制语句未列出

    $

    BEGIN BULK

    $

    $ 主模型数据段 – 只列出 POINTs 和用于移动零件 100 的 SELOC 卡

    $ 模型未示出

    $

    POINT,10001,,-3.6,6.,0.

    POINT,10002,,-2.8,6.,0.

    POINT,10003,,-1.2,10.,0.

    SELOC,100,350,360,980,10001,10002,10003

    $

    $ 主模型数据段结束

    $

    BEGIN SUPER=100

    $

    $ 零件 100 的输入数据,只列出节点 350, 360 和 970

    $

    GRID,350,,-5.2,8.,0.

    GRID,360,,-4.4,8.,0.

    GRID,980,,-2.8,12.,0.

    $

    BEGIN SUPER=3

    $

    $ 对超单元 3,只列出节点 35, 36 和 98 作为参考

    $

    GRID,35,,-3.6,6.,0.

    GRID,36,,-2.8,6.,0.

    GRID,98,,-1.2,10.,0.

    $

    $ 输入文件其余内容未示出

    $

    ...

    ENDDATA

 

在这一文件中,零件 100 沿 X 方向偏移 -1.6 个单位,沿 Y 方向偏移 2.0 个单位。在主模型数据段中,定义了只有空间位置,没有自由度的点 (POINTs) 10001, 10002 和 10003,它们与零件 100 的节点 350, 360 和 980 的位置相对应。

在使用 SELOC 卡来移动零件 100 到期望的位置时,节点

350 和 360 (在零件 100 上) 将被分别连接到节点 35 和 36 (在零件 3 上),然后求解整个模型。装配结果如下 (未给出全部节点和单元):

                    NX Nastran 超单元用户指南 一份翻译资料 (8) - htbbzzg - htbbzzg的博客
 

    如果零件的重定位涉及到零件的旋转,则如前面提到的,零件的基本坐标系将被旋转。这样,所有的载荷、MPCs 和 SPCs 都会随着零件一起旋转,如果事先没有考虑到这一旋转,可能会产生非预期的结果。有一些载荷卡自动考虑了这一旋转。目前,只有 GRAV 和 RFORCE 卡支持这一功能,通过这些卡上的 MB 域来实现。这两种卡的格式是:

                NX Nastran 超单元用户指南 一份翻译资料 (8) - htbbzzg - htbbzzg的博客

  这两个卡上的 MB 域告诉程序,载荷是否采用零件坐标系来定义,因而会随着零件一起旋转。这是默认值,否则的话,载荷坐标系将与主模型数据中的坐标系定义一致 (MB = -1)。如果载荷采用主模型数据中的坐标系来定义,它将不随着零件旋转,而是保持为在主模型数据中所选择的坐标系。

 

2.2 在主模型数据段定义超单元

超单元定义

正如名字所暗示的,NX Nastran 的主模型数据超单元是在主模型数据段定义,基于用户所提供的各超单元的内部节点列表,将输入数据分割成不同的分段。主模型数据段定义为模型数据段中,BEGIN BULK 与 ENDDATA 或第一个 BEGIN BULK SUPER = 之间包含的信息.

主模型数据超单元使用 GRID 卡的第 9 个域和 / 或使用 SESET 卡提供的内部点列表。

此外,一个超单元可以定义为另一个超单元的拷贝 (映像超单元) 或者使用来自外部的矩阵 (外部超单元)。

这些方法将在以后的版本中讨论。

下面的图例说明了如何使用 GRID 卡或 SESET 卡定义超单元。

                             NX Nastran 超单元用户指南 一份翻译资料 (8) - htbbzzg - htbbzzg的博客

  其中 G1, G2, G3... 是节点或标量点的标识号。

GRID 和 SESET 卡可以用在同一个任务中。如果 GRID 卡的域 9 和 SESET 卡有交叉,以 SESET 居先。例如,如果在同一个输入文件中存在以下模型数据卡:

                             NX Nastran 超单元用户指南 一份翻译资料 (8) - htbbzzg - htbbzzg的博客

则节点 47 将属于残余结构 (SEID=0), 原因是 SESET 卡上定义的节点超单元属性优先于GRID 卡上指定的节点超单元属性。

对于定义一个超单元的 SESET 卡的数目没有限制,在 SESET 卡上使用 THRU选项可以指定一个开放的节点集,即在指定范围内的节点不必全部存在。如果一个 SESET 卡引用了不存在的节点,该卡的这部分内容将被忽略。

在主模型数据中定义的节点不能使用 SESET 或 GRID 卡分配给任何超单元,而是自动属于残余结构 (SEID 0)。如果在输入流中存在 SPOINTs 或 EPOINTs,它们自动属于残余结构,不能作为任何超单元的内部点。

 

内部点和外部点

用户指定为属于一个超单元的节点是该单元的内部点。外部节点由程序根据处理顺序确定。如果一个节点连接到一个超单元,但是是一个下游超单元的内部点 (在其之后处理),则该节点是该上游超单元的外部点。处理顺序可以由用户确定 (见第 7 章 “多级超单元分析”) 或由程序确定。在第 7 章之前,仅限于讨论熟知的单级超单元树,其中所有超单元的外部点都是残余结构的内部点。

 

模型数据的分割

主模型数据段的分割基于用户的输入 (在内部是采用表格进行,也可以使用模型数据使之可视化)。当程序找到 SESET 卡或 GRID 卡的第 9 个域时,就对数据进行分割。根据用户的输入,对每一个超单元创建一个单独的数据块。

对主模型数据分块的过程说明如下:首先定义模型的处理顺序。在处理顺序确定后,按照同一个顺序定义每一个超单元的模型数据。使用 SESET 和 GRID 卡分配给超单元的所有节点 (内部点) 被从主模型数据中移到一个独立的超单元区域。下一步是移动所有与超单元内部节点相关的单元。完成这些处理后,对所有外部点 (那些不是内部点,但与超单元中的单元相连接的节点) 进行拷贝。模型数据中,用来定义任何内部点和内部单元上的载荷的卡片也被移动到超单元数据块中。主模型数据中只用于一个超单元,与其他超单元无关的所有信息也被移动。对通用的数据进行拷贝 – 例如,属性卡和 GRAV 卡。通用信息不移动,而是进行拷贝,从而可以用于其他超单元。

在完成主模型数据分割后,使用每个超单元的独立数据对其进行处理。如果有与多个超单元相关的卡片需要处理 (例如,带有 THRU 选项的 PLOAD4 卡,其单元范围可能属于几个超单元),程序可能会给出一个 fatal 信息。为了避免这一点,应该将个超单元的数据处理成互相独立的,从而减少出错的机会。

 

节点的分割

内部节点有用户指定。外部节点通常由程序根据单元的节点属性确定。连接到超单元内部任何单元上的任何节点,如果不是该超单元的内部节点,就认为是该超单元的外部节点。

除了程序确定的外部节点外,用户也可以使用 CSUPEXT 定义额外的外部节点:

                        NX Nastran 超单元用户指南 一份翻译资料 (8) - htbbzzg - htbbzzg的博客

这个卡用于指定不能用超单元内部单元的连接来定义的外部节点。例如:在 CBAR、CBEAM卡上的参考节点、PARAM,GRDPNT、载荷卡上的参考节点,以及仅在 MPC 卡上定义的点,等。

对于标量 (SPOINT) 点和额外 (EPOINT) 点有一些特殊的规则。根据定义,在主模型数据中,标量点和额外点总是作为残余结构的内部点。它们不能是任何其他超单元的内部点。标量点可以是任何超单元的外部点,它们通常在动力分析中用来表示部件的模态。额外点不能是任何超单元的外部点,事实上,引用额外点的任何卡片都只能引用残余结构中的点和单元。

    原作者注:在主模型数据中,SPOINTs 和 EPOINTs 总是作为残余结构的内部点。

关于 SPOINTs 和 EPOINTs 的更多信息在动力分析部分提供。

 

单元的分割

对主模型数据段中单元的分割是由程序自动完成的。只与超单元内部节点相连的单元被分配给该超单元。与多于一个超单元相连的单元称为分支单元 (branch element)。分支单元分配给与其连接的最上游的超单元 (按照处理顺序)。边界单元 (boundary element) 是只与一个超单元的外部节点相连接的单元。边界单元自动分配给下游的超单元,但是可以使用 SEELT 数据卡将其分配给上游超单元:

                   NX Nastran 超单元用户指南 一份翻译资料 (8) - htbbzzg - htbbzzg的博客          

 这两种格式都可以使用。同样,SSELT 卡可以出现在任何超单元中。

 集中质量单元 (CONMi)  分配给包含其附着节点的超单元。

  评论这张
 
阅读(1046)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017