ANSYS 有限元分析 接触分析




Blog Links





一、前言


  1882 年 Hertz 柏林大学发表的学术论文 论弹性体的接触( On the contact of elastic solids) 开启了接触力学的研究。


  接触问题属于不定边界问题,即使是弹性接触问题也具有表面非线性,其中既有由接触面积变化而产生的非线性及由接触压力分布变化而产生的非线性,也有由摩擦作用产生非线性。


  两个互相接触的物体,随着其载荷大小的不同,无论是接触面积还是接触压力分布,都会发生显著的变化。即随着载荷增大,法向接触压力分布的变化是非线性的,而其切向压力分布由于摩擦作用将会更加复杂。 由于这种表面非线性和边界不定性,所以,一般说来,接触问题的求解是一个 反复迭代 的过程。


  从物理意义上讲,两个物体彼此接触,接触压力在两个物体间传递,同时,接触面之间存在摩擦将产生切应力,阻止物体切向运动;从数值计算上讲,接触是及其不连续的边界条件非线性,即接触面接触时产生接触约束,接触面一旦分离,约束失效。


  处于接触状态的两个表面,有如下特点:

   - 1. 互相不穿透

   - 2. 能够传递法向压力和切向摩擦力

   - 3. 通常不传递法向拉力

在这里插入图片描述


  接触是 状态改变 非线性,即系统的刚度依赖于接触状态。接触状态可分为分离状态、粘接接触状态、滑动接触状态。


在这里插入图片描述


  接触是强非线性,随着接触状态的改变,接触表面的法线和切向刚度都有显著变化。刚度突变会导致严重的收敛困难。


在这里插入图片描述


  接触问题通常分为两类:刚-柔接触 和 柔-柔接触。


二、接触算法


  以有限元为基础的接触问题数值解法,主要可分为直接迭代法、接触约束算法和数学规划法等。


  直接迭代求解法:首先假设初始接触状态形成系统刚度矩阵,求得位移和接触力后,根据接触条件不断修改接触状态,重新形成刚度矩阵求解,反复迭代直至收敛。迭代法是解决非线性问题的常用方法,方程可用 Newton-Raphson 等方法迭代求解。


  接触约束算法:接触问题可描述为求区域内位移场 U ,使得系统统的势能 Π(U) 在接触边界条件的约束下达到最小。

  接触约束算法就是通过对接触边界约束条件的适当处理,将约束优化问题转化为无约束优化问题求解。 根据无约束优化方法的不同,主要可分为罚函数方法和 Lagrange 乘子法等。


  ANSYS 软件采用的是接触约束算法,它提供了如下四种接触约束算法:

  • 纯罚函数法

  • 增广拉格朗日乘子法

  • 纯拉格朗日乘子法

  • 接触法向采用拉格朗日乘子法与摩擦方向采用罚函数法的综合方法


2.1 罚函数法


  罚函数法用一个接触弹簧来在两个面间建立关系,弹簧刚度被称为惩罚参数,其实就是接触刚度。当两面分开时,弹簧不起作用;当面开始穿透时,弹簧起作用,根据胡克定律:F = K Δ ,此处的 K 为法向刚度 。


在这里插入图片描述


  除了表面间传递法向压力外,接触单元还传递切向摩擦力,采用切向罚刚度保证切向的协调,作为初始值,可采用 Ktangent = 0.01 * Knormal


在这里插入图片描述


  然而,在上述物理模型中,存在一个两难问题,即为了维持相互接触的两个物体的平衡,则接触面间的压力/摩擦力必不为 0 (如果为 0 你费劲巴拉的分析个毛线),进而有接触面间的相对法向/切向位移 Δ (法向可称作作穿透量,切向可称作滑移量) 必不为 0,这与事实相违背,实际上任何两个相互接触且有相互作用的固体,不存在宏观层面上的相互穿透 (微观层面上可能出现相互扩散现象),这是物理事实。为了保证计算能继续进行,又不与物理事实发生严重的背离,则相对位移 Δ 不应过大,而在特定外力作用下,物体维持平衡所需的接触力是固定不变的,那么,此时接触刚度就应该足够大。当接触刚度过大时,又会引起收敛困难,这时因为,如果接触刚度太大,一个微小的穿透就会产生一个很大的接触反力,在下一次迭代中,可能会将接触面推开,这将导致收敛振荡,并且尝尝会发散。因此,必须给定合适的接触刚度,最小的穿透量给出最大的计算精度。

  罚函数法:对于罚函数法需要接触法向刚度与切向刚度。它主要的缺点是两个接触物体表面之间的渗透深度取决于这两个刚度。如果刚度较小,则渗透就会很大。高的刚度可以减小渗透的深度,但是会导致整体刚度矩阵出现病态和收敛的困难。因此,理想的刚度就是既要能保证渗透较小,又要保证整体刚度阵不出现病态,才能够收敛。


2.2 拉格朗日乘子法法


  拉格朗日乘子法,增加一个附加自由度 (接触压力),来满足不可穿透条件。


2.3 增广拉格朗日乘子法


  增广拉格朗日乘子法:该方法是通过改变罚因子寻找拉格朗日乘子的迭代过程。与纯罚函数相比增广拉格朗日乘子法通常能够产生更好的情况,接触刚度系数对它的影响相对也要小一些。但是在有些分析中需要一些附加的迭代,需要较多的时间。


  多数 ANSYS 接触单元可以将罚函数法和拉格朗日乘子法结合起来强制接触协调,称之为增广拉格朗日法。在迭代的开始,接触协调基于惩罚刚度确定,一旦达到平衡,检查穿透容差。此时,如有必要,接触压力增加,迭代继续。


  绝对理想情况下,相互接触的两个物体的接触面应该不发生穿透,但为了使得分析的顺利进行,同时,又具有相当的精度,应保证接触面的实际穿透量小于规定的允许穿透量。


  当程序防止相互穿透时,称之为强制接触协调。当没有强制接触协调时,发生穿透。


  对面─面的接触单元,程序可以使用增广拉格朗日算法或罚函数方法,通过使用单元关键项 KETOPT(2) 来指定。



三、接触特性


  对于接触问题,必须认识到模型在变形期间哪些地方可能发生接触,在 ANSYS 中,通过目标单元和接触单元来定义它们,目标和接触单元跟踪变形阶段的运动,构成一个接触对的目标单元和接触单元通过共享的实常数号联系起来。


  ANSYS 支持刚体─柔体的面─面的接触单元,刚性面被当作 “目标” 面,分别用 Targe169 和 Targe170 来模拟 2-D 和 3-D 的 “目标” 面,柔性体的表面被当作 “接触” 面,用 Conta171、Conta172、Conta173、Conta174 来模拟。一个目标单元和一个接单元叫做一个 “接触对” 程序通过一个共享的实常数号来识别 “接触对”,为了建立一个 “接触对” 给目标单元和接触单元指定相同的实常数号。


  接触对特征:接触刚度、穿透容差、确定目标面。


  在 GUI 中,定义的接触对及相关属性按如下方式查看,保证 ANSYS 处于前处理模块,否则接触竖向无法查看。


在这里插入图片描述


