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