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

[子程序] 【一个菜鸟的小心得】其实UMAT并不可怕 我做到了

[复制链接]
发表于 2011-9-19 05:40:39 | 显示全部楼层 |阅读模式 来自 英国
本帖最后由 juzi0404 于 2011-9-19 05:44 编辑

今天晚上有点特别 因为我的UMAT通过了测试 结果都收敛 心里滋味很复杂 反倒没有了本该有的欣喜 想想自己这些日子要一边上班 一边料理生活 一边要玩 还要挤时间来做UMAT 还在一个完全没有人讨论没有图书馆文献的环境里居然能做出来 有点小小震撼 分享下心得吧
我ABAQUS是从零开始的 UMAT更是零中之零 而且一点编程基础都没有 而我就在这种背景下被导师喊着做UMAT了 我想说

首先 UMAT的核心是本构模型 归根到底是力学的东西 编UMAT决不能一开始就从程序着手而是该从你的模型入手 深入吃透模型 准确无误地完成基本的推导 我编好模型后一直遇到塑性部分不能收敛 结果我查出就是我塑性过程中的一部推导错误 照版主的话说 UMAT通不过 99.99999%的原因是模型本身编得有问题

其次 要有合适的算法 并不是所有的模型都得用隐式的向后欧拉算法 我以前就有过这个误解 分不清显式和隐式的区别 更傻傻地以为Standard只能用隐式算法而Explicit只能用显式算法 幸好得到了版主的指导 我走出误区 选择在Standard中使用了显式算法 因为我的本构方程比较复杂 用显式可以避免求二阶导等推导的复杂过程 最后得到的结果还不错呢 建议看看J.C. Simo和S.W. Sloan两位大师的东西 前者主要研究隐式算法后者研究显式算法 讲得很透彻 对编程很有指导意义

最后 要有无限的耐性和韧劲去调试编好的程序 说到调试 我前面也是傻傻分不清楚 以为在VFS中的调试是一个必然的过程 认为只有这样才能得到.for文件 从而才能到ABAQUS中算 事实上呢 VFS中的调试只是查出你fortran程序中的语法错误 这就避免了在ABAQUS中出现error during compiling 或 during link或error code 144等错误(当然前提是你装好通过了子程序验证),如果你足够厉害 可以直接写出程序直接放到ABA中调试 这样即使出现错误也是一些不收敛等模型本身引起的错误 这样常出现有too many attempt for this increment 或 所需增量比最小增量要小 等错误
对于调试 我建议先在VFS中排除语法语句的错误 然后再一点一点加到.for文件放到ABAQUS中计算 这样能方便得查出是那步那一句导致ABA错误 同事还要多利用write语句 输出你关心的量 这样可以检查你的模型是否按照你设计的意愿在运行 如果结果不对 那可能是你模型编得有问题了

最后的最后 遇到问题不要紧  可以先好好搜索一番 因为你遇到的问题别人之前也可能遇到 也可能提问 更可能被解决 所以你也不用麻烦抹字啦

好啦 这算是我回报仿真论坛的第一帖吧 前面光提问索取了 现在有点小成果来分享下心得 希望对论坛的筒子们有点小启发 也算是个鼓舞吧 UMAT其实并不可怕的 我这个菜鸟都做到了

大家一起交流 共同成长

评分

2

查看全部评分

发表于 2014-11-14 09:09:34 | 显示全部楼层 来自 辽宁大连
Simdroid开发平台
这种帖子写不写有什么用啊!
回复 2 不支持 1

使用道具 举报

发表于 2011-9-19 16:43:23 | 显示全部楼层 来自 德国
UMAT非线性的计算涉及两次隐式和显式的概念,第一个是全局位移刚度方程的求解,ku=f,也就是你说的standard与explicit的区别所在
standard用的是牛顿迭代法求解非线性方程,所以要检查收敛条件,或者说是力平衡条件。而UMAT里面的是局部求解本构方程,这里的
本构方程也是偏微分方程,只要是偏微分方程的数值解法,就有分隐式和显示,而在UMAT里面,ABAQUS只要求你把应力更新好,定义好
材料刚度矩阵,具体你有什么办法,他是不管的,所以你用standard,可以对本构进行显示积分,但是局部本构的显式的积分会造成全局位移刚度方程隐式
积分(standard)的求解困难,就要求步长很小。不知说清楚没有
回复 3 不支持 0

使用道具 举报

发表于 2011-12-4 23:34:48 | 显示全部楼层 来自 大连理工大学北山B区
xiangyiming 发表于 2011-9-19 13:18
“建议看看J.C. Simo和S.W. Sloan两位大师的东西 前者主要研究隐式算法后者研究显式算法 讲得很透彻 对编程 ...

在谷歌上艘他们的论文,simo发表了很多这方面的论文,simo那本书没怎么看,它那本书需要张量知识
回复 0 不支持 1

使用道具 举报

发表于 2011-10-10 20:46:26 | 显示全部楼层 来自 安徽合肥
看到楼主的帖子就仿佛看到了光明,我现在在做晶体塑性这块,从文献上看知道有人用abaqus做过,而且需要用到Fortran编程。无论是abaqus还是Fortran我都是小白一个,只知道大概方向,不知道具体怎么走,楼主,诚心求指教!请加我QQ1277704345
回复 1 不支持 0

使用道具 举报

