显式分析梁单元超弹性不可用
有次在做一个张拉整体结构分析时,为对比拉力材料对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帮助文档
下面介绍一下这几个文件的使用方法。
文件使用方法
abaqus job=jobname user=beam_hyper-xplD double
E:\SIMULIA\hyperbeamxpl
usub_lib_dir='E:\SIMULIA\hyperbeamxpl'
abaqus job=jobname double
下面是一个算例验证,对橡皮筋网拉伸将近100%的应变,并与重物相互作用,结果表明B31单元可以与此VUMAT结合使用,另外,后处理也能渲染出橡皮筋拉伸后的径向收缩。
Abaqus显式分析超弹性梁单元B31
后处理梁单元截面渲染
材料定义方法
可以直接将超弹性材料测试得到的单轴试验数据(名义应力-应变)复制进入inp文件中*user material关键字下的数据行;也可以在界面下输入,但是要注意补齐空位(每输2个数据,需要间隔6个0再继续输),比较麻烦,建议使用前一种方式直接复制粘贴。
在显式分析中,若梁单元只有拉、压变形,那么使用基本定义中的数据就足够了;如果梁单元会发生较大的弯曲变形,那么必须在*Beam Section中指定铁木辛柯梁B31单元截面的*Transverse Shear,即需要知道横向剪切刚度,如何得到要输入的数值呢?
首先,将复制显式模型并替换分析步为Standard类型的分析,然后在 *Preprint, model=yes模式下运行datacheck,最后在生成的dat文件中就能找到横向剪切刚度了,可以直接用于显式分析。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删