【子程序】Abaqus显式分析梁单元超弹性VUMAT

 

显式分析梁单元超弹性不可用


   
   

有次在做一个张拉整体结构分析时,为对比拉力材料对Tensegrity冲击动态响应的影响,我试了尼龙和橡胶材料,并且对单元类型也进行了不同的尝试-Beam/Truss Element,当试到B31-超弹性本构这个组合时,Abaqus返回了一个ERROR: "Hyperelasticity or hyperfoam is not available with beam elements in Abaqus/Explicit."

Tensegrity分析(Truss):左-尼龙线,右-橡皮筋

这个报错难道是因为橡胶材料的不可压缩性?带着疑惑查了查帮助文档:Abaqus有明确地说明超弹性本构模型可以用于Standard中的梁单元,但没有提Explicit梁单元能不能用,表达算是比较模糊,因为其他本构模型的介绍中,往往对于禁用单元讲的都比较干脆。

 

适用于显式梁单元的超弹性VUAMT


   
 

后来发现,原来达索官方专门为显式分析的梁单元提供了一个超弹性本构模型的VUMAT,其应变能函数是基于第一不变量I1的描述,可以通过用户提供的单轴名义应力-应变数据,计算有限变形框架下的柯西应力,不过目前没有将其正式内置于Abaqus材料模型中,所以很多人都不知道。涉及到的文件一共有4个(这里讨论的是Windows版,Linux版也是4个类似文件)

beam_hyper-xpl.obj

beam_hyper-xplD.obj

explicitU.dll

explicitU-D.dll

文件需要从官方网站下载,这几个文件中,凡是名称以D结尾的,都是双精度运行时调用的,其中:

*.obj格式的文件是包含子程序的目标文件(object-file),它可以通过abaqus make程序对C、C++或Fortran编写的子程序源文件(source-file)编译得到,求解时可以通过user=*.obj进行调用;

*.dll格式的文件是共享库,也是通过abaqus make程序执行source-file编译得到的,共享库文件避免了后续频繁使用子程序时的编译和调用,所以如果一个子程序经常用到,可以把它作为共享库来使用。

Abaqus帮助文档  

下面介绍一下这几个文件的使用方法。

 

文件使用方法


   
   
  • 方法1

    调用子程序目标文件,以双精度为例

  • 直接执行命令:

abaqus job=jobname user=beam_hyper-xplD double
  • 方法2

    利用共享库,以双精度为例

  • 首先将共享库文件随便放入一个文件夹,比如:

E:\SIMULIA\hyperbeamxpl

  • 然后修改环境文件,在abaqus_v6.env的最后加上共享库路径:

usub_lib_dir='E:\SIMULIA\hyperbeamxpl'

  • 执行命令:

abaqus job=jobname double

下面是一个算例验证,对橡皮筋网拉伸将近100%的应变,并与重物相互作用,结果表明B31单元可以与此VUMAT结合使用,另外,后处理也能渲染出橡皮筋拉伸后的径向收缩。

Abaqus显式分析超弹性梁单元B31

后处理梁单元截面渲染

 

材料定义方法


   
   
  • 基本定义

可以直接将超弹性材料测试得到的单轴试验数据(名义应力-应变)复制进入inp文件中*user material关键字下的数据行;也可以在界面下输入,但是要注意补齐空位(每输2个数据,需要间隔6个0再继续输),比较麻烦,建议使用前一种方式直接复制粘贴。

  • *Material, name=artif-silk

  • *Density

  • 1.08E-009

  • *Depvar

  •      4,

  • *User Material, constants=168

  • 0.0                , 0.0

  • 0.085793808102607  , 0.0252809002995491

  • 0.131089001893997  , 0.0558524206280708

  • 0.191963493824005  , 0.102807097136974

  • 0.250014811754227  , 0.149700403213501

  • 0.301807403564453  , 0.20014800131321

  • 0.354409605264664  , 0.248111605644226

  • 0.403482794761658  , 0.295743614435196

  • 0.466339707374573  , 0.358673602342606

  • 0.510005414485931  , 0.4061538875103

  • 0.529258906841278  , 0.4506716132164

  • 0.657301008701324  , 0.545544981956482

  • 0.716655910015106  , 0.605610311031342

  • 0.741274118423462  , 0.649364411830902

  • 0.886087417602539  , 0.747435927391052

  • 0.952696979045868  , 0.802245795726776

  • 1.020856022834780  , 0.855429828166962

  • 1.077298998832700  , 0.89646190404892

  • 1.14995396137238   , 0.947604119777679

  • 1.22431004047394   , 0.998590111732483

  • 1.23263394832611   , 1.02863895893097

  • 附加定义

在显式分析中,若梁单元只有拉、压变形,那么使用基本定义中的数据就足够了;如果梁单元会发生较大的弯曲变形,那么必须在*Beam Section中指定铁木辛柯梁B31单元截面的*Transverse Shear,即需要知道横向剪切刚度,如何得到要输入的数值呢?

首先,将复制显式模型并替换分析步为Standard类型的分析,然后在 *Preprint, model=yes模式下运行datacheck,最后在生成的dat文件中就能找到横向剪切刚度了,可以直接用于显式分析。

近期培训

通知:9月直播培训招生即将结束,欲参加者欢迎点击图片了解更多。

适用于显式梁单元的超弹性VUAMT(Windows版+Linux版一共8个文件)领取(2021年9月8号截止)→在此公众号后台回复关键字:

beam_hyper-xpl

系统将自动发送网盘链接(7日后失效)。

微信扫码分享