以梦为马,不负韶华

搜索
查看: 720|回复: 8
收起左侧

[原创] 卧式容器有限元分析的APDL源码(上)

[复制链接]
 楼主| 发表于 2023-5-25 08:43:12 显示全部楼层 |阅读模式
本帖最后由 yuun 于 2023-5-25 08:45 编辑

在上一篇文章发布之后,有不少朋友问结果可靠吗,是怎么做出来的,能否让大家一起验证一下。
所以特意放出源码和释义,大家可以根据源码修改相应的尺寸,做调整。有兴趣的朋友可以复制后运行试试。
1. 定义参数


    1. FINISH
    2. /CLEAR
    3. /TITLE,saddle
    4. /FILN,test
    5. !定义材料参数,单位为国际单位制
    6. *AFUN,DEG                                 ! 激活角度单位制
    7. !模型参数
    8. *SET,DI,4000                             ! 筒体内径
    9. *SET,L1,40000                             ! TL-TL
    10. *SET,TN,20                             ! 筒体公称厚度
    11. *SET,Aa,1000                             ! 鞍座中心至切线的距离
    12. *SET,Bb,430                            ! 鞍座宽度
    13. *SET,THETA,162                             ! 鞍座包角
    14. *SET,C,860                             ! 垫板宽度
    15. *SET,TD,20                             ! 垫板厚度
    16. *SET,H1,2000                             ! 鞍座高H1
    17. *SET,H2,3492                             ! 鞍座高H2
    18. *SET,H3,1970                              ! 鞍座H3
    19. !材料参数
    20. *SET,DENSITY,7850E-12                           ! 材料密度
    21. *SET,EXX,2.01E5                           ! 材料弹性模量
    22. *SET,PRXY,0.3                             ! 材料泊松比
    23. *SET,P1,1.0                              ! 顶部均布内压
    复制代码

设置参数也可以用等号,比如“L1=40000”,参数的示意图如下:

                               
登录/注册后可看大图

                               
登录/注册后可看大图
2. 建模
思路,先建立筒体封头和垫板,再建立鞍座的长方体(由于不研究鞍座本身,只研究鞍座对于设备影响,所以鞍座建成实心的长方块)。进行布尔运算

  1. !************************
  2. !*******前处理***********
  3. !************************
  4. /PREP7
  5. !定义单元及材料属性
  6. ET,1,SOLID186                               ! 定义186号单元
  7. MP,EX,1,EXX                               ! 定义弹性模量
  8. MP,NUXY,1,PRXY                             ! 定义泊松比
  9. MP,DENS,1,DENSITY                           ! 定义密度
  10. !创建几何模型
  11. CYLIND,DI/2,DI/2+TN,0,L1/2,-90,90                 ! 创建筒体
  12. SPHERE,DI/2+TN,DI/2,-90,90,                     ! 创建封头
  13. VSBW,ALL                                 ! 采用工作平面切分体
  14. VDELE,4, , ,1                             ! 删除多余的体积,得到封头
  15. CYLIND,DI/2+TN,DI/2+TN+TD,Aa-C/2,Aa+C/2,-90,-90+THETA/2   ! 创建垫板
  16. WPOFF,0,0,Aa-Bb/2                             ! 将工作平面平移至鞍座角点
  17. BLC4,0,-DI/2-TN-TD-H1,H3,H2,Bb                   ! 创建鞍座长方体,没建鞍座本身细节
  18. VPTN,ALL                     ! 体互分
  19. ALLS                       ! 全选择
  20. LGLUE,ALL                   ! 粘合各线
  21. VDELE,5,,,1                   ! 删除多余的体
  22. CYLIND,0,DI/4,0,-DI*4,-90,90       ! 创建筒体
  23. VPTN,ALL                     ! 体互分
  24. VDELE,2,3,1,1                 ! 删除多余体及其附属
  25. !采用工作平面剖分体,切分体为了划分网格做准备
  26. WPROT,0,90,0                 ! 旋转工作平面
  27. VSEL,S,VOLU,,4,5,1,             ! 选中封头
  28. VSBW,ALL                     ! 采用工作平面切分封头
  29. ALLSEL                     ! 全选择
  30. WPROT,0,-90,0                 ! 旋转工作平面
  31. KWPAVE,20                   ! 将工作平面定位于关键点20
  32. VSBW,ALL                     ! 采用工作平面切分体
  33. KWPAVE,22                   ! 将工作平面定位于关键点22
  34. VSBW,ALL                     ! 采用工作平面切分体
  35. KWPAVE,27                   ! 将工作平面定位于关键点27
  36. VSBW,ALL                     ! 采用工作平面切分体
  37. KWPAVE,31                   ! 将工作平面定位于关键点31
  38. VSBW,ALL                     ! 采用工作平面切分体
  39. WPROT,0,0,90                 ! 旋转工作平面
  40. KWPAVE,43                   ! 将工作平面定位于关键点43
  41. VSBW,9                     ! 采用工作平面切分支撑部
  42. VGLUE,ALL                   ! 粘接体
  43. !创建组件,方便选择
  44. VSEL,S,VOLU,,14,17,3
  45. VSEL,A,VOLU,,6,16,10
  46. CM,INTANK,VOLU                 ! 创建连接处桶体内壁组件
  47. VSEL,S,VOLU,,13,15,2
  48. CM,BACKSTOP,VOLU               ! 创建鞍座组件
  49. VSEL,S,VOLU,,5,7,2
  50. VSEL,A,VOLU,,10,12,2
  51. CM,GASKET,VOLU                 ! 创建垫板组件
  52. VSEL,S,VOLU,,1,2,1
  53. VSEL,A,VOLU,,3,8,5
  54. CM,CLOSE,VOLU                 ! 创建封头组件
  55. VSEL,S,VOLU,,4,11,7
  56. CM,TANK,VOLU                 ! 创建压力容器筒体组件
