Abaqus 使用中的一些经验 - 图文

发布时间 : 星期二 文章Abaqus 使用中的一些经验 - 图文更新完毕开始阅读

论坛汇总第一部分

另外还需要考虑的一点是,无应力状态法对计算参数变化是否敏感,即系统的鲁棒性如何。这一点至关重要,至今未见有文献论述。

看了上面的贴子,大开眼界.问题是这几种算法如何用程序实现.用ansys的生死单元可实现否? ADINA应该可以,你们也可以去ASCE的网站去查查,有需要的文章告诉我,我帮大家弄来. 二十七、〖讨论〗abaqus中断裂参量的计算 1、畸变网格怎么划分?

我目前采用的是icem划分网格的方法,在abaqus cae中如何实现不知道,直接修改inp文件肯定可以,但是inp文件修改真的是觉得比较麻烦。2、断裂参量如果计算? KI和J怎么计算?cae中有办法实现? Blast:你怎么弄的?

首先你必须有abaqus65

在65版前,abaqus的CAE不支持断裂特性计算装好后在的定义接触、连接的那部分模块可以定义裂纹前缘、或者体内部的隐含裂纹进入后,直接在菜单里面可以找到crack子菜单,定义奇异单元、隐含裂纹都在那里 这样mesh完后,会得到奇异单元,但是要注意,裂尖要用三角形或三棱柱的单元,这样系统才会智能的给你产生所需奇异单元定义好裂纹轮廓后进入step设定那里直接定义历史的输出,可以找到定义J\\K\\T\\G的选项。这样定义后就行了注意塑性材料不能定义K什么的,弹性材料不能定义J 二十八、〖讨论〗关于空隙介质的地应力平衡问题

在STANDARD手册中,提到考虑水时的地应力平衡时,土的密度为DRY density,干密度可是不同于浮容重换算得到的“浮密度”呀!不知道大家怎么理解?另外,定义渗透性时,需要定义水的specific weight,是比重还是水的容重/不太明白,敬请指点!

总应力当然是由干密度和水的重量来平衡(主要用来考虑非饱和区的平衡),这样描述比较方便.specific weight是水的容重,密度乘以重力加速度.

specific weight是水的比重,当用kg时,值为10。无论计算地下水位上、下时,采用gravity加重力荷载时,密度为干密度,由于考虑initial condition=pore pressure,程序算得gestatic步中应力皆为有效应力。具体可参见手册

迷糊了,究竟哪一位大哥说得正确?关于specofic weight!比重是指物质的重量与同体积的纯水在4℃时的重量之比。液体比重是指相同体积的液体重量与水的重量之 比,那究竟是1还是10?另外,我们一般在土工分析中,计算有效应力,可都是采用浮容重呀,没有听说用干容重

建议你看一下帮助文档,给你提个醒,abaqus中采用拉应力为正的规定在多孔介质分析中仍然适用.如果再不明白随便找个土力学.肯定能搞明白其中一些基本概念.明白了再做,不误事. 二十九〖讨论〗接触面应力异常的原因是什么

我在计算接触的时候发现,接触面上总是出现应力异常的情况,比如某个单元的应力很大,和周围单元的应力值不连续,出现断层,而实际上是不会这样的.如图所示.请问大侠这是什么原因造成的?如何避免这种情况? 问题已解决.该面(从面)网格加密后,求解的结果就比较满意了.

此主题相关图片如下:

- 29 -

论坛汇总第一部分

三十、〖讨论〗如果处理构造地应力场

如果地应力场是自重应力场+构造应力场,应如何处理?

是否可以将材料的强度放大(目的是在施加重力和边界应力条件时不发生塑性变形),使用geostatic求解,然后将节点应力读出,作为ini应力条件再导回原模型。这种方法的关键是确定好K0和构造应力边界条件。

三十一、〖讨论〗如何实现应力驱动的本构关系?

由于现有的有限元程序一般均基于位移法(或混合法),导致整体非线性方程组的一般均针对位移求解(或包括位移变量),于是单元层次的应力-应变关系一般都是应变驱动的,这也是UMAT@ABAQUS或其他自定义本构关系接口一般均是给出应变和应变增量,而要求在接口中更新应力的原因所在。实际上,材料的本构行为往往与荷载相关,如材料的各向异性往往由荷载历史决定,即本构关系ε=C(σ):σ中的柔度矩阵C是当前应力σ的函数,这就导致一个问题:如何实现此类应力驱动的本构关系,尤其是涉及到应变软化段?迭代法可能是一个办法,但总应变ε中除了包括弹性应变、塑性应变外,往往还包括微裂缝引起的损伤应变,如何区分开来似乎还存在一定问题。 自编程序虽然可以在单元层次实现一些简单的问题,但应用到结构的非线性分析似乎还 是会存在问题,因为基于位移法的有限元不是提供应力增量来求解应变的。望各位就此问题提出自己的意见,谢谢!!

