如何在HyperMesh中使用ANSYS命令流

如何在HyperMesh中使用ANSYS命令流的图1

HyperMesh是一款优秀的通用前处理软件,与主流的有限元分析软件都有接口,如ANSYS、LS-DYNA、ABAQUS等。鉴于有些有限元分析软件的前处理功能相对较弱,很多的CAEer选择使用HyperMesh与其他有限元求解器进行联合仿真。

如何在HyperMesh中使用ANSYS命令流的图2
笔者也经常使用 HyperMesh做前处理,然后将求解文件 (CDB文件)导入ANSYS进行求解。由于一些原因, HyperMesh不能完整地为ANSYS制作一个CDB文件,有时需要我们在ANSYS中做进一步的处理后再进行计算,这样就降低了工作效率。比如:
问题一: 有时,我们想关掉 ANSYS的单元形状检查(虽然这样做是ANSYS不建议的),就必须在ANSYS中执行< SHPP,OFF,ALL>命令,这样就出现了一个问题:我们每次在ANSYS导入CDB文件之前,都必须先把 单元形状检查关掉,这样一来让本不宽裕的计算时间雪上加霜……

如何在HyperMesh中使用ANSYS命令流的图3

问题二:另外,笔者发现:HyperMesh为ANSYS创建MPC184单元时,只能设置K1(约束或连接单元类型)关键选项。比如:我们想使用MPC184单元建立一个刚性梁,设置完 K1=1 以后,有时还要设置它的K2关键选项(运动约束算法),这个是在HyperMesh中无法进行的,只能设置完K1以后,在ANSYS中再设置K2……

如何在HyperMesh中使用ANSYS命令流的图4

上面提到的2个问题,都可以在ANSYS导入CDB文件后使用命令流解决,但是比较浪费时间。所以笔者就想:可不可以在HyperMesh中输入ANSYS的命令流,导出时包含在CDB文件中,可以直接被ANSYS读取呢?经过不断尝试,还真发现了这个功能。即在求解控制卡片中设置:

如何在HyperMesh中使用ANSYS命令流的图5

01

UNSU_PREP7

UNSU_PREP7:在生成有限元模型之前插入的命令。由于输出的CDB文件自带一条</PREP7>命令(如下图),所以这个命令相当于在前处理中输入的命令。我们在这个卡片中输入ANSYS的命令流以后,这些命令流将被放置在CDB文件的最前端

如何在HyperMesh中使用ANSYS命令流的图6

我们可以用这个控制卡片解决问题一:

由于我们设置停用单元形状检查时,需要在导入CDB文件之前,所以我们可以在卡片UNSU_PREP7中输入命令<SHPP,OFF,ALL>。由于卡片中的命令在前处理中被执行,所以我们不需要使用</PREP7>命令进入前处理。

如何在HyperMesh中使用ANSYS命令流的图7

打开输出的CDB文件,我们发现:使用 UNSU_PREP7卡片输入的命令在 第14行,位于产生节点( 第18行)之前,所以这条命令将先被执行,即在导入单元数据之前就已经关闭了单元形状检查。

如何在HyperMesh中使用ANSYS命令流的图8

将CDB文件导入ANSYS,会收到ANSYS抛出的一个警告,说明ANSYS确实关闭了单元形状检查。

如何在HyperMesh中使用ANSYS命令流的图9
02

UNSU_END
UNSU_END:执行完所有控制卡片 之后插入的命令。我们在这个卡片中输入ANSYS的命令流以后,这些命令流将被放置在 CDB文件的最后端
我们可以利用该卡片来输入一些 求解完成后需要执行的命令。比如计算完成后我们想直接显示计算结果,只需在分析中,插入 UNSU_END卡片,并输入 < /POST1 >和<PLNSOL,U,SUM>,表示 进入后处理并显示整体位移结果 ,然后输出CDB文件。

如何在HyperMesh中使用ANSYS命令流的图10

打开输出的CDB文件,我们发现: 使用 UNSU_END卡片 输入的命令在第183、184行,的确是CDB文件中的最后一条命令。

如何在HyperMesh中使用ANSYS命令流的图11

将CDB文件导入ANSYS,ANSYS求解完成后自动显示了整体位移结果,完成了我们的目标。

如何在HyperMesh中使用ANSYS命令流的图12

03

UNSU_PREP_MID

UNSU_PREP_MID:生成有限元模型之后、载荷步数据定义之前插入的命令。如此,我们就可以利用这张卡片对我们建立的有限元模型进行修改。

我们可以用这个控制卡片解决问题二:

我们在HyperMesh中使用MPC184单元建立了一个刚性梁(K1=1)模型,单元ID为4。为了验证UNSU_PREP_MID输入的命令在载荷步数据定义之前,我们也为该模型定义了1个约束

如何在HyperMesh中使用ANSYS命令流的图13

我们知道,MPC刚性梁单元的运动约束算法缺省为直接消去法(K2=0),当我们想使用拉格朗日乘子法(K2=1)时,没办法在HyperMesh中直接定义定义关键选项K2,所以之前笔者都是先把CDB文件导入ANSYS然后再修改K2。现在我们尝试使用UNSU_PREP_MID卡片对K2进行修改。