复制代码



                               
登录/注册后可看大图
3.划分网格
用ESIZE控制网格大小划分网格。划分完网格后,1/4模型通过镜像获得1/2的模型。
    1. !划分网格
    2. ALLSEL                     ! 全选择
    3. CMSEL,S,INTANK                 ! 选中连接处桶体内壁组件
    4. ESIZE,60                   ! 设定单元大小
    5. VSWEEP,ALL                   ! 映射网格划分
    6. CMSEL,S,GASKET                 ! 选中垫板组件
    7. ESIZE,60                   ! 设定单元大小
    8. VSWEEP,ALL                   ! 映射网格划分
    9. CMSEL,S,BACKSTOP               ! 选中鞍座组件
    10. ESIZE,200                   ! 设定单元大小
    11. VSWEEP,ALL                   ! 映射网格划分
    12. CMSEL,S,TANK                 ! 选中压力容器桶体组件
    13. ESIZE,200                   ! 设定单元大小
    14. VSWEEP,ALL                   ! 映射网格划分

    15. ESIZE,200                   ! 设定单元大小
    16. CMSEL,S,CLOSE                 ! 选中封头组件
    17. VSWEEP,ALL                   ! 映射网格划分

    18. ALLSEL                     ! 全选择
    19. WPCSYS,-1,0                   ! 转换到原始坐标系
    20. LOCAL,11,0,0,0,L1/2,             ! 创建局部坐标系
    21. CSYS,11                     ! 激活局部坐标系
    22. VSYMM,Z,ALL, , , ,0,0           ! 镜像
    23. NUMMRG,ALL                   ! 合并
    24. NUMCMP,ALL                   ! 压缩
    25. FINISH
    复制代码


                               
登录/注册后可看大图