我觉得可以结合uel呀, 就是杂交元或者混合元等等,变量是应力,是不是可以实现UMAT◎ABAQUS接口传递应力增量,而不是应变增量?

就像经典塑性力学的屈服函数是应力的函数,但可以通过returning-mapping算法来转化为应变驱动算法一样,看来可能还得从算法上来找解决办法。在清华BBS上看到有人讨论--全局积分与局部积分/隐式积分与显式积分,还有人说陈惠发的m叠代就是显式积分(在朱伯芳的书上也讲了),但那个好像不是本构积分把,而是过渡单元的处理,请斑竹能不吝赐教!另,三维的本构可以用在平面应变以及轴对称问题吗?(平面应力肯定不行)就是我的NDI,NSHR尽管可能由主程序传过来,但是我的计算应力更新时全部照着6×6来写? SMTH上不了,不知道那个m叠代是个什么咚咚?

是Chen 1994年那本书第二卷上的 “塑性状态的确定”一

- 30 -

论坛汇总第一部分

节么?如果是,感觉那个什么比例因子r的求解好像还是要用迭代法来搞定阿? 我的理解是,首先你要知道分析的问题NDI,NSHR和NTENS的值,然后根据相应的值来编写UMAT,所以很多例子中都有一句判断: IF (NDI.NE.3) THEN WRITE(6,1)

