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

[子程序] umat子程序计算实体单元的U形件拉深,内存需求越来越大,直到磁盘空间不足而停止

[复制链接]
发表于 2016-11-25 21:08:32 | 显示全部楼层 |阅读模式 来自 上海
使用Y-U本构的umat子程序计算实体单元的U形件拉深时,内存需求越来越大,物理内存(采用服务器是128G内存)不够就用虚拟内存,直到磁盘空间不足而停止计算,(计算采用4个cpu,一个gpu加速,cpu利用率不到20%,服务器是20cpu,128G内存)。

已经对下面两个方面进行了测试:
1)Y-U本构模型的umat子程序通过了单个单元验证,简单拉伸式样验证,均正确。
2)同样的U形件拉深过程,也是利用standard静力隐式模块,采用ABAQUS自带的材料模型(用的Hill48屈服模型,各向同性硬化模型)则计算很顺利,内存使用率很稳定(采用4个CPU,1个GPU,消耗内存最多也就10G左右)。
3)考虑到U形件网格可能比较多(39600个C3D8R单元),还有拉延筋,可能模型相对复杂。对简单杯形件(四分之一模型,无拉延筋,凸凹模和压边圈都是解析刚体)拉深过程进行仿真,采用的还是C3D8R单元,板料单元数量也就4000左右,但还是由于内存需求越来越大,拉深不到一半的时候就由于磁盘空间不够而终止计算了。

根据前面的信息我猜测:可能是在计算过程中子程序的变量占用内存没有释放,逐渐累积,变得越来越多。但是子程序中的变量,应该都是临时变量,调用时占用内存,调用结束后就释放了,尽管我的umat子程序变量稍微有一点多,但几十个变量和数组也很正常。所以我就不明白了,到底是什么原因,非要换explicit显式模块来求解,就算换显式模块来求解,我也想知道这是什么原因?有大牛遇到过这种问题吗?

我看到有一个帖子:“使用VUMAT计算时,内存需求越来越大,但是也没人解答,[url=http://forum.simwe.com/forum.php?mod=viewthread&tid=912222&highlight=%E5%AD%90%E7%A8%8B%E5%BA%8F%2B%E5%86%85%E5%AD%98]使用子程序计算,内存需求越来越大(已解决)/这篇帖子遇到同样的问题,但没详说是怎么解决的?
希望知道原因的大神来解答,遇到同样问题的大神来一起讨论,到底怎么解决这个问题?是从子程序的编程,算法,还是从仿真模型建立方面给些意见?
 楼主| 发表于 2016-11-26 12:48:27 | 显示全部楼层 来自 上海
Simdroid开发平台
没人顶吗,我自己又尝试了Chaboche模型材料子程序的UMAT,同样随着计算进行,内存消耗越来越大,我在想是不是abaqus静力隐式模块采用子程序计算时都会有这个问题,只是简单模型所需内存没有达到计算机(服务器)的物理内存上限,复杂模型(复杂接触、单元数量大)就容易达到物理内存上限。小弟愚昧,求解答?
回复 不支持

使用道具 举报

 楼主| 发表于 2016-11-26 21:27:17 | 显示全部楼层 来自 上海
再顶一贴。
把umat改成vumat后用explicit显式模块来计算,还有同样的问题。内存消耗比隐式还快,很快内存就不够了,应该是子程序的问题,子程序算法是通过验证了的没有问题,可能是变量的定义和传递的问题,但是我是按照ababqus手册中给出的子程序模板的写法来写的,难道变量多了需要用module来封装变量吗?还有umat或者vumat中还调用了几个其他子程序,不知道这会不会有影响?
我就非常疑惑,要是花了很大精力开发的子程序只能算一些非常简单的小模型,那开发子程序的意义就不大了吧?
回复 不支持

使用道具 举报

 楼主| 发表于 2017-1-3 12:30:56 | 显示全部楼层 来自 上海
换了Abaqus6.10-1就不存在这个问题,内存消耗很小且非常稳定,为什么6.14-4会存在上述问题?没搞明白,有知道是什么原因的吗?
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 13:12 , Processed in 0.035428 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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