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

[接触碰撞] 为什么建模时没有重合,还存在初始穿透?

[复制链接]
发表于 2012-6-10 09:05:14 | 显示全部楼层 |阅读模式 来自 美国
悬赏20仿真币已解决
本帖最后由 zhangzhichaohhu 于 2012-6-18 05:00 编辑

如题,模型极其简单,一块厚4cm,长100cm,宽30cm的板(shell element),立在一个块体上(solid element)。建模时候考虑了板和块体的坐标,二者肯定没有重合的部分,为什么还会有初始穿透?穿透值正好是板厚的一半。是不是因为壳单元的建模有特别的要求呢?谢谢!

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

最佳答案

查看完整内容

首先“接触厚度”在默认状态下等于壳厚度,而对于壳单元的面面自动接触,“接触面”位于壳单元中面上下半个接触厚度(即半个壳厚度)。在壳边缘(shell edge)处,接触面包围壳边缘,半径等于一半“接触厚度”(即半个壳厚度),以形成连续的接触面。见附图。因此为了避免初始穿透,壳单元向上半个壳厚度最合适了。ps:Because contact surfaces are offset from shell mid-planes and from beam centerlines, it is extremely imp ...
发表于 2012-6-10 09:05:15 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
本帖最后由 roczhp 于 2012-6-17 22:07 编辑

首先“接触厚度”在默认状态下等于壳厚度,而对于壳单元的面面自动接触,“接触面”位于壳单元中面上下半个接触厚度(即半个壳厚度)。在壳边缘(shell edge)处,接触面包围壳边缘,半径等于一半“接触厚度”(即半个壳厚度),以形成连续的接触面。见附图。因此为了避免初始穿透,壳单元向上半个壳厚度最合适了。ps:Because contact surfaces are offset from shell mid-planes and from beam centerlines, it is extremely important that appropriate gaps between shell and beam parts be modeled in the finite element geometry in order to account for shell thickness and beam cross-section dimensions. Not doing so will result in initial penetrations in the contact surfaces. LS-DYNA will make one pass to eliminate any detected initial penetrations by moving the penetrating slave nodes to the master surface. Not all initial penetrations will necessarily be removed and this can lead to nonphysical contact behavior. Time taken in setting up an accurate initial geometry is always time well spent.

本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 2012-6-10 09:16:42 | 显示全部楼层 来自 安徽芜湖

LZ我检查了,没有初始穿透,干涉都没有。
回复

使用道具 举报

 楼主| 发表于 2012-6-10 09:40:17 | 显示全部楼层 来自 美国
本帖最后由 zhangzhichaohhu 于 2012-6-10 09:40 编辑
liliyoo 发表于 2012-6-10 09:16
LZ我检查了,没有初始穿透,干涉都没有。

但我用Conchk检查是有初始穿透啊

本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 2012-6-10 09:59:01 | 显示全部楼层 来自 安徽芜湖
那以LZ检查为准。
回复

使用道具 举报

 楼主| 发表于 2012-6-10 11:02:26 | 显示全部楼层 来自 美国
liliyoo 发表于 2012-6-10 09:59
那以LZ检查为准。

奇怪的是,将shell板上抬多少,穿透就减小多少,直至shell板和solid块体之间的缝隙=一半板厚时,穿透才消失。
感觉就像shell板建模的时候,长度比建模时输入的长度多了个一半板厚那么多,所以建模时是紧挨着,但是却出现初始穿透值为一半的板厚度。不知道为什么。
回复

使用道具 举报

发表于 2012-6-10 14:25:48 | 显示全部楼层 来自 上海闵行区
shell 是有厚度的啊  
回复

使用道具 举报

 楼主| 发表于 2012-6-10 14:41:36 | 显示全部楼层 来自 美国
本帖最后由 zhangzhichaohhu 于 2012-6-10 14:42 编辑
wwleon 发表于 2012-6-10 14:25
shell 是有厚度的啊

嗯,我考虑了厚度。但是我的模型是板的长度方向垂直于体单元,即板垂直于体单元,而不是厚度方向,所以厚度应该没有影响。现在就感觉的板的长度莫名其妙地增加了半个厚度那么多,所以初始穿透值就是半个板厚。用nodes-to-surface也一样有初始传统。
回复

使用道具 举报

