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

[断裂与失效] 单元删除的一般方法

[复制链接]
发表于 2008-7-3 20:12:28 | 显示全部楼层 |阅读模式 来自 辽宁沈阳
如果问单元失效模拟首先就应该了解它的功能与目的,所以简单地介绍一下吧。
单元删除功能本身是为了克服有限元本身的缺陷的一项方法,由于有限元本身就是基于连续介质力学的,而在连续介质理学中,所研究的物体需要是连续的,既物质域在空间中连续。在这样的理论假设框架下,单元本身是不会消失的。然而在实际情况下,由于损伤断裂的存在,势必会使得一些单元消失或者完全的失效,所以为了能够模拟这种情况,abaqus提供了单元失效功能。
我所知道的单元失效情况一般可以概括为三种情况
1)单元损伤失效,这种单元失效可以用来模拟材料由于损伤,或其他原因导致刚度减小的情况。
2)单元直接删除技术,这种技术可以用来模拟基坑,隧道开挖而导致的材料消失情况。
3)vumat,这种方法本质上讲与第一种相类似,但是它可以根据用户自己的情况来删除单元,但是属于很高级的操作,难度也较大
当然,cohesive也可以算作一种单元删除的方法,只是本身很少做断裂模拟,对于那方面不是很了解。
在这三种方法中,我想讲一讲前两种情况。
1首先来讲一下第二种方法。
这种方法很简单
他的使用方法就是在edit keyword中加一行关键字
*MODEL CHANGE, TYPE=ELEMENT, REMOVE
Set-1
Set-1为所定义的单元集合,这一集合需要事先定义,而这一关键字的位置一般位于step后,如果用回想要在哪一分析部删除单元,就在哪一分析部后添加。
但是使用这一方法是要注意的是由于这个单元是一下子从模型中删除,所以在standard下可能造成模型总体刚度奇异,导致计算不收敛,所以最好的方法就是能够在单元删除前,事先削减它的刚度,这一做法也很简单,就是利用温度变量作为一个独立的状态变量然后通过状态变量与单元刚度的对应关系,较小弹性模量。

