You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

ANSYS Mechanical APDL节点坐标导出至Excel问题及管道腐蚀模拟需求

含全面腐蚀管道爆破压力分析的ANSYS建模问题

正在开展含全面腐蚀管道的爆破压力影响研究,建模方案为:生成管道几何模型并划分网格,导出节点坐标至Excel/TXT文件,修改外侧节点径向坐标以模拟随机全面腐蚀,再通过NMODIF命令修改节点坐标。当前使用*VWRITE命令导出时,生成的Excel文件数据量远超预期,且出现一系列警告/错误。

ANSYS命令流

FINISH  
/CLEAR, START

/PREP7 
/VIEW, 1, 1, 2, 3   
/ANG, 1  
/REP, FAST  

ET, 1, SOLID185 


!-----------------------------------------!
!----------PARAMETERS DEFINITION----------!
!-----------------------------------------
*SET, E, 2.09322E11   
*SET, PR, 0.3
*SET, DENSITY, 7850

*SET, R, 42.06/2/1000
*SET, s, 420/1000    
*SET, t, 2.76/1000

*SET, arc1, 10
*SET, l1, 5
*SET, r1, 1

!--------------------------------------------------!
!----------MATERIAL PROPERTIES DEFINITION----------!
!--------------------------------------------------
MPTEMP, , , , , , , , 
MPTEMP, 1, 0  
MPDATA, EX, 1, , E
MPDATA, PRXY, 1, , PR  
TB, MISO, 1, 1, 60, 0 
TBTEMP, 0
TBPT, , 264000000.000/E, 264000000.000
TBPT, , 0.0110, 264307757.463
TBPT, , 0.0120, 266504626.867
TBPT, , 0.0130, 268834065.978
TBPT, , 0.0140, 269364344.799
TBPT, , 0.0150, 271087750.970
TBPT, , 0.0160, 273758083.609
TBPT, , 0.0170, 276466293.306
TBPT, , 0.0180, 279950982.707
TBPT, , 0.0190, 283683965.696
TBPT, , 0.0200, 287337083.014
TBPT, , 0.0210, 290368921.876
TBPT, , 0.0220, 293810804.519
TBPT, , 0.0230, 296295918.340
TBPT, , 0.0240, 298892862.284
TBPT, , 0.0250, 301638913.056
TBPT, , 0.0260, 304931688.870
TBPT, , 0.0270, 306919779.927
TBPT, , 0.0280, 309628553.992
TBPT, , 0.0290, 311653921.757
TBPT, , 0.0300, 314114184.440
TBPT, , 0.0310, 316301084.603
TBPT, , 0.0320, 318587389.318
TBPT, , 0.0330, 320438799.115
TBPT, , 0.0340, 322228081.067
TBPT, , 0.0350, 324191320.986
TBPT, , 0.0360, 325819070.539
TBPT, , 0.0370, 327720182.612
TBPT, , 0.0380, 329745550.377
TBPT, , 0.0390, 331584534.605
TBPT, , 0.0400, 332963772.775
TBPT, , 0.0410, 334740629.158
TBPT, , 0.0420, 336052272.336
TBPT, , 0.0430, 337763888.357
TBPT, , 0.0440, 339186669.175
TBPT, , 0.0450, 340748518.794
TBPT, , 0.0460, 342102481.229
TBPT, , 0.0470, 343300886.365
TBPT, , 0.0480, 345045503.365
TBPT, , 0.0490, 346406956.819
TBPT, , 0.0500, 347765062.623
TBPT, , 0.0625, 360951890.467
TBPT, , 0.0750, 370351012.442
TBPT, , 0.0875, 377271758.970
TBPT, , 0.1000, 382345414.364
TBPT, , 0.1125, 386016215.732
TBPT, , 0.1250, 388751781.083
TBPT, , 0.1375, 390669014.918
TBPT, , 0.1500, 392212154.347
TBPT, , 0.1625, 393007104.962
TBPT, , 0.1750, 393544865.672  

MPTEMP, , , , , , , , 
MPTEMP, 1, 0  
MPDATA, DENS, 1, , DENSITY


!---------------------------------------!
!----------GEOMETRY MODULATION----------!
!---------------------------------------
CYL4, , , R, 0, R-t, 180, s
CYL4, , , R, 180, R-t, 360, s
 
VGEN, ,ALL, , , , ,-s/2, , ,1


!-----------------------------------------------------------!
!----------LINE DIVISION (PREPARATION FOR MESHING)----------!
!-----------------------------------------------------------

CSYS, 1
LPLOT

!----------END FACES LINES----------!
CM, _Y, LINE
LSEL, S, LOC, Z, s/2    
LSEL, A, LOC, Z, -s/2
LSEL, R, LOC, Y, 1, 180-1
CM, _Y1, LINE 
CMSEL, , _Y   
LESIZE, _Y1, , , arc1, , , , , 1

CM, _Y, LINE
LSEL, S, LOC, Z, s/2    
LSEL, A, LOC, Z, -s/2
LSEL, R, LOC, Y, 180+1, 360-1
CM, _Y1, LINE 
CMSEL, , _Y   
LESIZE, _Y1, , , arc1, , , , , 1

CM, _Y, LINE
LSEL, S, LOC, Z, s/2    
LSEL, A, LOC, Z, -s/2
LSEL, R, LOC, Y, 0
CM, _Y1, LINE 
CMSEL, , _Y   
LESIZE, _Y1, , , r1, , , , , 1

