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

[前处理] *Model change 应用技巧进阶

[复制链接]
发表于 2009-4-18 10:28:14 | 显示全部楼层 |阅读模式 来自 韩国
本帖最后由 blueshell 于 2009-4-18 13:36 编辑

单元的钝化和激活技术在对施工工序进行模拟时是十分必要的。因此,探索ABAQUS中单元的钝化和激活具有明显的意义。在本论坛*Model change 的应用技巧初http://forum.simwe.com/viewthread.php?tid=842837&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D2&page=1
经过网友们的热烈讨论,尤其是jsnjcivil的提醒后,才发现这个该帖内容尤其是原帖的inp文件已经跟后边讨论的内容存在比较大的出入了,不便于对model change的正确把握。为了方便以后的网友更容易掌握该命令的应用,特开新贴并进行修正。也一并感谢jsnjcivil

基本原理:
首先将结构分成两个独立部分,一是需要在前期需要钝化而随后需要激活的部分,另一部分就是不需要做任何处理的剩余部分。在此将其分别命名为“需要钝化”的部分和“不需要钝化”的部分。由于ABA在激活单元时是在该单元的原始位置予以激活,而实际结构分析中往往要求在变形后的位置上以无初始应变的方式激活。故需要先确定变形后的相应位置,并予以激活。为此特设置一种具有追踪功能的单元。此单元实际上是“需要钝化”单元的备份单元(通过elcopy命令实现),具体要求如下:
1.该单元跟“需要钝化”单元形状完全一致,共享节点,但具有不同的单元号;
2.该单元的刚度很小,它的存在不影响原有结构的计算结果;
3.该单元的自重无限小,不至于由于自重导致该单元产生过大应力和变形;
可见,该“追踪功能”的单元具有“完全弹性”性质。
因此,当添加此单元后,实际结构实际上由三部分组成,一是“需要钝化”的单元,二是“不需要钝化”的单元,三是赋予了完全弹性材料特性的 “追踪单元”。
现在,如果将原来 “需要钝化”的单元钝化掉(*model change, remove),则结构中剩下的就是“不需要钝化”的单元和“追踪单元”两部分。由于“追踪单元”的刚度很小,所以,理论上是不影响原有结构的受力的。但由于追踪单元仍在结构上,其变形位置是可以随 “不需要钝化”单元的变形而获得的。
当此时激活先前已经钝化的单元时,由于该单元与“追踪单元”共享节点,先前已经钝化的单元就自然而然的获得变形后的位置了。这就是“追踪”功能的基本原理。
如果追踪单元不采用完全弹性材料,则结构的刚度就会因此增大很多,这是第一个需要注意的地方。如果追踪单元的自重参数较大,则会因其弹性模量较小而产生很大的变形,这是第二个需要注意的地方。如果钝化单元后结构体系的约束设置不合理,则会出现结构不稳定的现象,这是第三个需要注意的地方。由于追踪单元完全弹性和小自重特性,理论上讲,对结构的任何一部分的计算都不会有很明显的影响。

基本步骤:
建立part,结合施工顺序的要求对相关part进行partition,并将partition 后的各个独立部分设置单元集(以便在elcopy的时候调用)。此时的结构由两部分组成,一是“需要钝化”的单元集,二是剩余的“不需要钝化”的单元集。这两部分必须相互独立,不能有交集。当然,在同一个part里,允许有多个“需要钝化”的单元集存在。
assembly阶段,将涉及“需要钝化”单元集的部分按part内同样的要求设置相应的单元集,以便model change时方便调用。
其它建模步骤先按一般方法完成。
然后对形成的inp文件进行修改。
1.在涉及“需要钝化”的单元集的instance里添加elcopy命令行
*Elcopy, Element shift=XXXX, Old set=Original_Set, New set=Trace_Set,
Shiftnodes=0
此处的Element shift=XXXX是单元号的增加量,一般要求略大于该instance中原有单元数的最大值,否则会出现材料重复定义的错误提示;也不宜设置过大。Old set=Original_Set此处的Original_Set是在该instance “需要钝化”的单元集。New set=Trace_Set是新增的用于追踪的单元集。Shiftnodes=0即表示新增追踪单元集Trace_Set与“需要钝化”的Original_Set单元集共享节点。
2. assembly 中设置“需要钝化”的单元集,以便在model change进行相关操作。如果不在此处设置单元集,则在model change调用的时候需要指定part属性。
3.添加“完全弹性”材料
要求完全弹性,即相对于非钝化单元的弹性模量小,最好能小5个数量级;要求质轻,以避免自重引起变形过大,可近似取自重密度比其弹性模型模量小5个数量级。
4.在适当阶段钝化单元集
** Remove all elements in element set Original_Set
*MODEL CHANGE, REMOVE
Original_Set

