找回密码
 注册
Simdroid-非首页
查看: 114|回复: 15

[子程序] 想请教一下子程序中应变增量的问题

[复制链接]
发表于 2018-6-15 16:54:01 | 显示全部楼层 |阅读模式 来自 中国
abaqus中子程序输入的应变增量是怎么得到的?另外请大佬指教一下abaqus中牛顿拉普森迭代的具体实现方式
先行谢过。。。
发表于 2018-6-17 18:08:48 | 显示全部楼层 来自 荷兰
Simdroid开发平台
应变增量是系统自己提供的。Newton-Raphson method 网上很多文章的,可以参考下面这个链接:
https://wenku.baidu.com/view/637937fd910ef12d2af9e7fa
回复 不支持

使用道具 举报

 楼主| 发表于 2018-6-21 14:41:05 | 显示全部楼层 来自 中国
傲慢与偏见 发表于 2018-6-17 18:08
应变增量是系统自己提供的。Newton-Raphson method 网上很多文章的,可以参考下面这个链接:
https://wenku ...

多谢指教。。。可能是我问的方式不正确,问题还是没解决。
系统随意提供应变增量的话,那和最后求的变形岂不是没有关系了?
另外我们在子程序中更新的雅可比矩阵似乎也没派上什么用
回复 不支持

使用道具 举报

发表于 2018-6-21 23:13:15 | 显示全部楼层 来自 荷兰
风带不走思念 发表于 2018-6-21 14:41
多谢指教。。。可能是我问的方式不正确,问题还是没解决。
系统随意提供应变增量的话,那和最后求的变形 ...

并非随意,楼主赶紧阅读相关书籍,先弄清楚商业有限元的加载方式。什么叫增量,什么叫增量步,什么叫时间增量。
回复 不支持

使用道具 举报

 楼主| 发表于 2018-6-23 12:04:12 | 显示全部楼层 来自 中国
傲慢与偏见 发表于 2018-6-21 23:13
并非随意,楼主赶紧阅读相关书籍,先弄清楚商业有限元的加载方式。什么叫增量,什么叫增量步,什么叫时间 ...

最近就是在看内部是怎么迭代的。。卡在子程序输入应变增量这里了
还没有找到商业有限元介绍书籍,不知前辈有没有可以推荐的?
回复 不支持

使用道具 举报

发表于 2018-6-23 19:08:04 | 显示全部楼层 来自 荷兰
风带不走思念 发表于 2018-6-23 12:04
最近就是在看内部是怎么迭代的。。卡在子程序输入应变增量这里了
还没有找到商业有限元介绍书籍,不知前 ...

基本上每一本商业有限元的书,前几章都会有介绍的。简单讲,就是把总得载荷分成若干份,每一份就是一个增量步,相应地,应变增量也就得到了。此时的应变增量包含了弹性应变增量和非弹性应变增量。两种应变增量的比例,跟材料的本构有关。
回复 不支持

使用道具 举报

 楼主| 发表于 2018-6-23 21:53:42 | 显示全部楼层 来自 中国
傲慢与偏见 发表于 2018-6-23 19:08
基本上每一本商业有限元的书,前几章都会有介绍的。简单讲,就是把总得载荷分成若干份,每一份就是一个增 ...

这个部分我是知道的,我所不知道的是abaqus为什么在子程序中还要根据应变增量计算应力增量,以及这里计算出的应力增量和荷载增量对应的应力增量两者有什么关系
回复 不支持

使用道具 举报

发表于 2018-6-23 23:37:23 | 显示全部楼层 来自 欧洲和中东地区
我不知道你所说的荷载增量对应的应力增量是什么。ABAQUS也不会由载荷增量直接给出应力增量。目前主流的商业软件,都是由载荷计算出应变增量,再由应变增量和材料本构计算出应力增量。如果能够直接在软件界面提供材料本构,是不需要子程序计算应力增量了。子程序的作用就是提供材料本构,并提供更新的应力增量返回给主程序。有限元说白了就是对一组非线性方程的求解,了解了有限元软件对非线性方程组的数值解法,就不会对这个问题有疑问了。
回复 不支持

