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

[资料共享] (转)关于contact的一些解释

[复制链接]
发表于 2011-5-18 08:52:31 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨
在网上看到一些关于contact材料,觉得有用,就粘过来了
How can I handle contact between beams and shells?
I wanted to know thatcan we have contact between Beam Elements and Shell elements and what Card isto be used. I have tried all "CONTACT_AUTOMATIC" cards but was notable to get the contact. The part with Beam elements passes through the wall ofShell elements
In general,*CONTACT_AUTOMATIC_SINGLE_SURFACE, *CONTACT_AUTOMATIC_GENERAL or*CONTACT_AUTOMATIC_NODES_TO_SURFACE should handle a beam-to-shell-surfacecontact situation. All of these contact types take into account thicknessoffsets. By this I mean that the contact surface is offset from the shellmidplane by half the shell thickness and offset from the beam centerline by a radiusof the beam's equivalent circular cross-section. Of course, the contactthickness can be modified by the user on card 3 of *CONTACT_ or by using*PART_CONTACT instead of *PART. The first two contact types mentioned above aresingle surface contacts and so both the shell and beams parts should beincluded on the slave side with the master side being null. For an*CONTACT_AUTOMATIC_NODES_TO_SURFACE contact, the beam part (or its nodes)should be slave, the shell part (or its segments) should be master. For any ofthe above, the search for penetration is made between beam nodes (or moreprecisely, a sphere around each beam node) and shell surfaces.
If your contactsituation is beam-to-shell-EDGE, you might have a problem. In that case, youmay have to stick with *CONTACT_AUTOMATIC_GENERAL and add null beams (lowdensity beams utilizing *MAT_NULL) along (merged to) the outer edges of yourshells. The null beam part should be added to the slave side of the contact.
What is the difference between *CONTACT_AUTOMATIC_ SINGLE_SURFACE and*CONTACT_AUTOMATIC_GENERAL ?
Like*CONTACT_AUTOMATIC_SINGLE_SURFACE, *CONTACT_AUTOMATIC_GENERAL is a singlesurface contact, that is, the contact is defined wholly by the slave side. Bothcontact types consider shell thickness and beam thickness, that is, the contactsurface is offset from the shell midplane and from the beam centerline. Thebeam cross section, for contact purposes only, is idealized as circular. Atshell edges, the contact surface wraps around in a circular arc thus joiningthe contact surface on one side of the shell to the contact surface on theopposite side.
One important way inwhich an *CONTACT_AUTOMATIC_GENERAL contact differs from an*CONTACT_AUTOMATIC_SINGLE_SURFACE contact is the way in which beam contact andshell edge contact is handled. The *CONTACT_AUTOMATIC_GENERAL contact checksfor penetration along the full length of beam elements, not just at the nodesof the beams. Similarly, *CONTACT_AUTOMATIC_GENERAL contact checks forpenetration along the entire length of free (unshared) shell edges. By addingthe option _INTERIOR to *CONTACT_AUTOMATIC_GENERAL in v. 960, edges of interiorshells are also taken into account.
Another distinction isin the value of penetration that triggers release of the penetrating node fromcontact consideration (see Table 6.1 in the Keyword User's Manual). For *CONTACT_AUTOMATIC_GENERALcontact, that value is effectively unlimited whereas *CONTACT_AUTOMATIC_SINGLE_SURFACEcontact will release the penetrating node after it penetrates approximatelyhalf an element thickness.
Yet anotherdistinction is that, by default, *CONTACT_AUTOMATIC_GENERAL contact checks fornodal penetration through the three closest segments ("search depth"= 3) whereas *CONTACT_AUTOMATIC_SINGLE_SURFACE checks only two segments. Thethree segment check is more expensive but may be more robust for contact incorners. The default "search depth" for any automatic contact may beoverridden on optional card A of *CONTACT_.
The segment-basedalternate penalty formulation (invoked by setting SOFT = 2 on optional card Aof *CONTACT_) is available for *CONTACT_AUTOMATIC_SINGLE_SURFACE but not for*CONTACT_AUTOMATIC_GENERAL. Setting SOFT=2 inan *CONTACT_AUTOMATIC_SINGLE_SURFACE contact changes the contact algorithmaltogether. (See separate notes on SOFT=2 contact)
To write contactforces produced by any single surface contact to the RCFORC file, one mustdefine a *CONTACT_FORCE_TRANSDUCER_PENALTY.
What is the IGNORE flag good for?
IGNORE=1
At any point duringthe simulation, if a node is suddenly found to be below the surface (say, itwas moving very fast and wasn't detected before penetration), the old style(IGNORE=0) algorithm just moves the node to the master surface without applyingany forces (we term this "shooting node logic"). If the shooting nodelogic is turned off (SNLOG=1), then you would likely get large forces suddenlyappearing, and negative contact energy. If IGNORE is set to 1 then the shootingnode logic flag SNLOG has no affect. Rather the amount of sudden penetration isnoted and compensated for by adjusting the contact thickness locally. So at anytime during the simulation, if a sudden penetration is detected, the programdoesn't apply any large forces nor are any nodes moved. Contact forces,however, will resist FURTHER penetration.
Shooting Node Logic
shooting node logicmoves nodes throughout the calculation and in fact does not move nodesinitially. We do try to move nodes to eliminate initial penetration, but thisis not shooting node logic. The shooting node logic moves nodes back to thesurface when they are first found to be in contact. If you turn shooting nodelogic off, then we still move nodes initially, but not throughout thecalculation. If the ignore option is turned on, then nodes are not moved duringinitialization, and shooting node logic is turned off.
SOFT=2
Segment based contact(SOFT=2) does not use the shooting node logic parameter. There is no need forshooting node logic because the segment based contact ignores initialpenetrations. Penalty forces are proportional to penetration in excess of theinitial penetration. In equation form, this is f = k*(d-di) where f is a force,k is penalty stiffness, d the current penetration depth, and di the initialpenetration depth.
The ignore option(optional card C, or 4th card of *CONTROL_CONTACT) causes the default contactto ignore initial penetrations which also makes shooting node logicunnecessary.

更多详细内容请见http://www.dynasupport.com/

评分

1

查看全部评分

发表于 2011-6-30 00:58:44 | 显示全部楼层 来自 美国
Simdroid开发平台
本帖最后由 daphne_wj 于 2011-6-30 01:02 编辑

翻译如下,共同学习:

如何处理梁和壳之间的接触?
我想知道,梁单元和壳单元的接触以及该使用什么关键字卡片。我试过所有"CONTACT_AUTOMATIC"卡片,但是没有显著的接触。梁单元的Part穿透了壳单元的墙体。

一般来说,*CONTACT_AUTOMATIC_SINGLE_SURFACE,*CONTACT_AUTOMATIC_GENERAL 或者*CONTACT_AUTOMATIC_NODES_TO_SURFACE可以处理梁壳表面接触问题。所有这些接触类型考虑了厚度偏移。就是说,接触表面是从壳的中截面即壳厚度的一半,从梁的中线以相当于圆截面梁半径开始偏移。当然,接触厚度可以通过*CONTACT_的第三张卡片,或者用*PART_CONTACT而不是*PART来修改。前面提到的前两个接触类型是单面接触,所以梁和壳部件都应该被定义成slave集合中,而master集合应该是空集。对于*CONTACT_AUTOMATIC_NODES_TO_SURFACE接触,梁部件(或者它的节点)应该定义成slave,壳单元部件(或它的集合)应定义成master。对于上述任何一个接触类型,研究发现穿透是在梁节点(或者更精确地说,是每个梁节点周围的范围内)和壳表面发生的。
如果你的接触情况是beam-to-shell-EDGE, 你可能会有问题。在这种情况下,你必须用*CONTACT_AUTOMATIC_GENERAL并应用空的梁单元(使用*MAT_NULL材料的低密度梁)和(合并到)你壳单元的外边缘。空梁部件应该定义到接触的slave集合。

*CONTACT_AUTOMATIC_ SINGLE_SURFACE*CONTACT_AUTOMATIC_GENERAL接触卡片的区别是什么?
*CONTACT_AUTOMATIC_SINGLE_SURFACE一样,*CONTACT_AUTOMATIC_GENERAL是单面接触,即,接触通过slave集合整体定义的。这两种接触类型都考虑壳和梁的厚度,即,接触面从壳的中平面到梁的中线。仅就接触而言,梁截面被理想化成圆形。在壳边缘,接触面在圆弧内翘曲,从而壳集合的一个接触面加入到相对的接触面。
二者接触类型的一个很重要的区别是它们处理梁接触和壳边缘接触的不同。*CONTACT_AUTOMATIC_GENERAL接触类型检查梁单元整个长度内的穿透,而不只是检查梁的节点。类似的,*CONTACT_AUTOMATIC_GENERAL检查整个自由(非共享的)壳边缘长度的穿透。通过施加选项_INTERIOR*CONTACT_AUTOMATIC_GENERALv960版本)上,内部的壳边缘也被考虑进去。
另一个区别是引起穿透节点从接触考虑中释放的穿透值的不同(参考手册表格6.1。译者注:如果是971版本应该是7.1)。对于*CONTACT_AUTOMATIC_GENERAL接触, 这个值是没有限制的,然而*CONTACT_AUTOMATIC_SINGLE_SURFACE接触,当穿透了大约单元厚度一半的时候会释放穿透节点。
然而另一个默认的区别是,*CONTACT_AUTOMATIC_GENERAL接触类型从三个最近的集合(“searchdepth=3)中检查节点穿透,然而*CONTACT_AUTOMATIC_SINGLE_SURFACE只检查两个集合。三个集合的检查计算代价更大,不过对于角上的接触,计算更有效。默认的“searchdepth”对于自动接触可以通过*CONTACT_A卡片改写。
基于集合的惩罚公式(通过设置*CONTACT_A卡片SOFT=2来激活)可以被*CONTACT_AUTOMATIC_SINGLE_SURFACE所用,却不能被*CONTACT_AUTOMATIC_GENERAL所用。在*CONTACT_AUTOMATIC_SINGLE_SURFACE接触中设置SOFT=2改变整个接触算法(看接触中SOFT=2的单独笔记)。
为了把任何单面接触产生的接触力写进RCFORC文件中,我们必须定义*CONTACT_FORCE_TRANSDUCER_PENALTY(译者注:971版本没有这个关键字)

IGNORE标识的用处是什么?
IGNORE=1
在模拟的的任何时间点,如果节点突然被发现在表面下面(就是说,它移动太快,穿透之前没被发现),旧的算法(IGNORE=0)只是移动节点到主表面没有施加任何力(我们叫它“射击节点逻辑”)。如果射击节点逻辑被关闭(SNLOG=1)
,那么你可能得到突然出现的很大的力和负的接触能。如果IGNORE=1那么射击节点逻辑标识SNLOG就没用。而突然穿透量是显著的,并可以通过调整局部接触厚度来补偿。所以模拟的任何时间,如果突然穿透被发现,程序不会加价任何大的力也没有任何节点被移动。然而接触力会抵抗进一步穿透的发生。
射击节点逻辑
在整个运算过程中移动节点,实际上并不是在初始时刻移动。我们尝试移动节点来消除初始穿透,但这并不是射击节点逻辑。射击节点逻辑移动节点到表面背后当他们在接触中最初被发现的时候。如果你关闭射击节点逻辑,那么我们任然会在初始时刻移动节点,但不是整个计算过程。如果IGNORE选项被关闭,那么节点在初始穿透中不会被移动,并且射击节点逻辑也会关闭。

SOFT=2
基于集合的接触(SOFT=2)不使用射击节点逻辑参数,因为基于集合的接触忽略初始穿透。惩罚力与超出初始穿透的穿透量成比例。从方程的形式来看,就是f= k*(d-di)
f是力,k是罚刚度,d是当前穿透深度,di是初始穿透深度。
Ignore
选项(选项卡C*CONTROL_CONTACT中第4个卡片)产生默认接触到忽略初始穿透,这也是没必要采用射击节点逻辑算法的原因。

评分

1

查看全部评分

回复 2 不支持 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 19:28 , Processed in 0.032602 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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