发表于 2012-6-10 19:19:41 | 显示全部楼层 来自 山东烟台
经验证,网格模型本身没有问题,不存在节点的穿透情况;但用DYNA自带的前后处理器检查可以看到确实是有穿透的,求解开始时也会给出相应的穿透提示,而且壳网格模型在求解第一步即被自动向上移动;问题出在设定上——接触的设定,有试过用segment和comps方式指定AUTOMATIC_SURFACE_TO_SURFACE接触都能检测到穿透,用AUTOMATIC_SINGLE_SURFACE同样有,据user manual介绍,这两种接触考虑壳厚度时用的都是segment based projection,按常理不应存在这样的问题的,反而是采用基于nodal normal projection的SINGLE_SURFACE的接触倒是看不到穿透警告(开始求解时没有警告),求解开始时壳模型不会自动移动,但用后处理检查K档仍存在穿透——该问题尚有存疑之处

本帖子中包含更多资源

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

×

评分

1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-6-11 08:25:19 | 显示全部楼层 来自 美国
本帖最后由 zhangzhichaohhu 于 2012-6-11 08:25 编辑
hijk673 发表于 2012-6-10 19:19
经验证,网格模型本身没有问题,不存在节点的穿透情况;但用DYNA自带的前后处理器检查可以看到确实是有穿透 ...

多谢回复。是啊,很奇怪。
把壳和体看作整体用单面接触,检查的时候会有初始穿透,求解的时候没有提示初始穿透。但随便加一个自重荷载求解,还是会出现严重的穿透,板直接穿过其下的solid了。
回复

使用道具 举报

发表于 2012-6-11 11:38:34 | 显示全部楼层 来自 浙江杭州
试试*CONTACT SINGLE EDGE,The single edge contact option should be used when contact occurs orthogonal to the shell surface normal direction. This contact option does not require contact or target surface definitions. Single edge contact is often used in sheet metal applications which have their surface normals orthogonal to the impact direction.


回复

使用道具 举报

发表于 2012-6-12 15:35:25 | 显示全部楼层 来自 天津
增大接触刚度试试或者增大罚因子提高到10以上试试
回复

使用道具 举报

发表于 2012-6-13 09:49:07 | 显示全部楼层 来自 上海
估计楼主在对壳单元板块建模的时候抽的是外表面而不是中面
回复

使用道具 举报

 楼主| 发表于 2012-6-13 15:18:59 | 显示全部楼层 来自 美国
roczhp 发表于 2012-6-11 11:38
试试*CONTACT SINGLE EDGE,The single edge contact option should be used when contact occurs orthogon ...

谢谢多次指点!
添加了*CONTACT_SINGLE_EDGE,将板和solid的一些节点设置成segment,结果二者就像没有接触一样,板自由地穿过实体了。
single surface也没用。
看了dyna网站上的例子,他是将几块板边上的节点定义*CONTACT_SINGLE_EDGE接触,不知道为什么就适用。不知道是不是只能适用于shell?
后来我干脆将板上台半个厚度那么多,再加面面接触就没有初始穿透警告了。计算结果居然和面面接触忽略初始穿透得到的结果差不多,囧。
回复

使用道具 举报

 楼主| 发表于 2012-6-13 15:20:42 | 显示全部楼层 来自 美国
hjzlh1213521 发表于 2012-6-13 09:49
估计楼主在对壳单元板块建模的时候抽的是外表面而不是中面

是在中面上。我知道得考虑壳的厚度,但现在的问题是如何考虑壳边跟solid的接触问题。如果是壳面的接触问题,那板厚就有影响了
回复

使用道具 举报

 楼主| 发表于 2012-6-18 05:09:57 | 显示全部楼层 来自 美国
roczhp 发表于 2012-6-10 09:05
首先“接触厚度”在默认状态下等于壳厚度,而对于壳单元的面面自动接触,“接触面”位于壳单元中面上下半个 ...

嗯,这样解释就有理有据了。多谢啊!我就这么用了,也没去思考原因,呵呵。
回复

使用道具 举报

 楼主| 发表于 2012-6-23 13:18:12 | 显示全部楼层 来自 美国
本帖最后由 zhangzhichaohhu 于 2012-6-23 13:22 编辑
roczhp 发表于 2012-6-11 11:38
试试*CONTACT SINGLE EDGE,The single edge contact option should be used when contact occurs orthogon ...

Type 5: *CONTACT_NODES_TO_SURFACE
Type 6: *CONTACT_TIED_NODES_TO_SURFACE
Type 7: *CONTACT_TIED_SHELL_EDGE_TO_SURFACE

后来试用了这几种接触都不会出现初始穿透, 可以无缝建模。但是不同接触的结果不尽相同。用ASTS存在初始穿透的话,跟用TIED_NODES_TO_SURFACE的结果有一定差别;而将板上台消除初始穿透,再使用ASTS,结果反而变得很奇怪。从这个板加自重计算就能看出来


回复

使用道具 举报

