1. 问题描述
在ANSYS中通过命令流建模,生成圆柱实体实体单元,并划分适当的网格。建模参数如下:
- 直径:10 mm
- 长度:600 mm
- 材料:钢材
- 网格密度:
- 环向16份
- 径向60份
预期效果如下:
2. 技术背景
ANSYS命令流建模,先直接用数值建模,然后将程序参数化,一般后续修改。
3. 解决方案
基本的建模流程如下:
- 定义单元材料
- 几何建模
- 网格划分
- 有限元单元生成
4. 实施示例
4.1 单元材料定义
初始化:
FINI
/CLEAR
/PREP7
定义solid185单元,材料为钢材:
ET,1,SOLID185 ! 钢材
MP,EX,1,2E11
MP,PRXY,1,0.30
MP,DENS,1,7800
4.2 圆柱体建模
! CYLIND, RAD1, RAD2, Z1, Z2, THETA1, THETA2
CYLIND,0,0.005,0,0.600,0,360 ! 钢筋建模
注意建模参数:
- RAD1, RAD2,内径外径
- Z1, Z2,起讫长度
- THETA1, THETA2,径向角度
建模之后,lplot
显示模型线:
可以看出,体积由诸多线段约束。
4.3 模型线划分
单元的网格划分,首先划分模型线:
- 环向16份,每个1/4圆弧划分4段
- 径向60份,每条纵向线划分60段
! 线网格划分
LESIZE, 1 ,,, 4 ! LESIZE, NL1, , , NDIV
LESIZE, 2 ,,, 4
LESIZE, 3 ,,, 4
LESIZE, 4 ,,, 4
LESIZE, 5 ,,, 4
LESIZE, 6 ,,, 4
LESIZE, 7 ,,, 4
LESIZE, 8 ,,, 4
LESIZE, 9 ,,, 60
LESIZE, 10 ,,, 60
模型线划分效果如:
4.4 有限单元生成
! VATT, MAT, REAL, TYPE, ESYS, SECNUM
VATT,1,,1 ! 材料单元附加
VSWEEP,1 ! 扫掠体积生成单元
按照模型线的划分,扫掠生成单元。
5. 常见问题
以上建模过程虽然实现了建模目标,但参数不便修改,例如网格的精度不便调整,通过参数化的手法可以使得代码更加简洁灵活。
5.1 参数化改造
对原代码参数化,并调整网格密度。
FINI $ /CLEAR $/PREP7
! 参数定义
rad2 = 0.005 ! 钢筋直径
z2 = 0.600 ! 钢筋长度
n1 = 10 ! 径向网格密度
n2 = 600 ! 轴向网格密度
! 单元定义
ET,1,SOLID185 ! 钢材
MP,EX,1,2E11
MP,PRXY,1,0.30
MP,DENS,1,7800
! 几何建模
CYLIND,0,rad2,0,z2,0,360 ! 圆柱钢筋建模
! 线网格划分
*DO,ILOOP,1,8 ! DO 循环
LESIZE, ILOOP,,, n1
*ENDDO
*DO,ILOOP,9,10 ! DO 循环
LESIZE, ILOOP,,, n2
*ENDDO
! 体积网格划分,有限单元
VATT,1,,1 ! 材料单元附加
VSWEEP,1 ! 扫掠体积生成单元
单元总数:1800。
5.2 建模效果
网格加密的建模效果如下:
5.3 单元总数查询
*GET,AA,ELEM,0,COUNT ! 单元数量查询
*STATUS,AA ! 显示
结果为:10200,数量巨大。
本文用时30 min。