ansys 经典环境 刚体接触 apdl

浏览:174282 回答:3
花了两三天,终于把刚体设置给搞明白了,留贴以便日后复习和分享用。
背景:模拟CT试样疲劳裂纹扩展,裂纹用CZM模拟。由于要模拟裂纹挨个扩展,所以需要在裂纹上下面逐个单元设置接触对,没用过workbench不知道行不行,我是用classic下apdl 中*do每个单元设置的。
为了减少节点数量,我就想将裂纹下表面用刚体的表面模拟,之前没用过接触,就这个刚体设置花了好久时间才搞明白。
!====先给上结果吧========
整体模型
elem.jpg

初始应力场
初始应力场.jpg

扩展20个单元后裂尖应力场
裂尖应力场.jpg

!=====================
一开始度娘半天,没有手把手教刚体设置的命令。有一个广为流传的帖子,是界面操作的。
http://www.jxcad.com.cn/read.php?tid=1191122
照猫画虎操作然后提出命令用起来总是出现各种问题。好吧,书山有路勤为径,还是乖乖学习强大的帮助文档吧。
帮助文档中这样描述刚体
rigid.jpg

所以刚体就是一些基体单元,然后外围包上一层target单元,然后所有节点的自由度和一个pilot node关联起来。
而当时看到网上教程提出来的命令,还要在面上再布上一层contact单元,我想,我用起来会出错可能是那些contact单元造成的。
刚体表面和pilot node单元都是target169,用同样编号的实常数即可,命令实现起来很简单,就是注意实常数和单元keyopt设置就行。如下:
!===========================
!设置pilot和刚体接触面
mp,mu,2,0.01 !mat
r,3,*** !实常数随便
ET,2,169 !etype
KEYOPT,2,2,1
KEYOPT,2,4,111 !不能变
mat,2
real,3
TYPE,2
!生成表面的target169单元
esel,*** !选定刚体基体单元
nsel,*** !选定刚体表面节点,或者全选都行
esurf
!生成pilot node
mat,2
real,3
TYPE,2
TSHAP,PILO
E,*** !***为想要设为pilot node 的节点编号,应当为基体单元的某个节点
!1、这样,刚体就设置完成,不需要再额外设置了,比如 contact单元
!刚体是一个独立体,不需要生成完整的接触对,自然在接触向导中看不到
!2、当然帮助文档中说明可以直接通过节点建立target单元,或者lmesh,
!不用基体单元,那么刚体就更简单,二维下就是一条线。
!但我是想让裂纹上下节点位置是一一对应的。这样的话刚体节点就不好控制了,所以我没有采用。
!====================================================
接下来的接触设置就和普通的设置没有区别了。
因为我之前没有用过接触,所以很多基本问题现在才搞明白,当然是我自己觉得明白了,还不知道对不对:
1、接触对是通过实常数编号来区分。要产生接触效果的target和contact必须用同一个编号的实常数,如果实常数编号不一样,即使实常数设置相同,那也是相见但不相识。
2、一个基体单元的表面可以布置多个接触单元。我将contact对面相邻的单元都布上了相同实常数的target单元,这样当刚体被完全约束,而裂纹上表面发生x方向位移后上下裂纹依然会contact。
邀请回答 我来回答

全部回答

(3)
默认 最新
xixi161
还是不太懂。刚体还需要设置材质,还需要划分单元不呢?
2015年7月21日
评论 点赞
csuperfect

感谢分享!
2014年3月18日
评论 点赞
11hours
忘了改分了,第一个回复的就给了吧
2014年3月18日
评论 点赞

没解决?试试专家一对一服务

换一批
    App下载
    技术邻APP
    工程师必备
    • 项目客服
    • 培训客服
    • 平台客服

    TOP