2现在来谈一谈使用第一种方法来删除单元的过程;
这一方法使大家最为关心的,看到了论坛上总是有人问。其实以前的斑竹大人们已经将这一问题说明的很清晰了(比如我的偶像aba-aba斑竹大人)。后来想到原因可能是大家对于这一部分的理论与实际联系不上,所以还是有很多人不太明白。
其实我也是初学,只不过是对这方面比较有兴趣,所以和大家一起探讨一下吧,也算是抛砖引玉。
这种方法首先只能在explicit模块下使用,这一方法本身是为了描述损伤对于材料刚度衰减的影响而提出的,在help手册中,它是与复合材料断裂紧密联系的。
在这个方法中,abaqus设置了一个status(状态变量),通过它来控释单元的删除与否,当这一变量为1的时候,单元保留而为零0的时候单元删除,两者间没有中间量,只能为0或者1.
通过上面的阐述,我们可以了解到这样一个问题,单元的删除是与损伤相联系的,而损伤的机理一般可以概括为两种情况,及拉伸损伤和剪切损伤。我主要是针对于剪切损伤进行单元删除的。所以就在这一位置谈谈自己的感受吧。
要想使用这种方法进行单元删除,就必须定义损伤。所以在property中选择shear damage,这一选项中包括了三个参数,我一般是使用第一个,它的作用是衡量材料在何时开始进入损伤(即damage initial),它所表示的是损伤开始的时候对应的等效塑性应变值。而其他的都设为0,如果所要模拟的情况中包含率依赖,或者是采用Hill plasticity,则可以开启其后的选项和加温度状态变量。而我在计算中由于只是采用金属的mises,所以对于另外的选项不关心。另外需要注意的是shear damage要与plasitic共同使用。
上面的过程中只是定义了材料开始损伤的初始情况,而材料的最终失效是当材料的损伤值达到1的时候发生的。这是就需要用户自己来定义材料的损伤演化了(damage evolution),具体定义材料损伤演化的方式较多,可以在shear damage的suboption中看到,一般的类型包括displacement与energy,就是采用位移控制损伤画着能量控制损伤,我一般选择displacement。
而在下面的一个选项softening则是控制着具体位移(能量)与损伤对应关系。我一般是选linear,用起来比较方便(其他的具体可以参考Abaqus Analysis User's Manual19.2.3),见图1。接下来用户就要输入损伤最大为1的时候对应的塑性位移值了 ,它的表达式为(见图2)

这几个参数的含义分别为塑性位移率,单元特征长度(我理解为单元长度),等效塑性应变率。而损伤率采用(见图3)

来控制。但损伤率之和达到1的时候,单元失效。说白了就是一个单元的塑性应变称与单元长度,大于你规定的数值时单元就失效了。
当然这只是谈到了单元的失效,而具体的单元删除还有一些小技巧。
1)技巧1,由于材料在计算过程中引入了一个状态变量,所以在step下fieldoutput中材料参数选择的时候,选上status。
2)在abaqus6.5中单元删除好像不是默认显示,所以需要在后处理中自行设置。具体设置的方法是在visualization下选择状态变量输出,而后的点击create display group,在弹出的对话框中选择elements 与下面的set value。这时可以看到有一个位置让你输入min value与max value。由于删除但与的状态变量为0,所以在最小之中输入0.1,而最大值大于1就可以了。
另外需要注意的是单元选择不是选错了,有一回我没用explicit下的单元,结果在后处理当中就是没有状态变量。
以上为个人的经验,如果有什么问题也欢迎大家探讨。
附件是本人做的一个小例子的inp很简单,作为参考。
至于利用vumat进行单元删除的我没做过,但是
http://www.simwe.com/forum/thread-409744-1-3.html
这个贴子中是介绍利用vumat做单元删除的,非常经典,大家可以看一看。
如果还有谁对于单元删除感兴趣的可以再论坛中搜索华容道,其中有一个是我的偶像aba-aba版主大人主持的,里面介绍了很多关于单元删除的例子,当年我也是从那学起的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

 楼主| 发表于 2008-10-20 16:30:53 | 显示全部楼层 来自 辽宁沈阳
Simdroid开发平台
是这样的,首先建立材料属性的时候,再材料弹性模量输入的时候,选择上温度场依赖那一项。
以下对应每一组弹性模量与温度值,比如
2e11,3
1e11,2
5e10,1
接着再step里面定义多个分析部,每个分析部都给与要删除部位单元一个温度场值,比如step1时为3,step2时为2,step3时为1(step类型要选择strandard),这样每一步弹性模量就会对应减小,最后删除那部分单元。不知道这样说你是否明白??

评分

1

查看全部评分

回复 1 不支持 0

使用道具 举报

 楼主| 发表于 2008-7-4 14:46:35 | 显示全部楼层 来自 辽宁沈阳

re:7

你说的有道理,但是利用umat无法进行单元删除的主要原因还是与standard与explicit的求解方式本身的区别所决定的。
首先standard是求解整体的刚度矩阵,然后迭代求解的,在求解的过程中,要求整体结构的刚度矩阵不能奇异。但是explicit则没有这一问题。
而单元删除的时候很容易出现总刚奇异的情况,所以基于standard下的umat势必收到这种限制,所以在umat中没有设置自动单元删除功能。
回复 1 不支持 0

使用道具 举报

发表于 2008-7-4 13:52:00 | 显示全部楼层 来自 新加坡
vumat里面可以删除单元, 个人觉得是因为vumat采用了很小的时间步长,所以各个状态变量的更新相对来说是个基本连续的变化. 当定义删除的准则后, 可以准确确定何时删除.

umat里的步长通常较大, 如果象vumat那样可以定义删除单元,那很难准确找到开始删除的时间点.
回复 1 不支持 0

使用道具 举报

 楼主| 发表于 2008-7-4 11:36:10 | 显示全部楼层 来自 辽宁沈阳
element delete 在explicit下是默认的,不选也可以,但是在field output下一定要选上status。
回复 1 不支持 0

使用道具 举报

