ABAQUS各向异性超弹性本构UANISOHYPER_INV

这是我第一次实践各向异性超弹性本构子程序UANISOHYPER_INV,中间走了几步弯路,好在最后问题都解决了。把这个过程记录下来,为后人鉴。

 1 超弹性本构

 

刚接触超弹性本构的时候,很不适应。因为我之前研究的本构,都会给出非常明确的应力应变关系。比如最简单的:应力=刚度矩阵×弹性应变。

超弹性本构一般不这么给,给的都是应变能和不变量之间的关系。比如这样:

1.png

ABAQUS各向异性超弹性本构UANISOHYPER_INV的图2对于新的东西,我本能地用原有的知识体系去套。于是开始拼命的去检索相关文献,试图找到超弹性本构应力和应变的关系到底是怎么表达的。

结果呢就是,扑街。大家都在各种秀张量,秀应变能,秀不变量。我一度认为这些人闲着没事,净搞形式。

但是也不是一无所获,文献中的蛛丝马迹都指向了UANISOHYPER_INV子程序。

2 UANISOHYPER_INV子程序

 

UANISOHYPER_INV子程序是干啥的?它就是专门用来定义各向异性超弹性本构的。那么自然的你就会想,是不是还有专门定义各向同性超弹性本构的呢?当然,这个子程序叫UHYPER。

看懂了UANISOHYPER_INV子程序的设定,你就会恍然大悟,原来真的不需要定义应力应变关系,只要知道应变能和不变量的关系就行了啊。

UANISOHYPER_INV子程序的基本结构如下:

2.png

其中主要变量的介绍如下:

3.png

也就是说,在UANISOHYPER_INV子程序中定义出应变能、应变能对不变量的导数即可。

 于是我按照帮助文档的提示,一步步完成了子程序编写。但是在测试的时候,问题接踵而来。

1 无法提交计算

做了一个简单拉伸算例。但是提交计算时候,总是报错:

4.png

报错信息告诉我,可压缩性材料不能用杂交单元。这个确实不能用,但是我好像没有用啊。

赶紧去检查网格属性和材料属性设置吧:

5.png

ABAQUS各向异性超弹性本构UANISOHYPER_INV的图7

6.png

ABAQUS各向异性超弹性本构UANISOHYPER_INV的图9确认过眼神,我没设置错,但是它就是报错。

干脆将错就错,把网格属性改成减缩积分。然后它竟然可以算了。。。。

但是没有能够完全收敛,算了两步就死了。更夸张的是,神奇的现象出现了。

2 拉伸膨胀?

 

我拉伸了一个柱子,结果出来一个纺锤体:

7.png

职业生涯第一次算出拉伸膨胀的效果,上网一搜,确实有些特殊材料拉伸膨胀,但是橡胶这样常规材料是不会的。感觉世界观被刷新了一下。这个时候我开始怀疑,一定是我的本构搞错了,什么本构出来结果,妥妥的本构问题。本构主要就是应变能的定义,以及应变能对不变量的求导。为了找出本构问题,我反复复验推导过程。然而无论怎么复验,依旧拉伸膨胀。

 

3 自带子程序好使不?

我开始怀疑当年学了假的微积分,以致于现在的本构算出一个王八结果。后悔当年数学分析课总是睡觉,老师的山东口音至今回荡耳边。

没办法了,用ABAQUS自带的UANISOHYPER_INV子程序和试试吧,这个总是不会错的吧。

从安装文件夹下面找到子程序和验证模型。一番操作提交了计算。

结果:

8.png

ABAQUS各向异性超弹性本构UANISOHYPER_INV的图12差一点当场砸电脑,还是告诉我可压缩性材料不能用杂交单元。那我继续改成减缩积分单元,将错就错下去。

结果还是膨胀。。。。

当场崩溃,回想昨夜调到12点程序,转眼又搞了一天,我心灰意冷。ABAQUS自带本构和模型,都报错都算不对,这肯定是在针对我。

 

4 软件bug害死人

 

冷静下来之后,我开始想。明明我设置了不可压和杂交单元,但是报错告诉我我是可压,那么到底可压还是不可压?

我决定打开Inp文件看个究竟,这一看不要紧,一看吓一跳。

Inp文件明明白白显示,材料属性可压缩!!也就是说,在软件界面勾选了不可压,但是这是个假象,勾了等于白勾。

激动的心,颤抖的手,我颤颤巍巍把inp文件可压改成不可压,单元改成杂交单元。然后再job里面导入这个inp提交计算。

终于成功了!!

这一切的一切,都是软件bug作祟。

老泪纵横,软件bug害死人。

最后,有仿真相关需求,欢迎通过微信公众号联系我们。

微信公众号:320科技工作室。

(6条)
默认 最新
厉害!
评论 点赞
厉害
评论 点赞

查看更多评论 >

点赞 29 评论 6 收藏 6
关注