需要注意的是钝化掉的是原始单元集,而不是“追踪单元集”,否则无法实现追踪功能。
5.
在需要激活的阶段激活已钝化单元集
** Reactivate elements in element set Original_Set
*MODEL CHANGE, ADD=STRAIN FREE
Original_Set

在此步中也可以将“追踪单元集”remove掉。

附件为jsnjcivil修改后的模型,共学习参考。该模型在model change命令中采用的是直接调用instance内部的单元集。也可以在assembly中定义单元集后直接调用单元集。

本帖子中包含更多资源

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

×

评分

1

查看全部评分

发表于 2009-4-18 11:11:36 | 显示全部楼层 来自 江苏泰州
Simdroid开发平台
好好学习下
谢谢
回复 不支持

使用道具 举报

发表于 2009-4-18 13:31:28 | 显示全部楼层 来自 大连理工大学
老兄弄得越来越精细了。,感谢老兄对我的多次帮忙,呵呵
对了,第5步中.在需要激活的阶段激活已钝化单元集的同时最好把激活单元组对应的追逐单元组remove掉。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-18 13:38:30 | 显示全部楼层 来自 韩国
因为好久没看原来那个帖子的inp文件,没想到里边的内容很老旧了。估计也给很多人造成了不便,故在此更新了。
回复 不支持

使用道具 举报

发表于 2009-4-20 21:56:49 | 显示全部楼层 来自 江苏泰州
看了楼主的文章后,小弟产生了一个疑问:
关于变形后实体的单元删除问题
比如,平板两端受挤压力,使中间区域变形,然后在中间挖去一个纯粹的圆孔,最后去掉两端的挤压力
现在的问题是,没有办法在平板变形的基础上删除一个纯粹的圆孔集合,还望大家一块讨论
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-21 08:27:52 | 显示全部楼层 来自 韩国
一般情况下如果预先知道圆孔的几何位置,可以采用model change还模拟它在荷载作用下的响应。而你的问题是在变形后再挖孔,恐怕在建模上就会存在一些困难,比如,怎么准确确定变形后的圆周上的各个点?也许正向建模难以解决这个问题。
回复 不支持

使用道具 举报

发表于 2009-4-21 08:48:48 | 显示全部楼层 来自 辽宁沈阳
好好学习下
回复 不支持

使用道具 举报

发表于 2009-5-5 21:23:38 | 显示全部楼层 来自 辽宁沈阳
我的开挖过程好长时间都没有实现好,都被老师骂了。希望这会有用。
回复 不支持

使用道具 举报

发表于 2009-5-16 12:33:48 | 显示全部楼层 来自 江苏南京
谢谢楼主,最近遇到这个问题,好好学习学习……
回复 不支持

使用道具 举报

发表于 2009-5-16 14:00:11 | 显示全部楼层 来自 湖北武汉
好文章1!!
回复 不支持

使用道具 举报

发表于 2009-7-6 12:28:25 | 显示全部楼层 来自 四川成都
本帖最后由 barry_chow 于 2009-7-6 14:49 编辑