3.1 接触刚度


  当外载一定时,若要维持相互接触的两个物体的平衡,接触面上的相互作用力是唯一确定的。于是有,接触面间的接触刚度越大,计算过程中产生的穿透量就越小,越接近物理实际,计算结果也就越精确。但过大的接触刚度将产生计算振荡,甚至是发散,使计算收敛困难。因此,必须指定合适的接触刚度,接触刚度包括法向接触刚度 Kn 和切向接触刚度 Kt ,一般,不特殊说明,接触刚度特指法向接触刚度 Kn,初始切向接触刚度可近似取为 Kt = 0.01 * Kn


   接触刚度 是同时影响计算精度和收敛性的最重要参数 。


  所有的 ANSYS 接触单元都采用罚刚度 (接触刚度) 来保证接触界面的协调性。

  所有的接触问题都需要定义接触刚度,两个表面之间渗透量的大小取决于接触刚度,过大的接触刚度可能会引起总刚矩阵的病态,而造成收敛困难,一般来说,应该选取足够大的接触刚度以保证接触渗透小到可以接受,但同时又应该让接触刚度足够小以使不会引起总刚矩阵的病态问题而保证收敛性。


  所有的接触问题都需要定义接触刚度,两个表面之间渗透量的大小取决于接触刚度,过大的接触刚度可能会引起总刚矩阵的病态而造成收敛困难,一般来说,应该选取足够大的接触刚度以保证接触渗透小到可以接受,但同时又应该让接触刚度足够小以使不会引起总刚矩阵的病态问题而保证收敛性。


3.1.1 接触刚度的初选


  1. 面-面接触

   对于面-面接触单元,接触刚度通常指定为: Kn = FKN * 基体单元刚度 (KFN为比例因子) 。

   首次计算时,FKN 可按如下方式进行初始估计 (若想获得更精确的解答,需要对FKN进行敏感性分析):


接触类型FKN
大面积实体接触1.0
柔性较大的部件 (弯曲主导)0.01 ~ 0.1

在这里插入图片描述

   For certain contact problems, you may choose to use the real constant FKN to define a normal contact stiffness factor. The usual factor range is from 0.1 - 10.0, with a default of 1.0. The default value should work in most cases. You can also define an absolute normal contact stiffness by specifying a negative value for FKN.

   Kn 也可直接指定具体数值,其量纲为 (F/L)/(L^2),此时,通过设置 FKN 为负值来实现。


  2. 点-面接触 & 点-点接触

   对于点-点接触单元和点-面接触单元,需要给定绝对法向接触刚度,即直接指定 Kn 的具体取值。


接触类型FKN
对于大变形0.1 * E < Kn < 1.0 * E
对于弯曲0.01 * E < Kn < 0.1 * E

   上表中,E 为弹性模量。


3.1.2 接触刚度的确定


  参数敏感性分析,确定计算结果对接触刚度是否敏感。以下步骤使用于静态、非路径相关的分析。


  Step 1. 设置接触单元关键选项, 令KEYOPY(10)=1,以允许接触刚度在重启动期间可以修改。

  Step 2. 给定一个较小的初始接触刚度值,使计算能快速收敛。

  Step 3. 运行分析,或对前几个子步进行计算。

  Step 4. 检查穿透量和每一个子步平衡迭代次数。

      若穿透量大,需要提高接触刚度重新分析;若收敛的迭代次数过多或未收敛,则可降低接触刚度重新分析。

  Step 5. 检查接触压力、Mises等效应力 (SEQV) 等是否发生显著变化。

  Step 6. 若有显著变化,则增大接触刚度重新启动求解,直到达到所期望的收敛。


在这里插入图片描述


  注意:罚刚度 (接触刚度) 可以在荷载步间改变,并且可以在重启动中调整。

  接触刚度是同时影响计算精度和收敛性的最重要参数。如果收敛有问题,减小接触刚度值,重新分析。

  在敏感的分析中,还应该改变接触刚度来验证结果的有效性。在分析中减小接触刚度范围,直到结果 (接触压力、最大 SEQV 等) 不再明显改变。


  在 ANSYS 中,默认情况下,FKN = 1.0 ,在多数情况下,已经能得到相当的计算精度。


3.2 穿透容差


  同样地,穿透容差也是影响计算精度和收敛性的重要参数。当穿透容差较小时,可以改善计算精度,但会使得收敛更加困难。

  和接触刚度一样,以系数 FTOLN 的方式给定穿透容差。即程序通过下层单元的深度 h 乘以所给出的系数来确定穿透容差,在计算过程中,程序始终保证实际穿透量 Δ 小于等于穿透容差,如下式所示:


Δ   ≤   [ Δ ] = F T O L N   ∗   h \Delta \ \leq \ [\Delta] ={\rm FTOLN} \ * \ h Δ  [Δ]=FTOLN  h


在这里插入图片描述


  注意:不要设置较小的接触刚度,同时设置较小的穿透容差,即 FKN 和 FTOLN 尽量协调合理。

  太小的 FTOLN 值将导致收敛困难,增大惩罚刚度 (FKN) 将会减小穿透。


  Use real constant FTOLN in conjunction with the augmented Lagrangian method. FTOLN is a tolerance factor to be applied in the direction of the surface normal. The range for this factor is less than 1.0 (usually less than 0.2), with a default of 0.1, and is based on the depth of the underlying solid, shell, or beam element. This factor is used to determine if penetration compatibility is satisfied.


  Contact compatibility is satisfied if penetration is within an allowable tolerance (FTOLN times the depth of underlying elements). The depth is defined by the average depth of each individual contact element in the pair. If the program detects any penetration larger than this tolerance, the global solution is still considered unconverged, even though the residual forces and displacement increments have met convergence criteria. You can also define an absolute allowable penetration by specifying a negative value for FTOLN. In general, the default contact normal stiffness is inversely proportional to the final penetration tolerance; the tighter the tolerance, the higher the contact normal stiffness.


  增广拉格朗日算法是为了找到精确的拉格朗日乘子而对罚函数修正项进行反复迭代,与罚函数的方法相比,拉格朗日方法不易引起病态条件,对接触刚度的灵敏度较小,然而,在有些分析中,增广拉格朗日方法可能需要更多的迭代,特别是在变形后网格变得太扭曲时。使用拉格朗日算法的同时应使用实常数 FTOLN,FTOLN 为拉格朗日算法指定容许的最大渗透,如果程序发现渗透大于此值时,即使不平衡力和位移增量已经满足了收敛准则,总的求解仍被当作不收敛处理,FTLON 的缺省值为 0.1,这个值可以改变,但如果此值太小可能会造成太多的迭代次数或者不收敛。


3.3 最大摩擦


  在基本的库仑摩擦模型中,两个接触面在开始相互滑动之前,在它们的界面上会有达到某一大小的剪应力产生,这种状态叫做粘合状态 (stick) 。库仑摩擦模型定义了一个等效剪应力,一旦剪应力超过此值后,两个表面之间将开始相互滑动,这种状态,叫做滑动状态 (Sliding) 粘合/滑动计算决定什么时候一个点从粘合状态到滑动状态或从滑动状态变到粘合状态,摩擦系数可以是任一非负值。程序缺省值为表面之间无摩擦。




  摩擦分为静摩擦、滑动摩擦和滚动摩擦。最大静摩擦比滑动摩擦略大,近似计算时可认为最大静摩擦等于滑动摩擦,通常,滚动摩擦远小于滑动摩擦 (高中物理知识)。

  根据高中物理知识,滑动摩擦力可按下式计算:


f = μ N f = \mu N f=μN


  产生摩擦力的三要素:两个物体相互接触、接触面粗糙、存在垂直于接触面的正压力。

  物体在外力的作用下,接触面上将产生摩擦力 (本处不讨论无摩擦情况),摩擦力达到最大静摩擦力前物体保持静止状态,当摩擦力超过最大静摩擦力时,物体将发生滑动,此时摩擦力由静摩擦力转化为滑动摩擦力。




  ANSYS 程序提供了一个不管接触压力多大而人为指定最大等效剪应力的选项,如果等效剪应力达到此值时,滑动发生。为了指定接触界面上最大许可剪应力,设置常数 TAUMAX,这种限制剪应力的情况一般用于接触压力非常大的时候,以至于用库仑理论计算出的界面剪应力超过了材料的屈服极限。一对 TAUMAX 的一个合理估计为 σy/(3^0.5) 即 0.577 σy

在这里插入图片描述


3.4 初始接触条件

  在动态分析中,刚体运动一般不会引起问题,然而在静力分析中,当物体没足够的约束时会产生刚体运动,有可能引起错误而终止计算。


  在仅仅通过接触的出现来约束刚体运动时,必须保证在初始几何体中,接触对是接触的,换句话说,要建立模型以便接触对是“刚好接触”的,然而这样作可能会遇到以下问题:

  • 刚体外形常常是复杂的,很难确定第一个接触点的发生位置。

  • 既使实体模型是在初始接触状态,在网格划分后由于数值舍入误差,两个面的单元网格之间也可能会产生很小的缝隙。

  • 接触单元的积分点和目标单元之间可能有小的缝隙。


  同理,在目标面和接触面之间可能发生过大的初始渗透,在这种情况下,接触单元可能会高估接触力,导致不收敛或接触面之间脱离开接触关系。定义初始接触也许是建立接触分析模型时最重要的方面。可通过下面两种方法来调整接触对的初始接触条件。

  1. 使用实常数 ICONT 来指定一个好的初始接触环,初始接触环是指沿着目标面的“调整环”的深度,如果没有人为指定 ICONT 的值,程序会根据几何尺寸来给 ICONT 提供一个小值,同时输出一个警告信息,对 ICONT一个正值表示相对于下面变形体单元厚度的比例因子,一个负值表示接触环的真正值,任何落在“调整环”区域内的接触检查点被自动移到目标面上。

  2. 使用实常数 PMIN 和 PMAX 来指定初始容许的渗透范围,当指定 PMAX 或 PMIN 后,在开始分析时,程序会将目标面移到初始接触状态,如果初始渗透大于 PMAX,程序会调整目标面的减少渗透,接触状态的初始调节仅仅通过平移来实现。


  The program provides one extension of classical Coulomb friction: real constant TAUMAX is maximum contact friction with units of stress. This maximum contact friction stress can be introduced so that, regardless of the magnitude of normal contact pressure, sliding will occur if the friction stress reaches this value. You typically use TAUMAX when the contact pressure becomes very large (such as in bulk metal forming processes). TAUMAX defaults to 1.0e20. Empirical data is often the best source for TAUMAX. Its value may be close to 0.577 σy , where σy is the yield stress of the material being deformed.


3.5 时间步长


  时间步长必须足够以描述适当的接触。如果时间步长太大,则接触力的光滑传递会被破坏,设置精确时间步长的可信赖的方法是打开自动时间步长。

  为了获得精度足够的计算结果,时间步长应足够小。


在这里插入图片描述


  接触单元的 KEYOPT(7) 选型用来控制时间步长。


CONTACT 174 KEYOPT(7)
Element level time incrementation control / impact constraints

Value描述
0No control
1Automatic bisection of increment
2Change in contact predictions made to maintain a reasonable time/load increment
3Change in contact predictions made to achieve the minimum time/load increment whenever a change in contact status occurs

  与其他非线性分析一样,对于接触问题,时间步长是非常有力的提高收敛性的工具。

  采用足够小的时间步长已获得收敛,对于冲击瞬态分析,必须使用足够数量的计算步以描述表面间的动量转移;对于路径相关现象 (如接触摩擦),相对较小的最大时间步长对于计算精度是必须的。



3.6 目标面


  在接触分析中,目标面被定义为连续面,而接触面则通过一系列离散的点 (单元高斯积分点) 来定义。两个面在高斯积分点之间可以穿透,主要是目标面穿透接触面。


在这里插入图片描述


  Contact detection points are located at the integration points of the contact elements which are interior to the element surface. The contact element is constrained against penetration into the target surface at its integration points. However, the target surface can, in principle, penetrate through into the contact surface.

  Surface-to-surface contact elements use Gauss integration points as a default, which generally provide more accurate results than the nodal detection scheme, which uses the nodes themselves as the integration points. The node-to-surface contact element, CONTA175, the line-to-line contact element, CONTA176, and the line-to-surface contact element, CONTA177, always use the nodal detection scheme.


在这里插入图片描述


3.6.1 选面原则


  ANSYS 支持刚体/柔体的面-面的接触单元,刚性面被当做 目标面 (Abaqus中的主面,粗网格硬材料为主面),分别用 Target169Target170 来模拟 2D 和 3D 的目标面,柔性体的表面被当做 接触面 (Abaqus中的从面),用 Conta171Target169Conta173Conta174 来模拟。


  目标面的选择原则:凹、粗、刚、高阶、大,即凹面、网格较粗的面、刚度较大的面、高阶单元、面积较大的面。


  特别注意: 当高低阶单元相接触时,以下均不作为主要因素考虑,此时高阶单元一定是接触面。



主面 (Abaqus/Master) 目标面 (Ansys/Target) 高阶单元 粗网格 硬材料 大面积 凹面

从面 (Abaqus/Slaver) 接触面 (Ansys/Contact) 低阶单元 细网格 软材料 小面积 凸面


主 - 目标 - 高粗硬大凹

从 - 接触 - 低细软小凸



  一个目标单元和一个接触单元叫做一个 接触对,程序通过一个共享的实常数来识别“接触对”,给目标单元和接触单元指定相同的实常的号。


  在 ANSYS GUI 中,目标面显示为洋红色,接触面显示为绿色,如下所示:


在这里插入图片描述

左侧主面 右侧从面

  Abaqus 使用单纯的主-从接触算法:从面上的节点不能侵入主面的任何部分。该算法对主面没有做限制,主面可以在从面的节点之间侵入从面。