使用道具 举报

 楼主| 发表于 2018-6-28 10:27:01 | 显示全部楼层 来自 中国
傲慢与偏见 发表于 2018-6-23 23:37
我不知道你所说的荷载增量对应的应力增量是什么。ABAQUS也不会由载荷增量直接给出应力增量。目前主流的商业 ...

是的,本人正在学习相关知识,但是就在这个点上卡住想不通。。。
前辈您说的由荷载(力荷载)计算应变增量的时候不是也需要本构矩阵吗,请问那里使用的本构矩阵是哪里来的呢?
回复 不支持

使用道具 举报

发表于 2018-6-28 14:56:57 | 显示全部楼层 来自 荷兰
风带不走思念 发表于 2018-6-28 10:27
是的,本人正在学习相关知识,但是就在这个点上卡住想不通。。。
前辈您说的由荷载(力荷载)计算应变增 ...

如果外载是位移,应变增量直接由位移计算得到。如果外在是力,则应变增量是基于弹性矩阵得到。事实上为了达到力与位移的平衡,软件会多次调用子程序。有关子程序的调用流程,可以阅读UMAT的详细解释。有关子程序,特别是材料子程序,用到的了很多方面的知识,包括软件本身的调用方法,连续介质力学,数值分析方法等等。你这么问问题,是没办法把问题弄清楚的,最好的做法是自己写一个简单的子程序,通过一步一步解决问题来加深理解。
回复 不支持

使用道具 举报

 楼主| 发表于 2018-6-28 15:22:54 | 显示全部楼层 来自 中国
傲慢与偏见 发表于 2018-6-28 14:56
如果外载是位移,应变增量直接由位移计算得到。如果外在是力,则应变增量是基于弹性矩阵得到。事实上为了 ...

我这就是根据课题组中做的子程序来学的,内部的计算过程都理解清楚了,就是和子程序外部的整体迭代结合有点问题。师兄师姐们的论文里是有相关的迭代法介绍,我也看了其他的资料,但还是认为这里没有不平衡力,不需要迭代。
数值分析中牛顿迭代法是知道非线性公式y=f(x)的,但是材料非线性中,并不知道sigma=f(delta)的公式,无法求出准确应力增量,也就不知道同一应变处真实应力和算出的应力之间的应力差。或者说子程序内外计算的时候都是使用的切线弹塑性矩阵,两者计算结果是统一的,不存在不平衡力。
口齿愚笨,希望前辈多多包涵。。。
回复 不支持

使用道具 举报

发表于 2018-6-28 19:38:33 | 显示全部楼层 来自 荷兰
风带不走思念 发表于 2018-6-28 15:22
我这就是根据课题组中做的子程序来学的,内部的计算过程都理解清楚了,就是和子程序外部的整体迭代结合有 ...

平衡指的是F_internal=F_external. 内部力都没有计算,系统不可能达到平衡的。
回复 不支持

使用道具 举报

 楼主| 发表于 2018-6-28 19:54:43 | 显示全部楼层 来自 中国
傲慢与偏见 发表于 2018-6-28 19:38
平衡指的是F_internal=F_external. 内部力都没有计算,系统不可能达到平衡的。

我们这边的子程序内部是通过增量法根据应变增量计算的应力增量,弹塑性矩阵对应增量步初始应力状态。我的理解是这里算出来的应力增量应该直接和外部荷载增量平衡了,不知道对不对。。。
ps:我们这边的本构是路径相关,所以只能增量法来求
回复 不支持

使用道具 举报

发表于 2018-6-28 21:05:55 | 显示全部楼层 来自 荷兰
基本上理解正确。
回复 不支持

使用道具 举报

 楼主| 发表于 2018-6-29 15:03:06 | 显示全部楼层 来自 中国

嗯嗯,组织语言的时候又多理解了一点。感谢前辈指导!!!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 17:42 , Processed in 0.033615 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表