非常感谢楼主分享自己的学习经验,我认真学习了一遍,受益匪浅。但针对楼主介绍的方法和附件中的具体实例,我有几个问题想请教:
(1)关于实例中三个分析步的设置
根据楼主提供的inp文件,三个分析步的设置目的是否如此:第一步钝化实际板(需要钝化部分),仅求解梁(不需要钝化部分)在自重作用下的应力及变形;第二步求解备份板(追踪单元)和梁在自重作用下的应力及变形;第三步激活实际板单元,施加均布荷载,求解均布荷载,以及实际板和梁在自重作用下的应力及变形;根据我的施工步骤的理解,三个分析步这样设置是否更为合理:第一步钝化实际板(需要钝化部分),求解梁(不需要钝化部分)在自重作用下的应力及变形;第二步钝化备份板单元(追踪单元),激活实际板单元,求解实际板和梁在自重作用下的应力及变形;第三步在板上施加均布荷载,求解在均布荷载、实际板和梁自重综合作用下的结构响应。
(2)关于备份单元是否需要设置密度(即考虑自重)的问题
根据楼主的思路,通过设置追踪单元(复制的板单元)来实现梁在自重作用下产生变形后,实际板以无初始应变的方式浇注至变形后的梁上。但根据楼主的inp文件,实际板(需要钝化部分)与梁(不需要钝化部分)共用部分结点,因此即使不给追踪单元的密度赋值(即不考虑该部分重力),在梁(不需要钝化部分)自重作用下,由于共用结点处位移连续,追踪单元仍然会产生变形,且追踪单元的模量设置应尽量小,不能对原结构的受力产生影响。若追踪单元与不需要钝化部分不共用结点,采取接触方式,则需要进一步研究。因此我认为在需要钝化部分与不需要钝化部分共用结点时,不需要设置追踪单位的密度,只需要设置追踪单位的模量,且值应尽量小。
(3)实例中在施加重力时,*Dload
Tsection-1.DUPSlabSet, GRAV, 1., 0., -1., 0.,重力加速度为什么取1.,而不是9.8?当然这只是一个小问题。
以上问题是我看了楼主帖子后的一些想法和疑惑,欢迎大家讨论,不对之处还望批评指正。

点评

问题提得很好啊,很深入,呵呵  发表于 2011-11-8 17:55

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-7-6 13:49:26 | 显示全部楼层 来自 韩国
十分感谢 barry_chow 的讨论。
(1) 实际上算例中inp中分为三步只是一般施工过程的简单模拟,可简洁地描述为:1. 钝化板单元,只计入主梁自重;2. 计入板的自重(湿重),即仅考虑荷载作用,不考虑板对结构的贡献;3. 激活板单元,形成组合截面,以承受二期恒载或活荷载。当然,若仅考虑线弹性材料,不考虑时间因素(如徐变收缩)等情况下,结构的响应都是线弹性的,计算结果可以直接叠加。因此,第一、二步是可以直接放在一个分析步中进行计算的。但若要考虑徐变等,分开考虑比较好。
(2) 关于密度的问题,你说的是对的,可以不考虑追踪单元的密度,只考虑比较小的弹性模量即可。
(3) 由于该inp文件是很久以前的文件,其内的梁板单元是由一个整体模型在ABA内采用partion的方式实现的。因此,梁板是共用节点的。实际上,这个不是必要条件,可以通过梁板接触面的连接来实现的。而且现在我更多的是采用表面接触的方式模拟,这样显得更方便自由。
(4) -1的问题,实际上在材料的容重取值中已经考虑9.8(或10)了。当你在材料参数中取质量单位的时候,后边就采用-9.8;若在材料参数中选用容重时,这里就可以取-1。不会影响计算结果。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-7-6 16:25:20 | 显示全部楼层 来自 四川成都
谢谢blueshell的回复,我对施工过程不是很了解,还想请您详细解释一下。
(1)在你提到的第2个分布步中, [2.计入板的自重(湿重),即仅考虑荷载作用,不考虑板对结构的贡献;],是不是只考虑板的湿重,而不考虑下面梁的自重及其对板的支撑作用?相当于模拟新浇混凝土板后,拆模前只受模板和脚手架的支撑而不受下面梁的支撑?第3个分析步中板梁整体承受均布荷载,此时板混凝土已经硬化,理论上说板的自重应该为干重,与第2步中的湿重不同,不过实际两者相差很小,不知道我这样理解对不对?
(2)*change model实际上可以使用remove (reactivate) CONTACT PAIR,如果采用该方式,是不是不需要再设置追踪单元?例如对于附件中的实例问题,梁和板分别建立part,然后采用*tie设置两者的粘结,在分析步1、2中remove CONTACT PAIR来模拟施工过程,在分析步3中reactivate CONTACT PAIR来模拟组合截面,这个思路对不对?楼主有没有相关的实例可供学习?
(3)施工重力中材料density给的是重量,已考虑重力加速度,我没仔细看,不好意思。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-7-6 17:37:20 | 显示全部楼层 来自 韩国
也许“湿重”这个词用得不好,引起了歧义。实际上,它跟工程上的“湿街头”有相近的含义,就是指后浇筑的意思。实际工程中,板硬化前的重量是由主梁来承受的,而不是由板和梁形成的组合截面来承受的。在分析这类结构时,一般是需要分开考虑的,还会涉及收缩徐变温度等问题。在这里,主梁的自重已经在第一个分析步中考虑了,而板的重量是以一个均布荷载的形式加到主梁上的。随后激活板单元,形成组合截面以承担后续荷载。
采用contact pair与模拟上述施工过程应该不是同一个问题。contact pair只解决接触对的问题,而没有解决结构(单元)本身的施工工序的问题。实际上,采用Tie的方式将两个部分连接起来是很方便的。remove单元时,其附属信息会一并remove掉的,即如果有tie的相关信息,也会被remove掉。因此,Tie用来联系两个part,model change用来模拟施工过程,是可以有效地模拟施工工序的。
回复 不支持

