ABAQUS的umeshmotion利用自适应网格技术在计算过程中自动调整节点位置,由此可进行烧蚀、磨损等涉及节点移动的模型仿真。关于烧蚀的模型网上已有人做了个简单的例子
该模型采用的节点移动准则是节点随温度变化
也即是倒数第四行代码,节点随着正比于温度平方的速度沿着全局坐标系3方向进行移动。
该程序虽短,但也具备了完备的umeshmotion的功能,要点在于构造ULOCAL变量的变化关系。
Umeshmotion子程序变量解释
1 ULOCAL
自适应网格约束节点的网格位移或速度的组成部分,这些组成部分都在坐标系 ALOCAL 中已有描述。 ULOCAL 将作为由网格平滑算法确定的值传递到程序中。 网格位移或速度的所有组件将被应用; 即您无法选择应用网格位移的方向。
2 UREF
作为自适应网格约束定义的一部分提供的、用户指定的位移或速度的值。该值基于任何幅度定义来更新,并用于与当前步骤相关联的自适应网格约束或默认斜坡幅度变量。
3 NODE
节点编号
4 NNDOF
节点自由度数
5 LNODETYPE
节点类型标志
LNODETYPE=1 表明节点是位于自适应网格区域的内部
LNODETYPE=2 表明节点涉及绑定约束
LNODETYPE=3 表明节点位于自适应网格区域边界的拐角处
LNODETYPE=4 表明节点位于自适应网格区域边界的边缘
LNODETYPE=5 表明节点位于自适应网格区域边界的平面上
LNODETYPE=6 表明节点作为主节点参与约束(不是绑定约束)
LNODETYPE=7 表明节点作为从节点参与约束(不是绑定约束)
LNODETYPE=10 表明节点上作用了一个集中力
6 ALOCAL
本地坐标系与节点处的自适应网格域的切线对齐。 如果节点位于自适应网格域的内部,则ALOCAL 将被设置为单位矩阵。 在其他情况下,1 方向是沿着平坦表面的边缘或平面。 当NDIM = 2 时,2 方向与表面正交。 当 NDIM = 3 时,2 方向也位于平面的平面上,如果节点在边缘上,则该方向是任意的。 当 NDIM = 3 时,3 方向垂直于表面,或者如果节点处于边
缘,则为任意的。
7 NDIM
坐标维数
8 TIME(1)
当前分析步时间的值
9 TIME(2)
当前总时间的值
10 DTIME
时间增量
11 KSTEP
分析步编号
12 KINC
增量步编号
13 KMESHSWEEP
网格扫略数量
14 JMATYP
必须传递到 GETVRMAVGATNODE 实用程序中以访问节点上的本地结果的变量。
15 JGVBLOCK
必须传递到 GETVRN,GETNODETOELEMCONN和
GETVRMAVGATNODE实用程序才能访问节点上的本地结果的变量。
关于utility subroutine等详细信息可参考官方帮助文档。
摩擦磨损模型展示
二维几何模型如上,底部为刚体部件,可视为“磨刀石”,上部为研究的摩擦部件,要探究其在摩擦下的应力场、温度场及磨损量等。
材料属性如下
采用热力耦合分析步,三个分析步,第一步用于上部部件加压载荷,第二步部件横向往返运动,第三步卸压。
Step-2加上ALE,即子程序施加的地方
磨损节点建立集 合并施加ALE constraints
载荷边界如下,下部固定,上端加压后横向往复运动
最后提交作业附上子程序即可运算
摩擦磨损计算采用Archard模型,磨损量正比于接触压力与滑移量,这两个量在计算过程是时时变化的,abaqus采取时间离散化,在计算的每一个分析步的每一个增量步中可认为接触压力与滑移量是常量,提取出该量数值后即可代入公式计算磨损量大小。
此段可提取接触压力CPRESS和滑移量ACSLIP1
打开的文件目的是输出调用子程序过程中需要的变量
计算结果
摩擦生热
result.txt结果文件输出的磨损节点的各个分析步和增量步的磨损量等信息,可导入第三方软件如matlab等进行数据整理。
这是简单的二维分析,对于复杂三维如带曲率的磨损面的磨损分析则需对子程序进行修改,但总体思路皆与本文类似,希望本文能对苦于用abaqus子程序进行磨损分析的同学起到一些帮助。