干货分享:在NASTRAN中创建和使用外部超单元

0 引子

现在计算机的计算能力大幅提高,可能用到超单元的机会越来越少了,但不代表超单元可以彻底舍弃。如果在实际工作中没有应用到,那只能是因为在工作中还没有需要必须用到的地步。例如整车振动路躁的优化和对标,尤其是针对底盘结构的优化,就需要把整个TB+cavity建成超单元,之前需要花上3h计算的任务可能只需要10min。

1 外部超单元优点

超单元的种类分为3个:List Superelements,PART Superelements和External superelements,前两种应用的较少,大多数使用的还是第三种:外部超单元。其有以下几个优点:

缩减的矩阵可以连接到外部残留结构,并且保持完整结构一样的特性;

外部超单元可以很容易的以很高时间效率被使用,极大的缩短了计算时间;

使用外部超单元,可以把材料、属性和结构等设计信息进行保密;

外部超单元可以做到不恢复数据的情况下对某些关键结果进行评价审核;

外部超单元文件客户很方便的在各个设计组织中传递;

2 如何创建外部超单元

创建外部超单元当然少不了EXTSEOUT关键字:

在计算文件中写入该关键字,即默认把结构的刚度矩阵、质量矩阵、粘性阻尼矩阵、结构阻尼矩阵、静态载荷矩阵和流固耦合矩存储到外部文件中,默认存储的外部文件是MASTER和DBALL格式文件中,当然,你也可以选择把这些信息存储到op2、punch或者op4文件中,存储的文件格式不同,数据恢复也不一样,但大体类似。以下以存储到MASTER和DBALL文件中的为例,简单阐述创建外部超单元的方法。

2.1 首先在NASTRAN控制设置SCR=NO

现在计算机为了计算之后腾出空间,一般设置成SCR=YES,即计算之后把MASTER和DBALL文件删除,但删除了即无从数据恢复了,所以这两个文件必须在计算之后留下来,SCR=NO即可。

2.2 定义输出请求

在CASE CONTROL部分定义:

EXTSEOUT(ASMBULK EXTID=10)

或者

EXTSEOUT(ASMBULK EXTID=10 DMIGDB)

或者

EXTSEOUT(ASMBULK EXTID=10 MATRIXDB)

即超单元编号为10,以MATRIXDB/MATDB and DMIGDB格式存储矩阵信息。

2.3 定义外部点

在BULK DATA部分定义。超单元不是孤立的,残余结构需要同超单元连接,这些连接的节点就是需要定义的外部点,在频响中的一些声腔和振动响应点也可以在这里定义。定义的这部分节点有自由的和约束的分别,具体差别不大。具体需要用的卡片如下:

定义的外部节点为约束的:

ASET/ASET1,BSET/BSET1,BNDFIX/BNDFIX1

定义的外部节点为自由的:

CSET/CSET1,BNDFREE/BNDFREE1

2.4 定义SPOINT存储CMS和残余自由度

还是在BULK DATA部分定义。原则上一阶模态就需要定义一个SPOINTS,但多少阶模态谁有知道呢?所以最简单的方法就是:

PARAM,AUTOQSET,YES

以上,即定义完成,SOL103求解计算即可,计算完成之后的MASTER、DBALL和ASM文件拷贝下来。

3 如何使用外部超单元

计算头文件文件管理部分写入:

ASSIGN SE10M=’xxx.MASTER’

ASSIGN SE10D=’xxx.DBALL’

DBLOCATE DB=(EXTDB)CONVERT(SEID=10),LOGICAL=SE10M

BULK DATA部分写入:

INCLUDE 'XXX.asm'

提交计算即可。

(图片来源:Altair 《基于恶劣工况下的纯电动车碰撞安全仿真与评估》)

觉得不错,请关注我,更多分享,尽在itincae

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180729G0Z61Z00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券