使用道具 举报

发表于 2009-7-6 18:44:36 | 显示全部楼层 来自 江苏南京
学习了
       有个问题想请教:在模拟灌注桩时,未开挖前平衡好地应力,后remove桩孔(加泥浆压力,地基变形),后add桩体(考虑两者变形)。考虑桩体和土体参数不一样,remove和add的主体不一样,桩土存在接触问题,本人菜鸟,想不大清楚。可否有方法桩变形后的孔位置导给桩或者桩就是开始钝化的单元,只是激活后再改变其参数,其过程如何实现?
回复 不支持

使用道具 举报

发表于 2009-7-6 20:54:31 | 显示全部楼层 来自 四川成都
14# blueshell
清楚了,谢谢!

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-10-14 17:05:24 | 显示全部楼层 来自 湖北宜昌
请问一下楼主,我在做蜗壳的计算,如果不是设置*MODLE CHANGE ,可以进行计算,在考虑施工过程设置*MODLE CHANGE 以后,就出现错误***ERROR: TOO MANY ATTEMPTS MADE FOR THIS INCREMENT 。这是由于设置*MODLE CHANGE 导致的吗?
回复 不支持

使用道具 举报

 楼主| 发表于 2009-10-14 22:05:57 | 显示全部楼层 来自 韩国
有可能是因为设置MODEL CHANGE并remove一部分单元后,出现了约束不够导致无法计算。
回复 不支持

使用道具 举报

发表于 2009-10-16 21:25:19 | 显示全部楼层 来自 湖北宜昌
本帖最后由 candy李 于 2009-10-17 17:35 编辑

哦 谢谢,我明白了。那如果我要给ROMOVE后的单元加边界条件,是应该在*MODLE CHANGE之前 就加上去吗?
另外,请问一下:
*MODEL CHANGE,ADD=WITH STRAIN 和ADD=STRAIN FREE主要是在什么情况下用呢?
回复 不支持

使用道具 举报

发表于 2009-10-18 14:10:18 | 显示全部楼层 来自 上海
12# blueshell
我想请教一下blueshell,我打算模拟一个路堤堤基的应力应变,想采用*Model change方法实现路堤(把他的重力当成是地基的荷载)对地基的加载,但是你们知道地基存在地应力平衡的问题,(即,开始在重力的作用下沉降变形,然后输入初始应力后又恢复形变,但是会有误差,不能完全恢复,这也我要采用这种方法的重要原因!)我想其中采用的追踪单元能不能连续追踪两次荷载(地应力平衡实际是两次加载的过程),请指教!
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 12:09 , Processed in 0.064681 second(s), 20 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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