发表于 2012-6-23 18:21:11 | 显示全部楼层 来自 浙江杭州
zhangzhichaohhu 发表于 2012-6-23 13:18
Type 5: *CONTACT_NODES_TO_SURFACE
Type 6: *CONTACT_TIED_NODES_TO_SURFACE
Type 7: *CONTACT_TIED_SHEL ...

tied(还有tiebreak)方式接触结果和其他方式有很大不同(tied被翻译为固连接触,tiebreak被翻译为固连失效接触),要根据实际情况选用。tied接触是一种约束方式的接触,一旦tied在一起,从节点跟随主接触面一起移动,而其他方式的接触从节点是可以滑动的(设定摩擦系数和摩擦方式等)。automatic型的接触默认状态下自动考虑了壳单元厚度(所谓shell thickness offset ),shell的中面在默认状态下在shell厚的1/2处,因此接触建模时shell节点(中平面)离开1/2shell厚度是最好的方式了。其实发生初始穿透也没有关系,关键是你的shell厚度对实际模拟过程(物理过程)到底有多大影响,程序检查到初始穿透一般会自动消除(此时几何尺寸会发生一点点变化),关键自动消除对物理过程有多大影响自己把握了。另外还有一个选项还可以不消除初始穿透(IGNORE)。你说板上抬建模时消除初始穿透后用ASTS结果很奇怪是什么意思?怎么奇怪?这奇怪可能和你加重力有关系,即突然施加还是动力松弛方式施加,你有没有对比过?两种方式可能有差异!
接触类型及其定义可以看看这个资料:http://www.google.com.hk/url?sa= ... hQHQaKioeRwP2bSAcKA

评分

1

查看全部评分

回复

使用道具 举报

发表于 2012-6-24 19:54:18 | 显示全部楼层 来自 浙江杭州
zhangzhichaohhu 发表于 2012-6-23 13:18
Type 5: *CONTACT_NODES_TO_SURFACE
Type 6: *CONTACT_TIED_NODES_TO_SURFACE
Type 7: *CONTACT_TIED_SHEL ...

在消除初始穿透(用lspp修改节点,只是为了说明问题),用可以考虑shell edge的automatic_contact_general接触后的k文件见附件,可以很好的模拟你的重力施加,不过施加一开始结构有振荡,但后来还是稳定下来了,供你参考。

本帖子中包含更多资源

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

×
回复

使用道具 举报

 楼主| 发表于 2012-6-25 11:20:07 | 显示全部楼层 来自 美国
本帖最后由 zhangzhichaohhu 于 2012-6-25 11:58 编辑
roczhp 发表于 2012-6-24 19:54
在消除初始穿透(用lspp修改节点,只是为了说明问题),用可以考虑shell edge的automatic_contact_genera ...

多谢!
用*CONTACT_AUTOMATIC_GENERAL接触,接触面上应该还是摩擦滑移关系吧,计算出来的应力感觉不大对劲,如图AG contact所示。

我试过别的接触方式,发现对这个例子,*CONTACT_NODES_TO_SURFACE,*CONTACT_TIED_NODES_TO_SURFACE,无缝建模也不会有初始穿透,得到的应力看上去最合理,与ρgh计算出来的差不多(至于是否tied,在这个例子中不重要,反正是对称模型,只受竖向重力,所以shell 板和solid底座之间不会有滑移,计算结果也相差无几)

所以我认为对于板边和实体单元的三种接触:
摩擦滑移:*CONTACT_NODES_TO_SURFACE;
铰接:*CONTACT_TIED_NODES_TO_SURFACE;
固接*CONTACT_TIED_SHELL_EDGE_TO_SURFACE

在定义*CONTACT_NODES_TO_SURFACE时,主动面(solid底座)上的节点segment貌似必须是交界面上的节点;不知道这个是不是因为对于非自动接触,surface orientations必须预先明确的缘故?所以主动面的segment,必须选择一个面上的节点,而不能是整个体的节点。我一开始选择的是整个体的节点来做segment,施加重力后就穿透了。

而定义*CONTACT_TIED_NODES_TO_SURFACE时,则没有这个要求。但是用TIED_NODES_TO_SURFACE接触有个问题,被动节点组(shell板的节点),选择板的所有节点,跟只选择与底座接触的一排节点,得到的结果相差很大,我的别的算例中,选择板上所有节点,位移结果会小得多。“http://www.dynasupport.com/howto ... d-tiebreak-contacts:For tied contacts without the offset option, any slave nodes that meet the criteria to be tied will be moved to the master surface during initialization thus eliminating gaps between slave nodes and master segments”,不知道这个该如何理解呢?


本帖子中包含更多资源

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

×
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 17:29 , Processed in 0.065008 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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