1 FORMAT(//,30X,'***ERROR - THIS UMAT MAY ONLY BE USED FOR ', 1 'ELEMENTS WITH THREE DIRECT STRESS COMPONENTS') ENDIF

如果能统一,应该就可以去掉判断了,这取决于你的本构模型和相应的算法.

第一个问题就是1994的那本《塑性与建模》的“加载状态的确定》,照斑竹这么说那个r的确定是隐式本构积分算法了?那么大牛Tedbelyscle的那本非线性有限元书上的算法也是隐式算法?而且他的算法就是应力驱动算法?

第二个问题,不知道版主的本构是三维的,还是二维的?

ABAQUS对于平面应变和轴对称的处理,好像不是一般有限元书上讲的,对于平面应变,ABAQUS 还是按照3个正应力1个剪应力来做的,当然轴对称是4个应力分量(不过z方向变成了2方向,而不是三维问题中的3方向),个人认为对于轴对称不需作特殊处理,只需记住2方向的不同即可;但是平面应变问题,按照ABAQUS ,3方向是z方向,在这个方向上应变始终为0,那么在umat中怎么应力更新,得到非0的应力?在一般有限元书上,E,V都要作一下转换的(对于平面应变),在ABAQUS 中应该不用吧,就拿线弹性本构来讲!欢迎指教! 斑竹说得那个判断,应该是去掉了平面应力问题!对于她,ABAQUS中才是2个正应力1个剪应力,不知道对否?在STANDARD 4.2 OUTPUT VARIABLE中竟然有这样一段 SPn

Minimum, intermediate, and maximum principal stresses (SP1

又仔细的看了看r的求解,觉得似乎应该是显式算法,因为r的方程并不含有任何n+1步的未知量,尽管是非线性方程得用迭代法求解。而隐式算法则是方程中含有任何n+1步的未知量,比如强加的塑性一致性条件f(σn+1,kn+1)=0.应变驱动的意思是已知应变增量Δε,更新n+1步的应力σ;而应力驱动的意思则是是已知应变增量Δσ,更新n+1步的应变ε.

我只做过平面应力和三维情况下的,没作过轴对称和平面应变情况. 平面应力下NDI=2, NSHR=1, NTENS=3.

平面应变下NDI=3, NSHR=1, NTENS=4. σz不是独立的,可以通过σz=v(σx+σy)来确定(不敢肯定)

我知道的elasoplastic本构都是ε=Dσ,D(σ)是刚度矩阵。当然,你可以倒过来写成σ=Cε。不明白你说的什么应力驱动,应变驱动是什么意思。至于应变软化,实现的方法很多,关键是如何确定是软化还是卸载。 终于明白隐式算法的精要了,多谢斑竹! BTW:斑竹,在调试子程序时,有没有方便的方法?通过往。DAT写入一些变量,总觉得不方便?好像以前看到过,你与CAFE斑竹的讨论,但是着不找了!对于应变软化,确实容易与卸载相混合,实现应力驱动应该是不错方法,是不是还有其他好的方法?欢迎大家讨论

这个问题有点意思。我还真不懂什么叫“应力驱动的本构关系”。本来,对于一个函数而言,把那个作为自变量,那个作为应变量,好像是人为的。但实际情况恐怕要复杂得多。一般而言,材料的应力--应变关系不是一个简单函数,通常是分段函数,如果用应变作为自变量会带来很多方便,如理想的弹塑性材料,在屈服前是:应力=弹性系数*应变,屈服后:应力=常数。这种关系显然不能用应力来作为自变量。再拿具有应变软化的问题来分析,我不明白为什么就不能用应变作为自变量呢?假定一个简单的具有应变软化的材料本构关系可以分为二段函数:屈服前,应力随应变的增加而增加,屈服后,应力随应变的增加而减少。如果用应力作为自变量,就会带来一个问题,对应某个应力值,会有两个应变值(屈服前和屈服后),这对求解问题很不方便。而用应变做为自变量就很方便,因为对应屈服应力点有一个唯一的屈服应变值,用这个屈服应变值来判断材料是否屈服不是很方便吗? 另外,我对“本构关系ε=C(σ):σ中的柔度矩阵C是当前应力σ的函数”的说法也不敢苟同,C不管是刚度矩阵还是柔度矩阵,它都应该是材料常数,它与应力的关系只是分段关系,也就是在不同的应力范围

- 31 -

论坛汇总第一部分

内取不同的常数(如屈服前和屈服后)。如果不是常数,那能用有限元来搞定吗?如上所述,对于这种本构关系,用应变作为自变量仍然是很方便的。对于一个复杂的本构关析,如果用应力作为自变量,那么,对应某个应力值,会有多个应变量,很不方便。以上只是我的一点随想,我的那点力学知识可能早就落伍了,还望牛人们不吝赐教。

Ron老哥,对于一般的非线性而言(如混凝土材料),柔度矩阵当然不会是常数,而所谓的分段线性显然只是其中的一种。你说的没错,采用应力作为自变量的本构关系的确存在着是否单值问题,但没有办法的时候,可以通过判断应变的取值范围来判断该取哪个值。更为麻烦的是,有时候似乎只能应力驱动,即已知已知应变增量Δσ而更新n+1步的应变ε,比如,一个弹性体中的裂缝引起的位移增加量εcr就是只能根据当前的应力来获取,即εcr=Ccr:σ中的Ccr是σ的函数,于是:ε=εe+εcr=(C0+Ccr):σ=C(σ):σ C(σ)也会是σ的函数。所以会比较麻烦

,如果能有办法转化为应变驱动就好了。

三十二、原创〗关于在Abaqus6.41中显示混凝土裂缝 [精华]

以前只用ansys,听说adina算混凝土比较准,决定改学adina,刚搜集了一些资料,又听说Abaqus更好,就把adina先放一边。装上6.41,熬了三个通宵看完了Getting started(不错不错,help比ansys的有水准多了),做了两个例子,用的是smear crack model,发现死活找不到显示裂缝的选项(这个后处理有点偷工减料)。问了很多人都说不行。看到剑桥那个faq上说可以用patran作后处理,立马当了一个。

1、装abaqus,大概1G。照crack目录中的说明即可。(patran、abaqus和ansys的license都用flexlm管理,安装软件时眼花装错了license改错了都没关系,不需要卸载,更不需要格硬盘下即可)。 添加msc.exe的路径。设好环境变量,重启,即可用。 3、在abaqus的inp文件比如rc.inp中要加上 *EL FILE CRACK,

即为往rc.fil文件中写crack数据。 Abaqus command——>\。

4、启动patran(巨慢,每次打开对话框点ok之后要死15秒,是不是没装对?) (菜单)file——>new,\。工具栏出来了。

(菜单)preference——>analysis,(看右边),\选\。

(工具栏)analysis,(看右边),\选\,\选\,\:\选\,\result file...\,\。模型倒进来了。

(工具栏)result,(可以看到两个框框,在上面那个框选中某个子步,下面那个框选中\orientation,??_component\,\。可看到裂缝云图。

是不是我遗漏了什么?其实有更简单的方法?听说有个叫hyperview的也能用于Abaqus后处理?我是新兵,请高手指教!

我也用Concrete smeared model计算混凝土开裂问题,知道abaqus不能显示裂缝。前处理的欠缺是abqus的最大缺陷。请问pjwseu老师,我现在也在做有关混凝土的非线性分析,用的是smear crack model。但每次计算时都中途退出,列出的原因是:负特征值太多,plasiticity/creep的算法不收敛。我不知道怎么样改,还请介绍一下在property模块中smear crack model的对话框中的混凝土的材料特性的填写要注意些什么?还有单元的选择以及初始荷载步的设置等。谢谢了。

这种裂缝显示方法也只能凑乎着看看,定性了解一下计算结果。 想合理显示裂缝表征的话还是针对自己的问题写点小程序吧,许多绘图软件是支持二次开发的。 pjwseu 楼主,我做的裂缝是先用 *INITIAL CONDITIONS, TYPE=CONTACT RIGTSURF,rightrock,BOLT1 粘在一起,

- 32 -

,在flexlm中重新设一

2、装patran2003,软件加文档大约需要1.5G。照crack目录中的做法,另外注意license.dat的第二行最后要

联系合同范文客服:xxxxx#qq.com(#替换为@)