3.6.2 导向节点


  缺省时,程序自动约束刚性目标面,即自动地将目标的位移和转动设定为 0 。

  要模拟刚性目标的更复杂行为,可以创建一个特殊的单结点目标单元,称为导向结点。该单元通过具有相同的实常数属性与目标面联系起来。

  对于整个目标面,导向结点起手柄作用,可以对导向结点指定非零的位移、转动、力或力矩,来模拟目标面的刚体运动。注意,如果存在导向结点,则程序将不自动约束刚性面。

  刚性目标面可以与导向结点联系起来,导向结点的运动控制目标面的运动,可以在导向结点上为整个目标面确定力、位移或转动,可以认为导向结点是整个刚性面的手柄。

  如果定义一个导向结点,ANSYS仅在导向结点上检验边界条件而忽略目标面上其他结点的约束。

  导向结点可以通过对关键点划分网格生成,或通过采用和目标单元相同的单元属性直接生成。

  导向结点可以在任何位置,它不需要实际地附于其他目标单元。

  采用命令 TSHAPE 可直接生成导向结点,该方式是为目标单元形状设置了一个附加属性,在所要求的结点处创建单元。



  • TSHAP

使用功能: 为目标单元 TARGE169 和 TARGE170 指定 2D 和 3D 几何表面。

使用格式: TSHAP,shape

参数说明shape:为目标单元 TARGE169 和 TARGE170 指定几何形状。其有效的形状有:PILO (2D或3D导向/引导节点)。

使用提示:使用该命令可以生产面与面接触时的刚性目标面,对于 2D 是 TARGE169 、CONTA171 和 CONTA172,对于 3D 是 TARGE170 、CONTA173 和 CONTA174 。执行该命令后,其后生成的单元具有同样的形状,直到用另一个形状来代替。



  • Pilot Nodes

  The rigid target surface can also be associated with a “pilot node,” which is really an element with one node, whose motion governs the motion of the entire target surface. You can think of a pilot node as a handle for the rigid target surface. Forces/moments or rotations/displacements for the entire target surface usually should be prescribed on the pilot node. The pilot node can be one of the nodes on the target element or a node at any arbitrary location. The location of the pilot node is important only when rotation or moment loading is required.



目标面导向节点 相当于 Abaqus 里的 参考点 Reference Point 。???????


在这里插入图片描述



3.7 Pinball


This option allows you to specify a contact search area commonly referred to as a pinball region.

Setting a pinball region can be useful in cases where initially, bodies are far enough away from one another that, by default, the program will not detect that they are in contact. You could then increase the pinball region as needed. Consider an example of a surface body that was generated by offsetting a face of a solid body, possibly leaving a large gap, depending on the thickness. Another example is a large deflection problem where a considerable pinball region is required due to possible large amounts of over penetration. In general though, if you want two regions to be bonded together that may be far apart, you should specify a pinball region that is large enough to ensure that contact indeed occurs.



四、接触单元


  ANSYS 支持三种接触方式:点-点点-面面-面 接触,每种接触方式使用的接触单元适用于某类问题。


  为了给接触问题建模,首先必须认识到模型中的哪些部分可能会相互接触,如果相互作用的其中之一是一点,模型的对立应组元是一个结点。如果相互作用的其中之一是一个面,模型的对应组元是单元,例如梁单元,壳单元或实体单元,有限元模型通过指定的接触单元来识别可能的接触匹对,接触单元是覆盖在分析模型接触面之上的一层单元。


在这里插入图片描述


  有限元模型通过指定的接触单元来识别可能的接触配对,接触单元是覆盖在分析模型接触面之上的一层单元。


  ANSYS 中常见接触单元如下:


在这里插入图片描述

接触CONTA单元类

在这里插入图片描述

目标TARGE单元类


五、单元关键项


5.1 CONTA174 KeyOption


在这里插入图片描述

Contact174默认设置



在这里插入图片描述



  1. KEYOPT(2) —— Contact algorithm
01234
Augmented Lagrangian (default)Penalty functionMultipoint constraint (MPC)Lagrange multiplier on contact normal and penalty on tangentPure Lagrange multiplier on contact normal and tangent

  1. KEYOPT(4) —— Location of contact detection point
0123
On Gauss point (for general cases)On nodal point - normal from contact surfaceOn nodal point - normal to target surfaceOn nodal point - normal from contact surface (projection-based method)

  1. KEYOPT(5) —— CNOF/ICONT Automated adjustment
01234
No automated adjustmentClose gap with auto CNOFReduce penetration with auto CNOFClose gap/reduce penetration with auto CNOFAuto ICONT

  1. KEYOPT(9) —— Effect of initial penetration or gap
012345
Include both initial geometrical penetration or gap and offsetExclude both initial geometrical penetration or gap and offsetInclude both initial geometrical penetration or gap and offset, but with ramped effectsInclude offset only (exclude initial geometrical penetration or gap)Include offset only (exclude initial geometrical penetration or gap), but with ramped effectsInclude offset only (exclude initial geometrical penetration or gap) regardless of the initial contact status (near-field or closed)

  1. KEYOPT(10) —— Contact stiffness update
012
Each iteration based on the current mean stress of underlying elements. The actual elastic slip does not to exceed the maximum allowable limit (SLTO) within a substepEach load step if FKN is redefined during the load step.Each iteration based on the current mean stress of underlying elements. The actual elastic slip never exceeds the maximum allowable limit (SLTO) during the entire solution.

  1. KEYOPT(12) —— Behavior of contact surface
0123456
StandardRoughNo separation (sliding permitted)BondedNo separation (always)Bonded (always)Bonded (initial contact)



5.2 TARGE170 KeyOption


在这里插入图片描述

Target170默认设置


在这里插入图片描述

  1. KEYOPT(2) —— Boundary conditions for rigid target nodes
01
Automatically constrained by the programSpecified by user


六、接触分析标准步骤


  创建接触的标准步骤为:定义实常数并设置接触特性参数(实常数的关键选项)、定义接触单元类型并设置单元关键项和创建接触单元(目标面导向结点)。


  实常数用来建立主从接触面间的联系,并定义某些关键参数,如 FKN (定义法向接触刚度因子)、FTOLN (定义最大渗透范围)、PINB (定义pinball区域) 等。

  单元 keyoption 用来定义接触的种类及有关算法,MPC、增广拉格朗日法等等。

  接触单元依附于其他单元的表面,ESURF。


  在 ANSYS 中,可在接触向导即接触对管理器中,快速创建和查看接触信息。接触向导为大多数接触问题提供了一个简单的办法来构造接触对,接触向导将引导创建接触对的过程。



在这里插入图片描述

接触向导的两种访问方式


6.1 定义实常数


  • R

使用功能: Defines the element real constants.

使用格式: R,NSETR1R2R3R4R5R6

参数说明NSET 为 Real constant set identification number (arbitrary).

      R1R2R3, . . . ,R6 分别为实常数值,如下表所示。


*GET,rlmax,RCON,0,NUM,MAX      ! 获取当前定义的最大实常数编号并将其赋予变量rlmax。
R,rlmax+1                      ! 定义新的实常数rlmax+1。


在这里插入图片描述

在这里插入图片描述

6.2 定义/创建目标单元


  主M - 目标T - 高粗硬大凹 - 连续面

*GET,etmax,ETYP,,NUM,MAX       ! 获取当前定义的最大单元类型编号并将其赋予变量etmax。
ET,etmax+1,TARGE170            ! 定义目标面单元类型,单元类型:TARGE170,编号:etmax+1。
KEYOPT,etmax+1,2,1             ! 设置编号为etmax+1的单元关键项KEYOPT(2)的值为2。