我们选择UNSU_PREP_MID卡片,在卡片中输入<KEYOPT,4,2,1>命令(这条命令的意思是将ID为4的单元的K2设置为1),然后输出CDB文件。

如何在HyperMesh中使用ANSYS命令流的图14

打开输出的CDB文件,我们发现:使用UNSU_PREP_MID卡片输入的命令在第59行,位于定义的约束数据(第69行)之前,所以这条命令将先于定义约束命令被执行,即在定义约束之前完成了对刚性梁MPC184单元K2关键选项的修改

如何在HyperMesh中使用ANSYS命令流的图15

在ANSYS中导入CDB文件,打开MPC184单元的设置,我们发现,184单元的K2关键选项确实已经被修改为K2=1(拉格朗日乘子法),完成了我们的目标。

如何在HyperMesh中使用ANSYS命令流的图16

04

UNSU_PREP_END

UNSU_PREP_END:载荷步数据定义之后、执行其他控制卡片命令之前插入的命令。举个栗子:我们有时会在HyperMesh中设置其他的ANSYS控制卡片,如添加加速度的卡片ACEL、执行求解命令的SOLVE卡片等。使用UNSU_PREP_END输入的命令,将在执行这些控制卡片命令之前执行。

为了验证UNSU_PREP_END卡片命令插入的位置,我们为该模型也添加了/SOLU、ACELSOLVE控制卡片。

如何在HyperMesh中使用ANSYS命令流的图17

我们选择UNSU_PREP_END卡片,同样在卡片中输入<KEYOPT,4,2,1>命令(这条命令的意思是将ID为4的单元的K2设置为1),然后输出CDB文件。

如何在HyperMesh中使用ANSYS命令流的图18

打开输出的CDB文件,我们发现:使用UNSU_PREP_END卡片输入的命令在第68行,位于定义的约束(第66行)数据之后、执行其他控制卡片命令(第73、74、75行)之前。所以这条命令将先于其他控制卡片命令被执行,即在执行其他卡片命令之前完成了对刚性梁MPC184单元K2关键选项的修改。同样能帮助我们解决问题二。

如何在HyperMesh中使用ANSYS命令流的图19

在ANSYS中导入CDB文件,打开MPC184单元的设置,我们发现,184单元的K2关键选项确实已经被修改为K2=1(拉格朗日乘子法),完成了我们的目标。

如何在HyperMesh中使用ANSYS命令流的图20


总结


1.UNSU_PREP7:用来输入在生成 有限元模型 之前的命令,所输入的命令位于CDB文件的最前端。
2.UNSU_END: 用来输入CDB文件最后执行的命令,所输入的命令位于CDB文件的最后端。
3.UNSU_PREP_MID: 生成有限元模型之后、载荷步数据定义之前插入的命令。
4.UNSU_PREP_END:载荷步数据定义之后、执行其他控制卡片命令之前插入的命令。

如何在HyperMesh中使用ANSYS命令流的图21

上图为4种卡片在CDB文件中的位置(各种命令的执行顺序)

上述所有操作,在HyperWorksX中仍然适用。

实际上使用者在HyperMesh中的操作,都被HyperMesh转换成ANSYS的命令流,记录在CDB文件中,这也是HyperMesh与ANSYS联合仿真的实质

由于笔者未找到上述4种卡片在官方帮助文件中的解释,上述内容均为笔者自行总结,因此可能会存在一定的错误或偏差,还望各位读者不吝指正。

至此,本文完。
往期精彩内容





ANSYS分析实例系列

01 齿轮动态接触分析

02 冲压成型仿真

03 牛顿摆多体动力学仿真






HyperMesh与ANSYS联合仿真系列

HyperMesh与ANSYS联合仿真(一)






ANSYS与材料力学系列课程

01 绘制轴力和轴力图
02 平面应力和平面应变
03 提取任一截面上的应力
04 胡克定律
05 拉(压)杆的应变能
06 应力集中
07 材料力学知识回顾与WB中刚性梁的探讨
08 绘制扭矩和扭矩图
09 扭转杆的应变能





ANSYS实用功能详解系列

01 Weak Spring-弱弹簧

02 End Releases-端部释放

03 Remote Force-远端力






安装教程及安装包分享

01 ANSYS 2020 R2 安装教程及安装包分享
02 HyperWorks 2020 安装教程及安装包分享
03 ANSYS 2020 R2 安装教程及安装包分享

如何在HyperMesh中使用ANSYS命令流的图22
其余精彩内容请进入公众号阅读
如何在HyperMesh中使用ANSYS命令流的图23
如何在HyperMesh中使用ANSYS命令流的图24
欢迎大家在看转发支持!扫描二维码关注公众号,一起聊聊力学和有限元那点儿事。

(15条)
默认 最新
评论 1 点赞 1
回复
多谢支持!
评论 点赞 1
不错
评论 1 点赞 1
回复
多谢支持!
评论 点赞

查看更多评论 >

点赞 22 评论 28 收藏 15
关注