ANSYS二次开发:后处理使用APDL命令流解析结果文件

ANSYS二次开发:后处理使用APDL命令流解析结果文件文章目录前言 1 加载结果文件 2 查看结果数据的总体情况 3 绘制结果图 4 输出动画 5 获取所有节点的数据 6 获取所有单元的数据 7 获取所有节点和单元的数据 8 获取所有频率时刻点的节点和单元数据

大家好,欢迎来到IT知识分享网。

🍺相关文章汇总如下🍺:

  1. 🎈ANSYS二次开发:APDL开发入门准备🎈
  2. 🎈ANSYS二次开发:后处理使用APDL命令流解析结果文件🎈
  3. 🎈ANSYS二次开发:Python解析ANSYS结果文件(PyAnsys库)🎈
  4. 🎈ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,PyDPF)🎈
  5. 🎈ANSYS二次开发:Python解析ANSYS FLUENT结果文件🎈

前言

  • ANYS提供两种工作方式,GUI图形用户界面(GraphicalUser Interface又称图形用户接口)操作和命令流。
  • ANYS命令流方式,融合GUI方式、APDL、UPFs、UIDL、MAC,甚至TCL/TK于一个文本文件中,可通过/input命令(或UtilityMenu>File>Read Input From)读入并执行,也可通过拷贝该文件的内容粘贴到命令行中执行。一般命令流通常由ANSYS命令和APDL功能语句组成。
  • APDL的全称是ANSYS Parametric Design Language,也被叫做ANSYS参数化设计语言。APDL是用来自动完成某些功能或建模的类似于FORTRAN的解释性语言,提供一般程序语言的功能。它包含三个方面的内容:工具条、参量和宏命令。
  • APDL的运用主要体现在用户可以利用程序设计语言将ANSYS命令组织起来,编写出参数化的用户程序,从而实现有限元分析的全过程,即建立参数化的CAD模型、参数化的网格划分与控制、参数化的材料定义、参数化的载荷和边界条件定义、参数化的分析控制和求解以及参数化的后处理。
    在这里插入图片描述

在后处理中读取结果的步骤一般是:

  1. General Postproc -> Data and File Options,将RST结果文件读进去。
  2. 使用Read Results,可以先看last step,如果里面有很多步,按first step,next step看结果。
  3. 列出结果可以使用List Results。

1、启动软件

  • (1)通过鼠标点击计算机桌面上的软件图标,启动程序。
    在这里插入图片描述
  • (2)也可以在计算机的开始菜单中,找到“ANSYS 15.0”- “Mechanical APDL 15.0”,鼠标点击运行软件。
    在这里插入图片描述

2、加载结果文件

  • APDL界面操作如下:
    在这里插入图片描述
  • APDL命令代码如下:
finish /post1 /cwd, d:/test file, demo.rst set, first allsel nsel, stat eplot ! 或 gplot、nplot、 kplot /view, 1, 1,1,1 /replot 

3、查看结果数据的总体情况

  • APDL界面相关操作如下:
    在这里插入图片描述
    读取第一个载荷步:
    在这里插入图片描述
    读取某一个载荷步:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述






  • APDL命令相关代码如下:

(1)弹出窗口,并列出基本信息,同时列出每个载荷步的标题。

set, list 

(2)读取某个载荷步或某个子步的求解结果