REAL,rlmax+1                   ! 激活实常数
TYPE,etmax+1                   ! 激活单元类型号etmax+1
MAT,mtmax+1                    ! 激活材料号mtmax+1,如无特殊定义,不需要激活材料号。


...各种选择集,选择出位于接触面上的网格面...


ESURF,,TOP
ALLSEL,ALL                     ! Select everything 显示全部,释放选择集。

在这里插入图片描述

TARGE170 KEYOPT(2)


  KEYOPT(2) = 1 即用户指定刚性面的边界条件,目的是创建导向结点。


在这里插入图片描述



6.3 定义/创建接触单元


  从S - 接触C - 低细软小凸 - 离散面

ET,etmax+2,CONTA174            ! 定义接触面单元类型,单元类型:CONTA174,编号:etmax+2。
KEYOPT,etmax+2,4,0             ! KEYOPT(4)=0
KEYOPT,etmax+2,9,2             ! KEYOPT(9)=2
KEYOPT,etmax+2,10,2            ! KEYOPT(10)=2
KEYOPT,etmax+2,5,4             ! KEYOPT(5)=4


REAL,rlmax+1                   ! 激活实常数
TYPE,etmax+2                   ! 激活单元类型号etmax+2
MAT,mtmax+1                    ! 激活材料号mtmax+1,如无特殊定义,不需要激活材料号。


...各种选择集,选择出位于接触面上的网格面...


ESURF,,TOP
ALLSEL,ALL                     ! Select everything 显示全部,释放选择集。

在这里插入图片描述




七、接触分析实例


  约束创建前,需将模型按各部件进行装配,相当于 Abaqus 的 Assembly,法兰连接有限元模型主要包括,法兰模型、垫片模型和螺栓杆模型,运行 命令流 No.19,可将各部件进行装配。


  PartFlange.cdb、PartWasher.cdb 及 PartBolt.cdb 文件由 命令流 No.1 ~ No.18 创建,详见博客:ANSYS 有限元分析 几何建模ANSYS 有限元分析 网格划分 等。


FINISH                                ! 退出当前处理器
/CLEAR,ALL                            ! 清除所有
/PREP7                                ! 进人前处理器

CDREAD,db,'PartFlange','cdb',,'',''   ! 导入法兰模型
CDREAD,db,'PartWasher','cdb',,'',''   ! 导入垫片模型
CDREAD,db,'PartBolt','cdb',,'',''     ! 导入栓杆模型

/ESHAPE,0                             ! 关闭梁截面显示
/REPLOT                               ! Replot
EPLOT                                 ! Elements plots
命令流 No.19


在这里插入图片描述



  该模型主要约束关系包括:上下法兰间的标准接触、垫片与法兰间的标准接触及垫片与螺栓杆端部间的MPC绑定接触。



7.1 MPC


  MPC: Multi-point constraints / 多点约束,用于连接不同类型单元的一种接触算法。

  多点约束 MPC 允许在计算模型不同的自由度之间强加约束。简单来说,MPC 定义的是一种结点自由度的耦合关系,即以一个结点的某几个自由度为标准值,然后令其他指定的节点的某几个自由度与这个标准值建立某种关系。多点约束常用于表征一些特定的物理现象,比如刚性连接、铰接、滑动等。多点约束也可用于不相容单元间的载荷传递,是一项重要的有限元建模技术。


在这里插入图片描述

Abaqus中的MPC

  MPC 对于处理接触连接时有几点注意事项:

  (1). 接触面节点上不能施加 MPC 以外的位移边界条件或者是其他约束耦合方程。因为接触点的一些自由度已在 MPC 约束删除,单独施加会产生约束过多现象。

  (2). 约束面时不宜过多,否则会引起对内存需求峰值过高,内存较少时应以考虑。



7.1.1 面-面绑定

*GET,rlmax,RCON,0,NUM,MAX   ! 获取模型空间当前最大实常数号
*GET,etmax,ETYP,,NUM,MAX    ! 获取模型空间当前最大单元类型号

R,rlmax+1                   ! 定义新实常数

ET,etmax+1,TARGE170         ! 定义目标面单元 - 连续面

ET,etmax+2,CONTA174         ! 定义接触面单元 - 离散面
KEYOPT,etmax+2,2,2          ! Contact algorithm: Multipoint constraint (MPC).
KEYOPT,etmax+2,4,1          ! Location of contact detection point: On nodal point - normal from contact surface
KEYOPT,etmax+2,5,4          ! CNOF/ICONT Automated adjustment: Auto ICONT.
KEYOPT,etmax+2,9,1          ! Effect of initial penetration or gap: 
                            ! Exclude both initial geometrical penetration or gap and offset.
KEYOPT,etmax+2,12,5         ! Behavior of contact surface: Bonded (always).

  • 示例



7.1.2 点-面绑定


  点-面绑定主要用于加载等。

*GET,rlmax,RCON,0,NUM,MAX   ! 获取模型空间当前最大实常数号
*GET,etmax,ETYP,,NUM,MAX    ! 获取模型空间当前最大单元类型号

R,rlmax+1                   ! 定义新实常数

ET,etmax+1,TARGE170         ! 定义目标面单元 - 连续面   
KEYOPT,etmax+1,2,1          ! Boundary conditions for rigid target nodes: Specified by user.

ET,etmax+2,CONTA174         ! 定义接触面单元 - 离散面
KEYOPT,etmax+2,2,2          ! Contact algorithm: Multipoint constraint (MPC).
KEYOPT,etmax+2,4,1          ! Location of contact detection point: On nodal point - normal from contact surface
KEYOPT,etmax+2,12,5         ! Behavior of contact surface: Bonded (always).


  • 示例:创建螺栓杆端部结点与垫片外部表面间的MPC绑定接触。

  1. 创建螺栓杆与上法兰侧垫片的绑定
*GET,etmax,ETYP, ,NUM,MAX             ! 获取模型空间当前最大单元类型号
*GET,rlmax,RCON, ,NUM,MAX             ! 获取模型空间当前最大实常数号
 
ET,etmax+1,TARGE170                   ! 定义目标面单元 - 连续面
KEYOPT,etmax+1,2,1                    ! 用户指定 rigid target nodes

ET,etmax+2,CONTA174                   ! 定义接触面单元 - 离散面
KEYOPT,etmax+2,2,2                    ! 接触算法:MPC。
KEYOPT,etmax+2,4,1                    ! 接触探测点位置:On nodal point - normal from contact surface 。
KEYOPT,etmax+2,12,5                   ! 接触面行为:始终绑定。

num = 55                              ! 螺栓总数
radius = 1000                         ! 法兰螺栓分度圆半径
tf = 40 $ tw = 5                      ! 分别为法兰厚度及垫片厚度
startPntZ = -(tf+tw)                  ! 在局部坐标系15下,梁轴线起点z坐标值。
midPntZ = 0                           ! 螺栓预紧力施加位置处
endPntZ= tf+tw                        ! 在局部坐标系15下,梁轴线终点z坐标值。
d0 = 40                               ! 螺栓孔直径/垫片内径
d1 = 70                               ! 垫片外径

CSYS,17                               ! 激活局部坐标系17


