UMESHMOTION子程序模拟接触磨损
- 格式:pdf
- 大小:916.15 KB
- 文档页数:9
图 15 未使用 UMESHMOTION 子程序时的计算结果
图 16 使用 UMESHMOTION 子程序后的计算结果
6. 附录
6.1 未使用子程序的 inp 文件
ale-moxiao-190306.inp
6.2 使用子程序的 inp 文件
umeshmotion-ale-190306.inp
6.3 子程序文件
umeshmotion-moxiao-190306.for
9
DIMENSION ARRAY(15) DIMENSION JELEMLIST(10),JELEMTYPE(10)
double precision k,PEEQ C 定义与节点相连的最大单元数和移动速度系数 k
NELEMS = 10 k=1.0 C 获取与本节点相连的单元列表 JELEMLIST CALL GETNODETOELEMCONN(NODE, NELEMS, JELEMLIST, JELEMTYPE, * JRCD, JGVBLOCK) C 获取节点上的各塑形分量 PE(来自积分点上场输出的差值) CALL GETVRMAVGATNODE(NODE,JTYP,'PE',ARRAY,JRCD,JELEMLIST,NELEMS, * JMATYP,JGVBLOCK) C 等效塑形应变为 PE 数组中的第 7 项 PEEQ=ARRAY(7) C 若等效塑形应变大于 0 则计算节点的法向运动速度 ULOCAL(NDIM) if(PEEQ.GT.0.0)then
C INCLUDE 'ABA_PARAM.INC'
C DIMENSION ULOCAL(NDIM),JELEMLIST(*) DIMENSION ALOCAL(NDIM,*),TIME(2) DIMENSION JMATYP(*),JGVBLOCK(*)
C
user coding to define ULOCAL and, optionally PNEWDT
UMESHMOTION 子 程 序 也 应 该 在 other 菜 单 中 设 置 , 但 是 这 里 先 做 一 个 不 使 用 UMESHMOTION 子程序的模型作为参考,后面再设置对子程序引用。
3
图 5 分析步设置
图 6 ALE 自适应网格控制
图 7 ALE 自适应网格区域选择 5)建立接触
Constraint”建立一个速度型 ALE 自适应网格的约束属性,将区域选择为矩形板上与磨盘接 触的面,然后将“motion”类型修改为“User-defined”即可完成对 UMESHMOTION 子程序 的引用提交任务。
图 13 完成对 UMESHMOTION 子程序的引用
图 11 设置单元类型
图 12 最终的单元网格
6
8)设置对 UMESHMOTION 子程序的引用 这里我们首先建立一个不含 UMESHMOTION 子程序的计算任务作为参考并提交计算。 然后我们切换到 step 模块,在 step 模块中选择 other 菜单然后再选择“ALE adaptive Mesh
图 1 刚体磨盘建模
图 2 矩形板建模 2)分配材料
解析刚体不需要分配材料,所以这里仅需要建立矩形板的材料,这里使用材料的弹性模 量为 100GPa,泊松比为 0.3,屈服强度为 50MPa。在建立材料截面时应该选择实体而不是壳, 这是因为我们模拟的不是壳变形而是平面应力分析。
2
图 3 材料定义 3)装配
2. 模型介绍
本实例中模拟一个圆盘对矩形板的磨削作用,如下图所示,圆磨盘使用解析刚体建模, 矩形板由 4 节点线性平面应力单元组成。对刚体施加一个 200N 的下压力,然后刚体与矩形 板开始接触。我们假设在磨削过程中磨损的速度仅与等效塑形应变有关,这里为了方便分析 我们假设法向移动速度与等效塑形应变的大小成正比:v=k*PEEQ。
在相互作用模块中首先建立硬接触属性如图 8 所示,需要注意的是在使用 UMESHMOTION 子程序时接触分析会出现非常强的非线性,所以为了使计算能够收敛我们需 要将默认的约束方法修改为“罚(penalty)”并将接触刚度缩放系数设置为 0.01,如图 8 所 示。然后我们对刚体面和矩形板上面建立接触对,如图 9 所示。
ULOCAL(NDIM)=-k*PEEQ end if
RETURN END
5. 结果分析
如 图 15 为 未 使 用 UMESHMOTION 子 程 序 时 的 Y 方 向 位 移 结 果 , 图 16 位 使 用 UMESHMOTION 子程序后的 Y 方向位移结果,可以看出前者的最大值 0.127,而后者的最大 值为 0.183。这就是磨削的结果,当然这里使用的磨损公式仅是为了演示方便而设,较为简 单,实际的磨损公式应该参考相关文献。
1
3. 建模要点
1)建立磨盘和矩形板部件 由于磨盘变形较小所以作为刚体处理,这里使用解析刚体建模,解析刚体支持的最大圆
弧不能超过 180°所以这里我们仅建立一段圆弧,半径为 10mm,然后还需要在圆心处建立 一个参考点作为集中力的加载点,如图 1 所示。矩形板处于平面应力状态,所以我们在这里 建成平面壳,如图 2 长为 40mm 宽为 10mm。
RETURN END 所有的参数中只有变量 PNEWDT、LSMOOTH 以及数组 ULOCAL 是需要计算的。其中 ULOCAL 是节点移动的速度矢量(或位移矢量,这取决于 ALE 中的定义),二维时 ULOCAL(2) 为节点面法向的分量,三维时 ULOCAL(3)为节点面法向的分量。由于一般磨损或烧蚀都应该 是沿着面法线方向进行的,所以我们只需要定义 ULOCAL 的法向分量就行了。变量 PNEWDT 是用于调整增量步时间的参数,一般不需要计算,变量 LSMOOTH 是用于标识是否应用表面 平滑算法的变量,LSMOOTH=1 表示应用,LSMOOTH=0 表示不应用。
UMESHMOTION 子程序模拟接触磨损
1. 背景
UMESHMOTION 是应用于 Abaqus/Standard 模块的一个子程序,与 ALE 自适应网格技术 联合使用可以控制节点的运动。由于调整节点的过程并不会改变应力应变分布,所以该子程 序常用于磨损或烧蚀模拟。
以下是 abaqus 帮助文档中给出的 UMESHMOTION 子程序的接口: SUBROUTINE UMESHMOTION(UREF,ULOCAL,NODE,NNDOF, * LNODETYPE,ALOCAL,NDIM,TIME,DTIME,PNEWDT, * KSTEP,KINC,KMESHSWEEP,JMATYP,JGVBLOCK,LSMOOTH)
图 14 设置任务使用的子程序文件
7
4. 子程序解析
SUBROUTINE UMESHMOTION(UREF,ULOCAL,NODE,NNDOF, * LNODETYPE,ALOCAL,NDIM,TIME,DTIME,PNEWDT, * KSTEP,KINC,KMESHSWEEP,JMATYP,JGVBLOCK,LSMOOTH) C INCLUDE 'ABA_PARAM.INC' C DIMENSION ULOCAL(NDIM) DIMENSION ALOCAL(NDIM,*),TIME(2) DIMENSION JMATYP(*),JGVBLOCK(*)
4
图 8 接触属性定义
图 9 定义接触对 6)定义边界条件和载荷
本实例中共有三处边界条件,分别位于参考点、矩形板下部和矩形板中面处,三者均为 对称约束。加载点位于圆盘的参考点上,载荷类型为集中力,大小为 200N,方向垂直向下, 如图 10 所示。
5
图 10 定义载荷和边界条件 7)网格划分
解析刚体不需要划分网格,这里仅对矩形板划分网格,首先设置单元尺寸为 0.5mm, 然后选择单元类型为四节点线性平面应力单元 CPS4,如图 11。如图 12 为最终网格。
如图 4 对部件进行装配并调整好位置即可。
图 4 装配 4)建立分析步和 ALE 自适应网格
由于并不需要考虑动力学效应,所以此处我们建立静力学分析步,为了观察磨削的过程 我们调整初始增量步和最大增量步大小如图 5 所示。
另外 ALE 自适应网格也需要在 step 模块中设置。首先在 step 模块中选择 other 菜单然 后再选择“ALE adaptive Mesh Controls”建立一个 ALE 自适应网格的控制属性,参数设置如 图 6 所示,然后我们再从 other 菜单中选择“ALE adaptive Mesh Domain”来选择应用 ALE 自 适应网格的分析步和区域,这里的区域应该选择整个矩形块,其他相关的设置可参看图 7.