发表于 2011-9-19 09:28:07 | 显示全部楼层 来自 江苏南京
我以前就有过这个误解 分不清显式和隐式的区别 更傻傻地以为Standard只能用隐式算法而Explicit只能用显式算法 幸好得到了版主的指导 我走出误区。
其实到现在我还认为standard只能算隐式,explicit只能算显示的。因为前者是需要建立应变矩阵,弹性矩阵等等,这个跟时间没关系。后者是通过位移增量,通过时间求导计算加速度,列出动力平衡方程来计算。难道是我的理解错误,请指点,或者请分享“版主的指导”,谢谢。
回复 不支持

使用道具 举报

发表于 2011-9-19 10:07:16 | 显示全部楼层 来自 黑龙江大庆
楼主的经验的确值得借鉴
回复 不支持

使用道具 举报

发表于 2011-9-19 13:18:44 | 显示全部楼层 来自 吉林长春
“建议看看J.C. Simo和S.W. Sloan两位大师的东西 前者主要研究隐式算法后者研究显式算法 讲得很透彻 对编程很有指导意义”,请问楼主,具体应该看看J.C. Simo和S.W. Sloan哪些方面的书籍啊,能介绍一下吗,谢谢啊!
回复 不支持

使用道具 举报

发表于 2011-9-19 15:56:27 | 显示全部楼层 来自 北京工业大学
现在我也认为standard只能算隐式,explicit只能算显示的,烦请楼主分享下“版主的指导”,谢谢。
回复 不支持

使用道具 举报

发表于 2011-9-21 22:20:37 | 显示全部楼层 来自 陕西西安
感谢搂主分享体会。UMAT和vumat的核心是力学的理论,而不是代码的编写。

点评

s版一语中的。  发表于 2012-1-6 16:46

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-9-23 06:26:09 | 显示全部楼层 来自 法国
谢谢分享
回复 不支持

使用道具 举报

发表于 2011-10-10 15:03:06 | 显示全部楼层 来自 河北秦皇岛
fr_zengtao 发表于 2011-9-23 06:26
谢谢分享

你也在做晶体的umat吗  是的话 加下我QQ34768869 我有些问题想请教
回复 不支持

使用道具 举报

发表于 2011-10-10 16:05:55 | 显示全部楼层 来自 吉林长春
我在一篇英文文献里看到用UMAT做材料的精密冲裁 准备学习一下 希望能跟大家多交流交流
回复 不支持

使用道具 举报

发表于 2011-10-10 16:25:53 | 显示全部楼层 来自 清华大学
shawn2008 发表于 2011-9-21 22:20
感谢搂主分享体会。UMAT和vumat的核心是力学的理论,而不是代码的编写。

版主的这句话太有hold的效果了!决定重新好好复习力学基础
回复 不支持

使用道具 举报

发表于 2011-10-10 19:02:30 | 显示全部楼层 来自 河北秦皇岛
楼主的很多东西很受用,这篇文章应该加积分的!
回复 不支持

使用道具 举报

发表于 2011-10-10 19:03:39 | 显示全部楼层 来自 河北秦皇岛
我以前就有过这个误解 分不清显式和隐式的区别 更傻傻地以为Standard只能用隐式算法而Explicit只能用显式算法 幸好得到了版主的指导
我现在还在傻傻的阶段,楼主帮帮忙,让我走出误区!
回复 不支持

使用道具 举报

发表于 2011-10-12 16:17:41 | 显示全部楼层 来自 陕西西安
本帖最后由 shawn2008 于 2011-10-12 20:21 编辑
BigKinfe 发表于 2011-10-10 20:46
看到楼主的帖子就仿佛看到了光明,我现在在做晶体塑性这块,从文献上看知道有人用abaqus做过,而且需要用到 ...

晶体塑性可以先从黄永刚教授的程序和VPSC开始。大家开始的时候都是一点不会,慢慢的不断坚持才走过来的,能有时间诚心教你的恐怕只有你的导师了。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2011-10-13 21:40:24 | 显示全部楼层 来自 云南昆明
本帖最后由 modeling2005 于 2011-10-13 21:44 编辑
msyexplore 发表于 2011-9-19 16:43
UMAT非线性的计算涉及两次隐式和显式的概念,第一个是全局位移刚度方程的求解,ku=f,也就是你说的standard ...

"局部本构的显式的积分会造成全局位移刚度方程隐式积分(standard)的求解困难,就要求步长很小。"
那计算时间应该会变长,不知有没有人试过?

回复 不支持

使用道具 举报

发表于 2011-10-19 22:28:24 | 显示全部楼层 来自 浙江杭州
版主你好,谢谢分享。不知能否把你做的那个例子详细地给我们展示一下啊,这样我们这些菜鸟应该会学的更快。你讲的那些心得我想只有像你这样经历了才有深刻的感受吧。
回复 不支持

使用道具 举报

发表于 2011-11-17 16:26:28 | 显示全部楼层 来自 河北秦皇岛
我正打算弄这方面的内容,一直以来,总是觉着这东西一定很难,总是不下手去弄。这回该实施了
回复 不支持

使用道具 举报

发表于 2012-1-6 16:32:04 | 显示全部楼层 来自 陕西西安
楼主问下,在调用UMAT 出现 ‘too many attempt for this increament’  , 这样的问题怎样解决.....我检查了模型没有问题,那意思是不是我的UMAT有问题?
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 09:52 , Processed in 0.046489 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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