这是一篇2D的ALE算法爆炸案例
无反射边界的爆炸动画
涉及的软件有Hypermesh、Hyperview、Ls-Run、LS-prepost使用的Dyna模板,涉及的主要关键字有:
#ALE算法控制关键字
*CONTROL_ALE
#ALE单元MPP计算分配关键字
*CONTROL_MPP_DECOMPOSITION_DISTRIBUTE_ALE_ELEMENTS
#计算时长
*CONTROL_TERMINATION
#计算步长及质量缩放
*CONTROL_TIMESTEP
#单位设定,非必要项
*CONTROL_UNITS
#后处理数据输出项(场变量)
*DATABASE_BINARY_D3PLOT
#后处理数据输出项(历史变量)
*DATABASE_OPTION(此篇文章未提取相关数据)
#材料相关关键字,炸药
*MAT_HIGH_EXPLOSIVE_BURN
#材料相关关键字,空气、水
*MAT_NULL
#材料相关状态方程,多项式
*EOS_LINEAR_POLYNOMIAL
#材料相关状态方程,JWL爆炸
*EOS_JWL
#属性
*SECTION_ALE2D
#多物质材料组
*ALE_MULTI-MATERIAL_GROUP
#SPC固定约束
*BOUNDARY_SPC_SET
#边界条件,点起爆
*INITIAL_DETONATION
以上就是所涉及的关键字,下面开始进入正题
模型示意:模型为2D轴对称,炸药和空气域进行共节点处理,以Y轴对称,在Hypermesh中完成建模
如果第一次接触Dyna,需要注意的一点就是Comp那边的Card Image需要设置为Part,在其他cae软件中可能没有Part的概念,但Dyna必须设置
材料的属性正常赋予,主要是EOSID那边需要选特定的状态方程,还需要设置沙漏控制,本案例未设置,在提交求解后会出现一个警告,所以正常情况下需要设置沙漏QH的值,具体值需要根据经验或者关键字手册,默认为0.1
用来描述材料在极端条件下(如高应变率、高压等)的压力 - 体积 - 能量之间关系的数学表达式。它主要用于处理材料在冲击、爆炸等动态加载过程中的行为
我按照左侧结构树中的顺序从上至下进行梳理下
红框中的Card是需要自己添加的,其余都是默认自带的,添加方式如图所示
在ALE1的卡片中,需要注意的就是DCT=-1和AFAC=-1,如果这两个值默认的话,提交计算会存在警告,而且计算出来的结果也会存在问题,后面文章会做对比
Termin这个卡片代表的是计算时长,一般只需要设置ENDTIM,本案例设置的为0.0001s,时间比较小,这是由于爆炸是一瞬间的事情,量级一般为us级别
Timestep这个卡片代表的是质量缩放(步长),需要设置TSSFAC和DT2MS,TSSFAC默认为0.9,对于结构分析而言保持默认即可,但对于爆炸相关的模型而言,网上推荐的数据为0.67-0.68,DT2MS就是时间步长,可设置为正或者负值,设置正值即对所有的单元进行质量缩放,如果设置为负值,就是对不满足步长要求的节点进行质量缩放,这样的话就在一定程度上保证了质量增加系数,因此推荐设置负值
提交计算后出现的步长dt就是DT2MS*TSSFAC的乘积,这个对于显式动力学软件来说是通用的
对于Units这个卡片来说,不是必须项,因为Hypermesh本身是无单位制的软件,当然这句话可能不严谨,但是你在设置密度、弹性模量的时候,是啥单位由你自己定,如果是mm ms g,那钢的密度就是0.00785,如果是mm s Tonne,那钢的密度就是7.85e-9,如果是m kg s,那钢的密度就是7850,所以单位这块在设置的时候一定要换算清楚
DBplot是后处理的云图数据输出,这个一般可以设置DT,也就是多少时间步每输出一个云图,这个比较好理解
Decomposition_Ale_Elems这个卡片是在使用MPP求解ALE算法的时候,不设置的话会报警告,所以设置了这个卡片
本例的Card基本上就这些内容,Comp这边也没有什么好说的,那就进行Load Collector,设置的边界条件都在这个里面,在Hypermesh中使用dyna模板时候一定要打开Solver这个Tab页,不然设置的边界条件参数都找不到地方设置,这时候就需要从Model切换到Solver的Tab页下,打开如下图所示
在Dyna里面这个就很清晰,对整个模型可以一览无余
边界条件很简单,一个是点起爆,需要设置起爆点的坐标和起爆时间,另一个就是SPC固定约束,约束6个自由度为0,如下图
下面就是材料,这块就是MAT8和MAT9,前者是爆炸的御用材料,后者是水,空气等物质的御用材料,下图为相关参数,参数也是从网上随便查的,不代表工程数据
接下来就是属性,属性这块也没啥选的,由于是2D的ALE轴对称模型,因此选择ALE_2D的单元属性,然后选择多物质材料11号算法,再选择轴对称算法,如果是3D的实体模型,就需要选择Solid Section,然后单元算法选择11号,单点的ALE算法
接下来就是Set集,建立节点集进行SPC固定约束的添加
建立ALE_MMG的Set集,因为在属性的时候选择的是ALE_2D,就需要建多物质组将所有与ALE相关的comp放入进去
下面就是状态方程,左边是空气的多项式,右边是JWL炸药
以上就是结构树中的设置及相关用法,设置后导出K文件提交LS-Run进行计算,下面是Ls-run的提交界面
求解完成后,使用Hyperview打开D3plot文件,相当于ABAQUS的ODB,可以看到爆炸之后的压力波在空气中的传播状态,并提取一个单元的压力曲线,有经验的网友会看到这个压力曲线是震荡的,不符合常规,这是由于我前面设置的为SPC固定约束,如果设置为无反射的边界条件,那压力波在边界就不会反射回来,也就是单元的压力曲线会在冲击波经过的时候达到压力峰值,然后最终断崖式下降边界反射的压力曲线对比如下图所示
篇幅有点长了,下次接着这篇继续,无反射边界的施加以及不添加ALE控制卡片的对比
来源:CAE中学生