|
接触问题技巧整理
1、塑性材料和接触面上都不能用C3D20R和C3D20单元,这可能是你收敛问题的主要原因。如果需要得到应力,可以使用C3D8I (在所关心的部位要让单元角度尽量接近90度),如果只关心应变和位移,可以使用C3D8R, 几何形状复杂时,可以使用C3D10M.
2、接触对中的slave surface应该是材料较软,网格较细的面。
3、接触面之间有微小的距离,定义接触时要设定“Adjust=位置误差限度”,此误差限度要大于接触面之间的距离,否则ABAQUS会认为两个面没有接触:*Contact Pair, interaction="SOIL PILE SIDE CONTACT", small sliding, adjust=0.02
4、定义tie时也应该设定类似的position tolerance:
*Tie, name=ShaftBottom, adjust=yes, position tolerance=0.1
5、msg文件中出现zero pivot说明ABAQUS无法自动解决过约束问题,例如在桩底部的最外一圈节点上即定义了tie,又定义了contact, 出现过约束。解决方法是在选择tie或contact的slave surface时,将类型设为node region, 然后选择区域时不要包含这一圈节点(我附上的文件中没有做这样的修改)。
6、接触定义在哪个分析步取决于你模型的实际物理背景,如果从一开始两个面就是相接触的,就定义在initial或你的第一个分析步中;如果是后来才开始接触的,就定义在后面的分析步中。边界条件也是这样。
7、我在前面上传的文件里用*CONTROL设了允许的迭代次数18,意思是18次迭代不收敛时,才减小时间增量步(ABAQUS默认的值是12)。一般情况下不必设置此参数,如果在msg文件中看到opening和closure的数目不断减小(即迭代的趋势是收敛的),但12次迭代仍不足以完全达到收敛,就可以用*CONTROL来增大允许的迭代次数。
8、桩头掉在了地表下,说明接触定义得不正确。可能接触面的距离还是大于*contact pair 中的adjust=0.02, 可改为adjust=0.2
9、原则上,90度的圆弧应该划分10个单元,适当少一些可能也行。
*contact pair中的adjust=0.005,还是太小,在后处理时可以看到,接触面之间的距离大于0.005。把adjust设置大一些没关系,比如adjust=0.1。
10、网格不好也可能产生过约束问题,不要只考虑边界条件啊!
11、NUMERICAL SINGULARITY WHEN PROCESSING NODE 15294 D.O.F. 2 RATIO = 2.48305E+11", 说明NODE 15294 所在的实体在方向2上出现无限大的刚体位移。
可以在此实体上的任意一点和地面之间定义一个很软的弹簧,以消除刚体位移。方法是:interaction模块,菜单special / springs-dashpots / create, 选connect points to ground, 选节点,Degree of freedom 设为出现了刚体位移的自由度,spring stiffness为一个较小的值(太小则不足以消除刚体位移,太大则会影响变形)。
如果多个方向上出现了刚体位移,就要分别在相应的方向上各定义一个弹簧。spring 所在的节点在弹簧方向的位移乘以spring stiffness,就是弹簧所分担的载荷,它应该远远小于在此方向上的外载荷。如果模型位移很小,我常常把spring stiffness设为1.
|
|