set,list,0 或者 set,list,1 读取结果文件,并列出每个载荷步的基本信息 set,list,2 读取结果文件,并列出基本信息,同时列出每个载荷步的标题 set,first 从结果文件中读取第一个载荷步 set,last 从结果文件中读取最后一个载荷步 set, next 从结果文件中读取下一个载荷步 set, previous 从结果文件中读取前一个载荷步 set,near,,,time 从结果文件中读取最接近该时间的载荷步 set, next, 3 从结果文件中读取下一个载荷步的第三个子步` 

4、绘制结果图

  • APDL相关界面操作如下:
    应用 PLDISP命令(Main Menu>General Postproc> Plot Results> Deformed Shape)来显示变形图。PLDISP 命令的 KUND 参数给用户可以在原始图上迭加变形图。
    ANSYS二次开发:后处理使用APDL命令流解析结果文件
    绘制默认的变形图:


PLDISP, 0 

在这里插入图片描述
绘制节点的位移等值线图:
在这里插入图片描述
绘制单元的位移等值线图:
在这里插入图片描述
绘制位移的矢量图:
在这里插入图片描述
只绘制单元图:
在这里插入图片描述
只绘制节点图:
在这里插入图片描述









  • APDL命令相关代码如下:
eplot ! 或 gplot、nplot、 kplot /view, 1, 1,1,1 /replot 
plnsol,u,x plnsol,u,y plnsol,u,z plnsol,u,sum plesol,u,x plesol,u,y plesol,u,z plesol,u,sum plvect,u $ plvect,s /contour,,18,-16,,500 

5、输出动画

5.1 变形动画

  • APDL相关界面操作如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


  • APDL命令相关代码如下:
set,first pldisp,0 anmode,10,0.5e-1 

5.2 等值面动画

对等值位移图的动画制作,utility meun-》plotctrls-》animate-》deformed results,输入帧数为10,时间间隔为0.5秒。

  • APDL相关界面操作如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


6、显示剖视图

在这里插入图片描述

6.1 Type of Plot(/TYPE)

  • Capped hidden 和 Capped z-buffered 都可以实现绘制剖面图。非剖视图默认是z-buffered。
    在这里插入图片描述

Display type. Defaults to ZBUF for raster mode displays or BASIC for vector mode displays:

Value Description
BASIC or 0 Basic display (no hidden or section operations).
SECT or 1 Section display (plane view). Use the /CPLANE command to define the cutting plane.
HIDC or 2 Centroid hidden display (based on item centroid sort).
HIDD or 3 Face hidden display (based on face centroid sort).
HIDP or 4 Precise hidden display (like HIDD but with more precise checking). Because all facets are sorted, this mode can be extremely slow, especially for large models.
CAP or 5 Capped hidden display (same as combined SECT and HIDD with model in front of section plane removed).
ZBUF or 6 Z-buffered display (like HIDD but using software Z-buffering).
ZCAP or 7 Capped Z-buffered display (same as combined SECT and ZBUF with model in front of section plane removed).
ZQSL or 8 QSLICE Z-buffered display (same as SECT but the edge lines of the remaining 3-D model are shown).
HQSL or 9 QSLICE precise hidden display (like ZQSL but using precise hidden).
/TYPE,1,6 ! Z-buffered display /TYPE,1,5 ! Capped hidden display /TYPE,1,7 ! Capped Z-buffered display 

6.2 Cutting plane is(/CPLANE)

Value Description
0 Cutting plane is normal to the viewing vector [/VIEW] and passes through the focus point [/FOCUS] (default).
1 The working plane [WPLANE] is the cutting plane.
!0: Normal to view /CPLANE, 0 !1: Working plane /CPLANE, 1 

6.3 Cutting plane is: Normal to View

! Normal to view /CPLANE, 0 

6.4 Cutting plane is: Working plane

! Working plane /CPLANE,1 ! Cutting plane defined to use the WP 
  • (1)获取当前工作平面的状态信息
    在这里插入图片描述
  • (2)当前工作平面的状态信息窗口,这里主要看工作平面的原点和法线方向的值,方便下一步截面位置和方向的定义。
命令:WPSTYL,STAT GUI:Utility Menu > List > Status > Working Plane 或 GUI:Utility Menu > WorkPlane > Show WP Status 

在这里插入图片描述
将工作平面重置为默认状态下的位置和样式:

命令:WPSTYL, DEFA 
/TYPE,1,5 ! Capped hidden display 

(8)变形图的剖面形式的动画

在这里插入图片描述
(9)等值位移图的剖面形式的动画
在这里插入图片描述

6.5 Defines the viewing direction for the display(/VIEW)

/VIEW, 1 ,WP ! View will be normal to the WP 

在这里插入图片描述

/VIEW, 1 ,1,1,1 

在这里插入图片描述

6.6 Specifies the viewing distance for magnifications and perspective(/DIST)

/DIST,1,.01 ! Zoom in on the cross section 

在这里插入图片描述

/DIST,1,5 ! Zoom in on the cross section 

在这里插入图片描述

6.7 Edit working plane

  • 定义工作平面:
    在这里插入图片描述
  • 移动工作平面:
    在这里插入图片描述
WPOFFS,XOFF, YOFF,ZOFF !偏移工作平面 WPROTA,THXY,THYZ,THZX !旋转工作平面 WPCSYS, WN,KCN !根据当前坐标系来定义工作平面 WPLANE, WN,XORIC,YORIG,ZORIG,XXAX,YXAX,ZXAX ,XPLAN, YPLAN,ZPLAN !通过三个点的位置来定义一个工作平面 NWPLAN,WN,NORIG,NXAX,NPLAN !通过3个节点来指定工作平面 KWPLAN,WN,KORIG,KXAX,KPLAN !3个关键点定义一个工作平面 LWPLAN,WN,NL1,RATIO !通过垂直于一条线的某个位置来定义工作平面 KWPAVE,Pl,P2,P3,P4,P5,P6,P7,P8,P9 !移动工作平面的原点到拾取关键点的中间位置 NWPAVE,NI,N2,N3, N4,N5,N6,N7,N8 ,N9 !移动工作平面原点到指定节点的中间位置 WPAVE,X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3 !移动工作平面原点到指定坐标的中间位置` ```python WPOFFS,0,0,0.1 

在这里插入图片描述

WPOFFS,0,0,-0.2 

在这里插入图片描述
执行菜单栏中的Utility Menu > WorkPlane > Offset WP by Increments命令,弹出“Offset WP”对话框.
在这里插入图片描述
一个例子如下:


CSYS !激活总体笛卡尔坐标系 WPCSYS !工作平面与当前坐标系重合 WPOFFS,0,0,0.15 !工作平面在Z轴上偏移0.15m,就是查看Z=0.15m平面上应力图 /TYPE,1,1 !剖面显示 /CPLANE,1 !定义工作平面为切平面,即工作平面为剖面 plnslou,s,x !显示x方向应力 

7、编写脚本文件

  • (1)ANSYS的宏文件的后缀是.mac,可以用记事本打开。将写完的某个分析过程全部放在mac文件里面,并且将该文件放在工作目录下,然后再ANSYS的命令输入窗口可以直接输入name.mac,即可运行该宏文件。
  • (2)当然我们也可以通过命令创建这样的一个宏文件。
*CREATE,MAC !!! CREATE MACRO FILE FOR POST PROCESSING /POST1 EPLOT ! PLOT ELEMENTS PRERR ! PRINT THE ENERGY NORM PERCENT ERROR (SEPC) NSEL,ALL ESEL,ALL *status,parm ! SHOW STATUS OF PARAMETERS *END !!! CLOSE MACRO FILE 

最终在工作目录下会生成一个名称为MAC的宏文件,APDL命令中create和end之间的内容会被写入一个新的宏文件中。

  • (3)将脚本文件放在ANSYS当前工作文件夹里,通过如下界面中的命令输入框,填写脚本文件的文件名,然后回车,即可执行脚本功能。
    在这里插入图片描述

8、获取所有节点的数据

  • 命令:NLIST
    在这里插入图片描述
  • 命令:PRNSOL, U, SUM
    在这里插入图片描述

APDL命令相关代码如下:

*get,nodecount,node,,count *get,elemcount,elem,,count /STAT 
  • 方法1:
/UIS, MSGPOP, 3 allsel *cfopen, get_nodedata, txt ! ! (1) 获取节点数量 *get, node_max, NODE, 0, NUM, MAX *get, node_min, NODE, 0, NUM, MIN *get, node_count, NODE, 0, COUNT *vwrite, node_min ("Node 's Min Index: ", 3X, f10.0) *vwrite, node_max ("Node 's Min Index: ", 3X, f10.0) *vwrite, node_count ("Node 's Count: ", 3X, f10.0) *vwrite ('title = id, X, Y, Z') ! ! (2) 遍历和写文件 *do, i, node_min, node_max xx=NX(i) yy=NY(i) zz=NZ(i) *vwrite,'NODE', i,xx,yy,zz (1X, a, 3X, 1f8.0, 3f16.8) *enddo ! *cfclose 
  • 方法2:
! ! (2) 遍历和写文件 *del,nodepos *dim,nodepos,ARRAY,node_max,3 *do,i, node_min, node_max *get,nodepos(i,1),NODE,i,LOC,X *get,nodepos(i,2),NODE,i,LOC,Y *get,nodepos(i,3),NODE,i,LOC,Z *enddo *vwrite,sequ,nodepos(1,1),nodepos(1,2),nodepos(1,3) (f8.0, 3f16.8) ! 
  • 方法3:
! ! (2) 遍历和写文件 *do, i, node_min, node_max *get,xx,NODE,i,LOC,X *get,yy,NODE,i,LOC,Y *get,zz,NODE,i,LOC,Z *get,axy,NODE,i,ANG,XY *get,ayz,NODE,i,ANG,YZ *get,azx,NODE,i,ANG,ZX *vwrite,'NODE', i,xx,yy,zz (1X, a, 3X, 1f8.0, 3f16.8) *enddo 
  • 方法4:
alls !allsel *CFOPEN,output,txt *GET,num_nodes_,NODE,0,COUNT !Get the number of nodes *GET,node_,NODE,0,NUM,MIN !Get label of the first node *DO,i,1,num_nodes_,1 ! Define some parameters *GET,nx_,NODE,node_,LOC,X *GET,ny_,NODE,node_,LOC,Y *GET,nz_,NODE,node_,LOC,Z ! Write line *VWRITE,node_,nx_,ny_,nz_ (F8.0,',',f16.8,',',f16.8,',',f16.8) !(F8.0,',',E10.3,',',E10.3,',',E10.3) ! select the next node *GET,node_,NODE,node_,NXTH *ENDDO *CFCLOSE 
  • 方法5:
! ! (2) 遍历和写文件 *do, i, node_min, node_max *get,uxx,NODE,i,U,X *get,uyy,NODE,i,U,Y *get,uzz,NODE,i,U,Z *get,usum,NODE,i,U,SUM *get,rxx,NODE,i,ROT,X *get,ryy,NODE,i,ROT,Y *get,rzz,NODE,i,ROT,Z *get,rsum,NODE,i,ROT,SUM *vwrite,'NODE', i,uxx,uyy,uzz,usum,rxx,ryy,rzz,rsum (1X, a, 3X, 1f8.0, 8f16.8) *enddo ! 

在这里插入图片描述

9、获取所有单元的数据

  • 命令:ELIST
    在这里插入图片描述
  • 命令:PRESOL, M
    在这里插入图片描述
  • 命令:PRESOL, CENT
    在这里插入图片描述

APDL命令相关代码如下:

!* ! Purpose: 导出所有单元在当前频率点的振动位移数据 ! Author: 爱看书的小沐 ! Date: 2022-02-21 ! Platform: Ansys 15.0 win64 ! * /UIS, MSGPOP, 3 allsel *cfopen, get_elemdata, txt ! ! (1) 获取单元数量 *get, elem_max, ELEM, 0, NUM, MAX *get, elem_min, ELEM, 0, NUM, MIN *get, elem_count, ELEM, 0, COUNT *vwrite, elem_min ("Elem 's Min Index: ", 3X, f10.0) *vwrite, elem_max ("Elem 's Min Index: ", 3X, f10.0) *vwrite, elem_count ("Elem 's Count: ", 3X, f10.0) *vwrite ('title = id, X, Y, Z, AREA') ! ! (2) 遍历和写文件 *do, i, elem_min, 100 *get, ex, ELEM, i, CENT, X *get, ey, ELEM, i, CENT, Y *get, ez, ELEM, i, CENT, Z *get, earea, ELEM, i, AREA *vwrite,'ELEM', i,ex,ey,ez,earea (1X, a, 3X, 1f8.0, 4f16.8) *enddo ! *cfclose 

在这里插入图片描述

10、获取所有节点和单元的数据

!* ! Purpose: 导出所有节点和单元在当前频率点的振动位移数据 ! Author: 爱看书的小沐 ! Date: 2022-02-21 ! Platform: Ansys 15.0 win64 ! * *get,nodenum,node,,num,max *dim,nodepos,array,nodenum,3 *do,i,1,nodenum,1 *get,nodepos(i,1),node,i,loc,x *get,nodepos(i,2),node,i,loc,y *get,nodepos(i,3),node,i,loc,z *enddo *get,elemnum,elem,,num,max *dim,elemlist,array,elemnum,6 *do,i,1,elemnum,1 *do,ii,1,6,1 *get,elemlist(i,ii),elem,i,node,ii *enddo *enddo *cfopen,geomfile,txt *vwrite,0 (F8.0,'node data:') *vwrite,sequ,nodepos(1,1),nodepos(1,2),nodepos(1,3) (F8.0,3f16.8) *vwrite,0 (F8.0,'element data:') *vwrite,sequ,elemlist(1,1),elemlist(1,2),elemlist(1,3),elemlist(1,4),elemlist(1,5),elemlist(1,6) (F8.0,6f8.0) *vwrite,0 (F8.0) *cfclos 

11、获取所有频率时刻点的节点和单元数据

  • 版本1:直接调用界面命令
!* ! Purpose: 导出所有节点在所有频率点的振动位移数据(直接使用菜单命令) ! Author: 爱看书的小沐 ! Date: 2022-02-21 ! Platform: Ansys 15.0 win64 ! * !ernorm, off !/rmdir, 'results' !/mkdir, 'results' outname = 'results/dlist' /output,%outname%,txt, dlist outname = 'results/elist' /output,%outname%,txt, elist outname = 'results/nlist' /output,%outname%,txt, nlist outname = 'results/ecent' /output,%outname%,txt, /format,,f,15,8 presol,cent !*do,i,1,60,1 !set,,,,,,,i *do,i,1,30,1 set,i,last /format,,f,15,10 /output outname = 'results/prnsol/t' outname = strcat(outname, chrval(i)) /output,%outname%,txt, prnsol,u,sum outname = 'results/presol_m/t' outname = strcat(outname, chrval(i)) /output,%outname%,txt, presol,m *enddo /output 
  • 版本2:调用底层接口,且生成vol自定义格式
!* ! Purpose: 导出所有节点在所有频率点的振动位移数据(调用apdl底层接口语句) ! Author: 爱看书的小沐 ! Date: 2022-02-21 ! Platform: Ansys 15.0 win64 ! * !Export nodal coordinates to CSV !NOTE: *VWRITE command can only be executed from an external file by e.g /INPUT /UIS, MSGPOP, 3 alls *do,n,1,30,1 set,n,last *CFOPEN,output%n%,vol *vwrite, ('frames 1') *vwrite, ('interval 1') *GET,num_nodes_,NODE,0,COUNT !Get the number of nodes *GET,node_,NODE,0,NUM,MIN !Get label of the first node *GET,node_max,NODE,0,NUM,MAX !Get label of the first node *vwrite, node_max !num_nodes_ ('points', F8.0) *DO,i,1,num_nodes_,1 ! Define some parameters *GET,nx_,NODE,node_,LOC,X *GET,ny_,NODE,node_,LOC,Y *GET,nz_,NODE,node_,LOC,Z ! Write line *VWRITE,node_,nx_,ny_,nz_ (F8.0,3f16.8) ! select the next node *GET,node_,NODE,node_,NXTH *ENDDO !!! i *vwrite, 1 frame %d *GET,node_,NODE,0,NUM,MIN !Get label of the first node *DO,i,1,num_nodes_,1 ! Define some parameters *GET,nx_,NODE,node_,U,X *GET,ny_,NODE,node_,U,Y *GET,nz_,NODE,node_,U,Z ! Write line *VWRITE,node_,nx_,ny_,nz_ (F8.0,3f16.10) ! select the next node *GET,node_,NODE,node_,NXTH *ENDDO !!!i *CFCLOSE *ENDDO !!!n 

在这里插入图片描述
第三届机器人、人工智能与智能控制国际会议(RAIIC 2024)将于2024年7月5-7日中国·绵阳举行。 RAIIC 2024是汇聚业界和学术界的顶级论坛,会议将邀请国内外著名专家就以传播机器人、人工智能与智能控制领域的技术进步、研究成果和应用做专题报告,同时进行学术交流。诚邀国内外相关高校和科研院所的科研人员、企业工程技术人员等参加会议。
大会网站:更多会议详情
时间地点:中国-绵阳|2024年7月5-7日


在这里插入图片描述
由河南省科学院、河南大学、郑州航空工业管理学院主办,河南省产学研人工智能研究院、河南大学人工智能学院、郑州航空工业管理学院计算机学院承办的第四届人工智能,大数据与算法国际学术会议 (CAIBDA 2024)将于2024年7月5-7日于中国郑州隆重举行。CAIBDA 2024致力于为人工智能,大数据与算法等相关领域的学者,工程师和从业人员提供一个分享最新研究成果的平台。
大会网站:更多会议详情
时间地点:中国-郑州|2024年7月5-7日


在这里插入图片描述
2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)将于2024年7月19-21日在中国·珠海召开。
大会网站:更多会议详情
时间地点:中国珠海-中山大学珠海校区|2024年7月19-21日


结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!


在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/130102.html

(0)
上一篇 2025-08-19 16:15
下一篇 2025-08-19 16:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信