*DO,i,1,4                             ! DO循环,分别执行 i=1,2,3,4 共执行4次。

CLOCAL,201,1,radius,360/num*(i-1),0   ! 螺栓杆处的局部柱坐标系201

R,rlmax+i                             ! 定义新的实常数
REAL,rlmax+i                          ! 激活实常数

TYPE,etmax+1                          ! 激活目标单元类型号
TSHAP,PILO                            ! 目标单元几何形状为导向结点

CMSEL,S,BoltElems                     ! 选择组件BoltElems(全部螺栓杆单元)
ALLSEL,BELOW,ELEM                     ! 选择单元以下附属即构成单元的结点
E,NODE(0,0,endPntZ)                   ! 在结点(0,0,endPntZ)处创建目标单元
ALLSEL,ALL                            ! 全选,清除上述选择集。

TYPE,etmax+2                          ! 激活接触单元类型号
CMSEL,S,WasherElems                   ! 选择组件WasherElems(全部垫片单元)
ALLSEL,BELOW,ELEM                     ! 选择单元以下附属即构成单元的结点
NSEL,R,EXT                            ! 选择外表面结点

! 按坐标位置选择结点,最终选出垫片外表面结点。

NSEL,R,LOC,X,0,d1/2+0.5             
NSEL,R,LOC,Z,endPntZ-0.5,endPntZ+0.5
 
ESURF, ,TOP                           ! 在存在已选单元的自由面上生成重叠单元,即创建接触单元。

ALLSEL,ALL
CSYS,17

*ENDDO
命令流 No.20

  由 命令流 No.20 创建的螺栓杆端部与上法兰侧垫片间的接触如下图所示:


在这里插入图片描述


  1. 创建螺栓杆与上法兰侧垫片的绑定
*GET,etmax,ETYP, ,NUM,MAX             ! 获取模型空间当前最大单元类型号
*GET,rlmax,RCON, ,NUM,MAX             ! 获取模型空间当前最大实常数号
 
ET,etmax+1,TARGE170                   ! 定义目标面单元 - 连续面
KEYOPT,etmax+1,2,1                    ! 用户指定 rigid target nodes


ET,etmax+2,CONTA174                   ! 定义接触面单元 - 离散面
KEYOPT,etmax+2,2,2                    ! 接触算法:MPC。
KEYOPT,etmax+2,4,1                    ! 接触探测点位置:On nodal point - normal from contact surface 。
KEYOPT,etmax+2,12,5                   ! 接触面行为:始终绑定。



num = 55                              ! 螺栓总数
radius = 1000                         ! 法兰螺栓分度圆半径
tf = 40 $ tw = 5                      ! 分别为法兰厚度及垫片厚度
startPntZ = -(tf+tw)                  ! 在局部坐标系15下,梁轴线起点z坐标值。
midPntZ = 0                           ! 螺栓预紧力施加位置处
endPntZ= tf+tw                        ! 在局部坐标系15下,梁轴线终点z坐标值。
d0 = 40                               ! 螺栓孔直径/垫片内径
d1 = 70                               ! 垫片外径

CSYS,17                               ! 激活局部坐标系17


*DO,i,1,4                             ! DO循环,分别执行 i=1,2,3,4 共执行4次。

CLOCAL,201,1,radius,360/num*(i-1),0   ! 螺栓杆处的局部柱坐标系201

R,rlmax+i                             ! 定义新的实常数
REAL,rlmax+i                          ! 激活实常数

TYPE,etmax+1                          ! 激活目标单元类型号
TSHAP,PILO                            ! 目标单元几何形状为导向结点

CMSEL,S,BoltElems                     ! 选择组件BoltElems(全部螺栓杆单元)
ALLSEL,BELOW,ELEM                     ! 选择单元以下附属即构成单元的结点
E,NODE(0,0,startPntZ)                 ! 在结点(0,0,startPntZ)处创建目标单元
ALLSEL,ALL                            ! 全选,清除上述选择集。



TYPE,etmax+2                          ! 激活接触单元类型号
CMSEL,S,WasherElems                   ! 选择组件WasherElems(全部垫片单元)
ALLSEL,BELOW,ELEM                     ! 选择单元以下附属即构成单元的结点
NSEL,R,EXT                            ! 选择外表面结点

! 按坐标位置选择结点,最终选出垫片外表面结点。

NSEL,R,LOC,X,0,d1/2+0.5             
NSEL,R,LOC,Z,startPntZ-0.5,startPntZ+0.5
 

ESURF, ,TOP                           ! 在存在已选单元的自由面上生成重叠单元,即创建接触单元。



ALLSEL,ALL
CSYS,17

*ENDDO
命令流 No.21

  由 命令流 No.21 创建的螺栓杆端部与下法兰侧垫片间的接触如下图所示:


在这里插入图片描述



  1. 定义加载点

  实体单元的结点仅有平动自由度,无转动自由度,某一截面上弯矩的施加,需要将该面上的全部结点耦合到一个点上,相当于 Abaqus 中的参考点 Reference Point,即为目标面的形状设置为一结点(导向结点)。


  当导向结点为加载点时,导向结点的位置不要随便给定,会影响力矩数值,因此,应将导向结点严格指定为施加的加载位置处。


*GET,rlmax,RCON,0,NUM,MAX   ! 获取模型空间当前最大实常数号
*GET,etmax,ETYP,,NUM,MAX    ! 获取模型空间当前最大单元类型号
*GET,ndmax,NODE,,NUM,MAX    ! 获取模型空间当前最大结点编号

R,rlmax+1                   ! 定义新实常数

ET,etmax+1,TARGE170         ! 定义目标面单元 - 连续面   
KEYOPT,etmax+1,2,1          ! Boundary conditions for rigid target nodes: Specified by user.

ET,etmax+2,CONTA174         ! 定义接触面单元 - 离散面
KEYOPT,etmax+2,2,2          ! Contact algorithm: Multipoint constraint (MPC).
KEYOPT,etmax+2,4,1          ! Location of contact detection point: On nodal point - normal from contact surface
KEYOPT,etmax+2,12,5         ! Behavior of contact surface: Bonded (always).

CSYS,17                               ! 激活局部坐标系17
num = 55                              ! 螺栓总数
tf = 40                               ! 法兰厚度

N,ndmax+1,1000,-360/num,0.5*tf        ! 新建结点,结点编号为ndmax+1。
NSEL,,NODE,,NODE(1000,-360/num,0.5*tf)
CM,loadNode,Node                      ! 为加载点创建一组件

REAL,rlmax+1                          ! 激活实常数
TYPE,etmax+1                          ! 激活目标单元类型号
TSHAP,PILO                            
E,ndmax+1                             ! 创建目标单元
ALLSEL,ALL                            ! 退出选择集,显示全部。


REAL,rlmax+1                          ! 激活实常数
TYPE,etmax+2                          ! 激活目标单元类型号
CMSEL,S,TopFlangeElems                ! 选择组件TopFlangeElems(上法兰全部单元)
ALLSEL,BELOW,ELEM                     ! 选择单元以下附属即构成单元的结点
NSEL,R,EXT                            ! 选择外表面结点
NSEL,R,LOC,Y,-(360/num/2+0.5),-(360/num/2-0.2)      ! 选择位于加载面上的全部结点
ESURF                                 ! 在存在已选单元的自由面上生成重叠单元,即创建接触单元。
ALLSEL,ALL                            ! 全选,清除上述选择集。(select all entities)