发表于 2008-7-3 20:22:39 | 显示全部楼层 来自 安徽合肥
两张小图需要重新传一下哦
回复 不支持

使用道具 举报

 楼主| 发表于 2008-7-3 20:28:39 | 显示全部楼层 来自 辽宁沈阳
谢谢大米版主大人的提醒,图片再传一次

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2008-7-3 20:56:23 | 显示全部楼层 来自 江苏南京
umat不能删除比较遗憾     因为umat用的比vumat广泛的多
回复 不支持

使用道具 举报

发表于 2008-7-3 21:13:31 | 显示全部楼层 来自 江苏南京
在mesh模块的Elemental Type里面可以选择是否删除单元。
Elemental deletion选项
这样就省得编写inp了
回复 不支持

使用道具 举报

发表于 2008-7-4 15:19:03 | 显示全部楼层 来自 辽宁沈阳
大虾们讨论,偶就在这搬块砖坐着听了……
回复 不支持

使用道具 举报

发表于 2008-7-4 19:10:30 | 显示全部楼层 来自 江苏苏州
向楼主学习!
回复 不支持

使用道具 举报

发表于 2008-7-5 13:26:51 | 显示全部楼层 来自 江苏南京
敦诚说的很有道理啊   好崇拜
回复 不支持

使用道具 举报

发表于 2008-7-5 17:03:11 | 显示全部楼层 来自 四川成都
搂主!牛!
回复 不支持

使用道具 举报

发表于 2008-7-11 10:32:53 | 显示全部楼层 来自 美国
各位, 我发觉 用 explicit 来销单元,销是能销掉一两个, 但要么算很久很久, 要么不收敛 (我调 damping 和 viscousity 让结果收敛 ),

你们有没有算出过比较合理的结果,

加 Load 时, 应该加什么类型的, 是 instantaneous 的吗?
回复 不支持

使用道具 举报

 楼主| 发表于 2008-7-11 12:26:12 | 显示全部楼层 来自 辽宁沈阳
算的慢是属实。你说:不收敛情况多。个人感觉并不是那样的,记得abaqus的经典习题上的铁块穿击一个方形体的算例,我曾经做过,虽然很慢,但是还是可以算出来的,那个算例中删除的单元是非常多的。
所谓不收敛并不是explicit本身的原因,而绝大部分是操作者定义的参数不合理造成的。其实我每次遇到不收敛的问题都是按照aba-aba老大的常见问题汇总来解决,基本都可以通过。
比如出现warning时,看看到底在msg中有没有写出,并由此判断,这一warning是否对于计算收敛造成影响。
另外就是修改模型,尽量使得warning越来越少。
按照这样的思路作,基本都是可以获得较为理想的结果。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2008-10-18 08:47:45 | 显示全部楼层 来自 辽宁沈阳
师兄大才!

[ 本帖最后由 Maniac 于 2008-10-19 16:16 编辑 ]
回复 不支持

使用道具 举报

发表于 2008-10-19 11:44:21 | 显示全部楼层 来自 北京
敦诚大侠,你是不是也是学岩土的呢?
回复 不支持

使用道具 举报

 楼主| 发表于 2008-10-19 12:50:34 | 显示全部楼层 来自 辽宁沈阳
不是的。是学固体力学的。还有我也不是什么大侠啊
回复 不支持

使用道具 举报

发表于 2008-10-19 13:17:55 | 显示全部楼层 来自 辽宁沈阳
楼主真是太厉害了!佩服。。。
回复 不支持

使用道具 举报

发表于 2008-10-20 11:19:54 | 显示全部楼层 来自 天津
感谢搂住,看到你的帖子我解决了困扰我很长时间切屑无法分离的问题,太感谢了~
回复 不支持

使用道具 举报

发表于 2008-10-20 16:17:16 | 显示全部楼层 来自 LAN
Can you explain detailed steps for "这一做法也很简单,就是利用温度变量作为一个独立的状态变量然后通过状态变量与单元刚度的对应关系,较小弹性模量"?
How to write input file?

TKS.
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 21:37 , Processed in 0.056858 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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