CM, _Y, LINE
LSEL, S, LOC, Z, s/2    
LSEL, A, LOC, Z, -s/2
LSEL, R, LOC, Y, 180
CM, _Y1, LINE 
CMSEL, , _Y   
LESIZE, _Y1, , , r1, , , , , 1

!----------LONGITUDINAL LINES----------!
CM, _Y, LINE
LSEL, S, LOC, Z, -s/2+1E-6, s/2-1E-6  
CM, _Y1, LINE 
CMSEL, , _Y   
LESIZE, _Y1, , , l1, , , , , 1



!---------------------------!
!----------MESHING----------!
!---------------------------
/UI, MESH, OFF
CM, _Y, VOLU  
CM, _Y1, VOLU 
CHKMSH, 'VOLU'   
CMSEL, S, _Y
  
VSWEEP, _Y1
  
CMDELE, _Y   
CMDELE, _Y1  
CMDELE, _Y2  

ALLSEL, ALL
/REPLOT

!---------------------------!
!------MESH DETACHMENT------!
!---------------------------
MODMSH,DETACH

ALLSEL, ALL
*GET, N_COUNT, NODE, 0, COUNT
*DIM, NODES, ARRAY, N_COUNT, 4
*VGET, NODES(1,1), NODE, , NLIST

*DO, I, 1, N_COUNT
    NID = NODES(I,1)
    *GET, XN, NODE, NID, LOC, X
    *GET, YN, NODE, NID, LOC, Y
    *GET, ZN, NODE, NID, LOC, Z
    NODES(I,2) = XN
    NODES(I,3) = YN
    NODES(I,4) = ZN
*ENDDO


*CFOPEN, node_coordinates, csv

*VWRITE
('Node_ID,X[m],Y[m],Z[m]')
(A8,A1,A10,A1,A10,A1,A10)

*DO, I, 1, N_COUNT
    *VWRITE, NODES(I,1), NODES(I,2), NODES(I,3), NODES(I,4)
    (I8, ',', F15.5, ',', F15.5, ',', F15.5)
*ENDDO

*CFCLSE

警告/错误信息(翻译后)

  • *** 警告 *** CP = 33.547 TIME= 01:36:42
    形状检测显示100个新生成或修改的单元违反形状警告限制,如需查看检测结果,请查看输出文件或执行CHECK命令。
  • *** 警告 *** CP = 35.188 TIME= 01:36:57
    在图形用户界面中,*VWRITE命令仅能从外部文件(如/INPUT*USE)执行,该命令已被忽略。
  • *** 警告 *** CP = 35.219 TIME= 01:36:57
    NODE_ID, 不是可识别的PREP7命令、缩写或宏,该命令将被忽略。
  • *** 警告 *** CP = 35.219 TIME= 01:36:58
    (A8,A1,A 不是可识别的PREP7命令、缩写或宏,该命令将被忽略。
  • *** 警告 *** CP = 35.219 TIME= 01:36:58
    在图形用户界面中,*VWRITE命令仅能从外部文件(如/INPUT*USE)执行,该命令已被忽略。
  • *** 警告 *** CP = 35.219 TIME= 01:36:58
    格式错误,数据格式说明符不足。
  • *** 警告 *** CP = 35.234 TIME= 01:36:58
    (I8,',', 不是可识别的PREP7命令、缩写或宏,该命令将被忽略。

问题修正建议

1. 解决*VWRITE执行限制

ANSYS GUI环境不支持直接运行*VWRITE,需将命令流保存为.txt.mac文件,通过/INPUT命令导入执行:

/INPUT, your_command_file.txt, txt

2. 修正*VWRITE格式语法错误

原代码中*VWRITE的格式定义与数据输出逻辑不匹配,修正后的导出代码如下:

*CFOPEN, node_coordinates, csv
! 写入表头,直接用字符串输出格式
*VWRITE
(1X, 'Node_ID,X[m],Y[m],Z[m]')
! 批量写入节点数据,无需DO循环(*VWRITE支持数组批量输出)
*VWRITE, NODES(1,1), NODES(1,2), NODES(1,3), NODES(1,4)
(I8, ',', F15.5, ',', F15.5, ',', F15.5)
*CFCLSE

注:*VWRITE可直接遍历数组,无需手动*DO循环,既简化代码又避免循环带来的性能问题。

3. 减少导出数据量

仅选择外侧节点(径向坐标等于管道外径R的节点)导出,避免导出所有节点:

ALLSEL, ALL
! 筛选外侧节点(添加容差避免浮点误差)
NSEL, S, LOC, X, R-1E-6, R+1E-6
*GET, N_COUNT, NODE, 0, COUNT
*DIM, NODES, ARRAY, N_COUNT, 4
*VGET, NODES(1,1), NODE, , NLIST

*DO, I, 1, N_COUNT
    NID = NODES(I,1)
    *GET, XN, NODE, NID, LOC, X
    *GET, YN, NODE, NID, LOC, Y
    *GET, ZN, NODE, NID, LOC, Z
    NODES(I,2) = XN
    NODES(I,3) = YN
    NODES(I,4) = ZN
*ENDDO

4. 解决单元形状警告

执行CHECK命令查看具体单元的形状缺陷,调整网格划分参数:

  • 优化LESIZE命令的单元尺寸,增加关键区域的网格密度
  • 使用SMRTSIZE, 5(中等网格质量)命令自动优化网格
  • 检查几何模型是否存在微小面或边,提前清理几何缺陷

内容的提问来源于stack exchange,提问作者Vasco Nuno Pereira Moura

火山引擎 最新活动