EPLOT   

!NUMCMP,ALL                           ! 压缩所定义项的编号(存在预紧单元时别瞎压缩全部)

!/DELETE,'PartFlange','cdb'           ! 删除部件文件PartFlange.cdb
!/DELETE,'PartWasher','cdb'           ! 删除部件文件PartWasher.cdb
!/DELETE,'PartBolt','cdb'             ! 删除部件文件PartBolt.cdb

CDWRITE,DB,'AllAsmbs','cdb',,'',''    ! 当前模型另存为 AllAsmbs.cdb 文件。
                                      ! AllAsmbs.cdb为装配及接触创建完成后的有限元模型文件。
命令流 No.24


  下接 命令流 No.25 ,命令流 No.25 见博客: ANSYS 有限元分析 加载与求解 >> 五、施加荷载 >> 5.2 荷载施加 。



  由 命令流 No.24 创建的加载点与加载面间的约束如下图所示:


在这里插入图片描述



7.2 标准接触


7.2.1 接触面贴合紧密


  接触面贴合较紧密,如法兰面间的接触。

*GET,rlmax,RCON,0,NUM,MAX   ! 获取模型空间当前最大实常数号
*GET,etmax,ETYP,,NUM,MAX    ! 获取模型空间当前最大单元类型号
*GET,mtmax,MAT, ,NUM,MAX    ! 获取模型空间当前最大材料编号

R,rlmax+1                   ! 定义新实常数

ET,etmax+1,170              ! 定义目标面单元 - 连续面

ET,etmax+2,174              ! 定义接触面单元 - 离散面
KEYOPT,etmax+2,2,0          ! Contact algorithm: Augmented Lagrangian (default)
KEYOPT,etmax+2,4,0          ! Location of contact detection point: On Gauss point (for general cases).
KEYOPT,etmax+2,5,4          ! CNOF/ICONT Automated adjustment: Auto ICONT.

KEYOPT,etmax+2,9,2          ! Effect of initial penetration or gap: 
                            ! Include both initial geometrical penetration or gap and offset, 
                            ! but with ramped effects.

KEYOPT,etmax+2,10,2         ! Contact stiffness update: 
                            ! Each iteration based on the current mean stress of underlying elements. 
                            ! The actual elastic slip never exceeds the maximum allowable limit (SLTO) 
                            ! during the entire solution.

KEYOPT,etmax+2,12,0         ! Behavior of contact surface: Standard.                            
MP,MU,mtmax+1,0.12          ! 定义摩擦系数


! KEYOPT,etmax+2,9,1        ! Effect of initial penetration or gap: ???????????????????????
! 不收敛时启用               ! Include both initial geometrical penetration or gap and offset

7.2.2 接触面存在较大间隙


  接触面间存在一定距离,如锁定销与锁定孔间的接触。

*GET,rlmax,RCON,0,NUM,MAX   ! 获取模型空间当前最大实常数号
*GET,etmax,ETYP,,NUM,MAX    ! 获取模型空间当前最大单元类型号
*GET,mtmax,MAT, ,NUM,MAX    ! 获取模型空间当前最大材料编号

R,rlmax+1,,,,,,500,         ! 定义新实常数,Pinball = 500。

ET,etmax+1,170              ! 定义目标面单元 - 连续面

ET,etmax+2,174              ! 定义接触面单元 - 离散面
KEYOPT,etmax+2,4,0          ! Location of contact detection point: On Gauss point (for general cases).
KEYOPT,etmax+2,5,3          ! CNOF/ICONT Automated adjustment: Close gap/reduce penetration with auto CNOF.

KEYOPT,etmax+2,9,1          ! Effect of initial penetration or gap:
                            ! Exclude both initial geometrical penetration or gap and offset

KEYOPT,etmax+2,10,2         ! Contact stiffness update: 
                            ! Each iteration based on the current mean stress of underlying elements. 
                            ! The actual elastic slip never exceeds the maximum allowable limit (SLTO) 
                            ! during the entire solution.
                            
KEYOPT,etmax+2,12,0         ! Behavior of contact surface: Standard.    
MP,MU,mtmax+1,0.12          ! 定义摩擦系数

  • 示例 1:创建上下法兰与垫片间的标准接触。
*GET,etmax,ETYP, ,NUM,MAX             ! 获取模型空间当前最大单元类型号
*GET,rlmax,RCON, ,NUM,MAX             ! 获取模型空间当前最大实常数号
 
R,rlmax+1                             ! 定义新的实常数

ET,etmax+1,170                        ! 定义目标面单元 - 连续面

ET,etmax+2,174                        ! 定义接触面单元 - 离散面
KEYOPT,etmax+2,2,0                    ! 接触算法:增广拉格朗日乘子法。
KEYOPT,etmax+2,4,0                    ! 接触探测点位置:高斯积分点。
KEYOPT,etmax+2,5,4                    ! CNOF/ICONT Automated adjustment: Auto ICONT.
KEYOPT,etmax+2,9,2                    ! 初始穿透/间隙效应:包含初始几何穿透或间隙和偏置,但带有坡道效应。
KEYOPT,etmax+2,10,2                   ! 接触刚度更新:在每个迭代步基于下层单元目前的平均应力进行更新,
                                      ! 但在整个求解过程中实际弹性滑移始终不超过最大允许极限。

MP,MU,etmax+1,0.3                     ! 定义摩擦系数

CSYS,17                               ! 激活局部坐标系17
REAL,rlmax+1                          ! 激活实常数
MAT,etmax+1                           ! 激活材料编号
tf = 40 $ tw = 5                      ! 分别为法兰厚度及垫片厚度

TYPE,etmax+1                          ! 激活目标单元类型号

CMSEL,S,WasherElems                   ! 选择组件WasherElems(全部螺栓杆单元)
ALLSEL,BELOW,ELEM                     ! 选择单元以下附属即构成单元的全部结点
NSEL,R,EXT                            ! 选择表面全部结点
NSEL,R,LOC,Z,-tf-0.5,tf+0.5           ! 选择位于接触面上的全部结点
ESLN,S,0                              ! 选择结点附属单元,0表示单元的任何一个结点被选中,则该单元被选中。

ESURF                                 ! 在存在已选单元的自由面上生成重叠单元,即创建接触单元。
ALLSEL,ALL                            ! 全选,清除上述选择集。

TYPE,etmax+2                          ! 激活接触单元类型号
CMSEL,S,TopFlangeElems                ! 选择组件TopFlangeElems(上法兰全部单元)
CMSEL,A,BotFlangeElems                ! 补选组件BotFlangeElems(上法兰全部单元)

ALLSEL,BELOW,ELEM                     ! 选择单元以下附属即构成单元的结点
NSEL,R,EXT                            ! 选择外表面结点
NSEL,U,LOC,Z,-tf+0.5,tf-0.5           ! 选择位于接触面上的全部结点
ESURF                                 ! 在存在已选单元的自由面上生成重叠单元,即创建接触单元。
ALLSEL,ALL                            ! 全选,清除上述选择集。
命令流 No.22

  由 命令流 No.22 创建的垫片与上下法兰面间的接触如下图所示:


在这里插入图片描述



  • 示例 2:创建上下法兰间的标准接触。
*GET,etmax,ETYP, ,NUM,MAX             ! 获取模型空间当前最大单元类型号
*GET,rlmax,RCON, ,NUM,MAX             ! 获取模型空间当前最大实常数号
 
R,rlmax+1                             ! 定义新的实常数

ET,etmax+1,170                        ! 定义目标面单元 - 连续面


ET,etmax+2,174                        ! 定义接触面单元 - 离散面
KEYOPT,etmax+2,2,0                    ! 接触算法:增广拉格朗日乘子法。
KEYOPT,etmax+2,4,0                    ! 接触探测点位置:高斯积分点。
KEYOPT,etmax+2,5,4                    ! CNOF/ICONT Automated adjustment: Auto ICONT.
KEYOPT,etmax+2,9,2                    ! 初始穿透/间隙效应:包含初始几何穿透或间隙和偏置,但带有坡道效应。
KEYOPT,etmax+2,10,2                   ! 接触刚度更新:在每个迭代步基于下层单元目前的平均应力进行更新,
                                      ! 但在整个求解过程中实际弹性滑移始终不超过最大允许极限。


MP,MU,etmax+1,0.3                     ! 定义摩擦系数


CSYS,17                               ! 激活局部坐标系17
REAL,rlmax+1                          ! 激活实常数
MAT,etmax+1                           ! 激活材料编号
tf = 40 $ tw = 5                      ! 分别为法兰厚度及垫片厚度

TYPE,etmax+1                          ! 激活目标单元类型号
CMSEL,S,TopFlangeElems                ! 选择组件TopFlangeElems(上法兰全部单元)
ALLSEL,BELOW,ELEM                     ! 选择单元以下附属即构成单元的结点
NSEL,R,EXT                            ! 选择外表面结点
NSEL,R,LOC,Z,-0.5,0.5                 ! 选择位于接触面上的全部结点
ESURF                                 ! 在存在已选单元的自由面上生成重叠单元,即创建接触单元。
ALLSEL,ALL                            ! 全选,清除上述选择集。


TYPE,etmax+2                          ! 激活接触单元类型号
CMSEL,S,BotFlangeElems                ! 选择组件BotFlangeElems(下法兰全部单元)
ALLSEL,BELOW,ELEM                     ! 选择单元以下附属即构成单元的结点
NSEL,R,EXT                            ! 选择外表面结点
NSEL,R,LOC,Z,-0.5,0.5                 ! 选择位于接触面上的全部结点
ESURF                                 ! 在存在已选单元的自由面上生成重叠单元,即创建接触单元。
ALLSEL,ALL                            ! 全选,清除上述选择集。
命令流 No.23

  由 命令流 No.23 创建的上下法兰面间的标准接触如下图所示:


在这里插入图片描述

八、约束方程



  • CE

使用功能: Defines a constraint equation relating degrees of freedom.

使用格式: CE,NEQNCONSTNODE1Lab1C1NODE2Lab2C2NODE3Lab3C3

参数说明NEQN: Set equation reference number 其值可以为 n、HIGH、NEXT。

      NEXT:The highest defined constraint equation number plus one.

      This option automatically numbers coupled sets so that existing sets are not modified.


      CONST: Constant term of equation.

      NODE1: Node for first term of equation. If -NODE1, this term is deleted from the equation.


      Lab1: Degree of freedom label for first term of equation. Structural labels: UX, UY, or UZ (displacements);

      ROTX,ROTY, or ROTZ (rotations, in radians).


      C1: Coefficient for first node term of equation. If zero, this term is ignored.

      NODE2Lab2C2: Node, label, and coefficient for second term.

      NODE3Lab3C3: Node, label, and coefficient for third term.



  • GUI 操作

在这里插入图片描述


  The following example illustrates a typical application of a constraint equation, in which moment transfer capability is created for a connection between a beam element and plane elements:


在这里插入图片描述


  In this example, node 2 acts as a hinge if no constraint equations are used. To transfer moment between the beam and the plane-stress elements, you can use the following equation:

  ROTZ2 = (UY3 - UY1)/10

  This equation would be rewritten in the required format and entered into the program as:

  0 = UY3 - UY1 - 10*ROTZ2

CE,1,0,3,UY,1,1,UY,-1,2,ROTZ,-10

  The first unique degree of freedom in the equation is eliminated in terms of all other degrees of freedom in the equation. A unique degree of freedom is one which is not specified in any other constraint equation, coupled node set, specified displacement set, or master degree of freedom set. You should make the first term of the equation be the degree of freedom to be eliminated. Although you may, in theory, specify the same degree of freedom in more than one equation, you must be careful to avoid over-specification. You must also take care to ensure that each node and degree of freedom exists in the model. (Remember that for a degree of freedom to be present at a node, that node must be connected to an element which supplies the necessary degree of freedom.)



  • 示例:约束两结点 uz 方向位移,使之保持一致。
ALLSEL,ALL                                ! 全选即清空选择集
CMSEL,S,MNode
*GET,mndmax,NODE, ,NUM,MAX
CMSEL,S,SNode
*GET,sndmax,NODE, ,NUM,MAX
allsel,all
CE,NEXT,0,mndmax,uz,1,sndmax,uz,-1,,,,

  该命令流构建的位移约束方程为:

  UZ(MNode) = UZ(SNode) → 0 = 1.0 * UZ(MNode) - 1.0 * UZ(SNode)

  另外,这两个结点可以分别定义为两个目标面的导向结点,那么,就可以使得两个面间的 Uz 方向的位移保持一致。



九、尾声


  以上,便是 ANSYS 接触问题 部分的简单介绍。

  仅以此文为我 ANSYS 的相关学习做一个备忘,同时也为有需要的人提供多一点参考。

  胸藏文墨怀若谷,腹有诗书气自华,希望各位都能在知识的 pāo 子里快乐徜徉。

  因个人水平有限,文中难免有所疏漏,还请各位大神不吝批评指正。

  最后,祝各位攻城狮们,珍爱生命,保护发际线!

  欢迎大家点赞、评论及转载,转载请注明出处!

  为我打call,不如为我打款!


在这里插入图片描述




十、参考文献



[01]. 有限元接触分析及其在飞机投放挂架中的应用. 覃小雄.

[02]. ABAQUS 工程实例 详解. 江丙云 孔祥宏 罗元元 编著.

[03]. ANSYS 接触分析. 安世亚太.

[04]. ANSYS-高级接触分析.

[05]. ANSYS接触分析总结. 晓喻.

[06]. ANSYS 15.0 有限元分析完全自学手册. 郝勇 钟礼东 等编著.

[07]. ANSYS 参数化编程与命令手册. 龚曙光 谢桂兰 黄云清 编著.

[08]. ANSYS Mechanical APDL Command Reference. Release 18.2.

[09]. ANSYS Mechanical APDL Element Reference. Release 18.2.

[10]. Ansys中的接触协调条件和多点约束MPC. 坐倚北风.





  • 58
    点赞
  • 262
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hulunbuir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值