4. 施加载荷

    1. !************************
    2. !*******加载与求解*******
    3. !************************
    4. /SOLU
    5. CSYS,0                     ! 激活笛卡尔坐标系   
    6. ALLSEL
    7. ACEL,0,9800,0,                 ! 施加重力加速度
    8. den=1000       !液体密度
    9. pc=den*0.001*10*0.000001  !单位MPa

    10. !*********注意,ANSYS中施加的重力为惯性力,其加速度方向与实际重力相反*************
    11. NSEL,S,LOC,Z,0.5*l1,L1
    12. NSEL,R,LOC,Y,-DI/2-TN-TD-H1       ! 选中前端鞍座底面
    13. D,ALL,ALL                   ! 施加固定约束
    14. ALLSEL
    15. NSEL,S,LOC,Z,0,0.5*l1
    16. NSEL,R,LOC,Y,-DI/2-TN-TD-H1       ! 选中后端鞍座底面
    17. D,ALL,UY,0                   ! 固定Y方向约束
    18. ALLSEL


    19. NSEL,S,LOC,X,0                 ! 选中对称面上所有节点
    20. DSYM,SYMM,X,                 ! 施加对称位移约束
    21. CSYS,0                     ! 激活笛卡尔坐标系      
    22. LSEL,S,LOC,Z,0,L1               ! 选中除封头之外的容器桶体及鞍座部分线段
    23. CSYS,1                     ! 激活极坐标系
    24. LSEL,R,LOC,X,0,DI/2             ! 选中容器桶体内壁线段
    25. ASLL,S,1                     ! 选中筒体内壁面
    26. ASEL,A,AREA,,10,11,1
    27. ASEL,A,AREA,,28,29,1
    28. ASEL,A,AREA,,92,118,26
    29. ASEL,A,AREA,,83,86,3             ! 选中桶体内壁及封头内表面
    30. cm,areain,area


    31. allsel
    32. WPCSYS,-1,0
    33. asel,s,,,areain
    34. NSLA,S,1                     ! 选中依附于内表面的所有节点,选择1边界
    35. CSYS,0                     ! 激活笛卡尔坐标系   
    36. Sfgrad,pres,0,y,0.5*DI,-pc  !Z=7000处压力为0,往y负方向每mm增加PC
    37. Sf,all,pres,p1
    复制代码


  • 一侧鞍座底板全约束,另一侧鞍座底板面Uy=0。
  • ACEL施加重力加速度。
  • 对于内部的表面所有节点,施加压力和液柱静压力。
    施加后的效果如下图:


                               
登录/注册后可看大图
5. 求解和后处理
    1. ALLSEL                     ! 全选择
    2. SOLVE                       ! 求解
    3. FINISH
    4. !************************
    5. !*******后处理***********
    6. !************************
    7. /POST1
    8. !*************容器整体分析******************************
    9. PLNSOL,S,EQV,0,1               ! 显示等效应力分布
    10. PLNSOL,U,Y,2,1                 ! 显示Y向位移
    复制代码

显示Y方向位移。

                               
登录/注册后可看大图
结果显示,位移58.4mm。

                               
登录/注册后可看大图

往期精彩:



[发帖际遇]: yuun 捡到一块切糕,卖给了小马,赚了 2 个 韶华币. 幸运榜 / 衰神榜
发表于 2023-5-25 08:43:12 显示全部楼层
卧式容器有限元分析的APDL源码(上)
[发帖际遇]: 13210167598 捡到一块切糕,卖给了小马,赚了 7 个 韶华币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

 成长值: 2515

发表于 2023-5-25 08:43:12 显示全部楼层

这东西我收了!谢谢楼主!马后炮化工真好!
[发帖际遇]: 280088695 成功获得红包 1 个 韶华币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

发表于 2023-5-25 08:43:12 显示全部楼层
楼主太厉害了!楼主,I*老*虎*U!我觉得马后炮化工真是个好地方!
回复 支持 反对

使用道具 举报

发表于 2023-5-25 08:43:12 显示全部楼层
这种帖子应该多来点,自己刚开始着手学习有限元
回复 支持 反对

使用道具 举报

发表于 2023-5-25 08:43:12 显示全部楼层
感谢楼主分享。
[发帖际遇]: ydwb 发帖时在路边捡到 5 个 韶华币,偷偷放进了口袋. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

发表于 2023-5-25 08:43:12 显示全部楼层

我看不错噢 谢谢楼主!马后炮化工越来越好!
[发帖际遇]: wmm598 捡到一块切糕,卖给了小马,赚了 3 个 韶华币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

不想打字就选择快捷回复吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|以梦为马,不负韶华

GMT+8, 2025-4-12 02:37

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

快速回复 返回顶部 返回列表