首页/文章/ 详情

ANSYS将数据输出到文件的命令*VWRITE,简单易用

3月前浏览5578

本文摘要(由AI生成):

本文介绍了在ANSYS中使用*VWRITE命令来定制输出的方法。*VWRITE命令允许用户根据指定的参数和格式描述符输出数据到文件,支持数值型和字符型数据,但不支持整型数和通配符格式。文中通过实例演示了如何输出节点总数、节点坐标、节点位移与转角、单元最大与最小应力等信息,并强调了在使用*VWRITE命令时需要注意的事项,如数组输出的方式、EN和ES输出格式的选择、以及%格式与括弧对应的格式的区别等。最后,文末附有版权声明。


ANSYS内部数据输出到文件,总是会需要的。既然输出到文件,就需要先打开数据文件。*CFOPEN命令用于打开数据文件,而*CFCLOS命令用于关闭文件,这与FORTRAN语言中打开文件类似。*CFOPEN的命令格式:

*CFOPEN,Fname,Ext,--,Loc

其中:Fname是可带路径的文件名(最长250个字符),缺省为当前工作目录。Ext为文件扩展名(最多8个字符),一般采用TXT(记事本直接打开)或DAT。Loc用于打开既有文件时,是重新输出覆盖原数据,还是在原数据的基础上追加。缺省为覆盖方式,APPEND为追加方式。

当不再输出数据时,用*CFCLOS关闭文件即可。

现在再说输出命令*VWRITE与格式。*VWRITE命令一次最多可输出19个参数到*CFOPEN打开的文件中,其输出格式由紧跟的语句确定。*VWRITE命令如下:

*VWRITE,Par1,Par2,Par3,……,Par19

其中Par1~Par19为输出的19个参数或常数,如果无任何参数则输出一空行。可输出的数据包括常数、变量、数组,可为数值型和字符型数据。输出格式为在一对括弧中的数据格式描述,如F15.6或E15.6等。数据格式描述符与FORTRAN类似,但无整型(I)和通配符(*)格式,常用输出格式如图1所示。

下面以一个实例,演示上述输出格式与方法。

FINISH$/CLEAR$/PREP7

K,1$K,2,10$K,3,5,1$L,1,2

ET,1,BEAM189

MP,EX,1,2.1E11$MP,PRXY,1,0.3

SECTYPE,1,BEAM,RECT$SECDATA,0.2,0.3

LATT,1,,1,,,3,1$ESIZE,0.5$LMESH,ALL

DK,1,ALL$FK,2,FY,-5E4

/SOLU$SOLVE$/POST1$PLNSOL,U,SUM

*CREAT,OUT,MAC!创建输出宏OUT.MAC

*CFOPEN,DATFILE,TXT!打开文件DATFILE.TXT

NSEL,S,EXT

*GET,NN,NODE,,COUNT

*VWRITE,NN

('节点总数=',2X,F8.1)

*VWRITE

(/'****节点坐标***')

*VWRITE

(' 节点号',8X,'X坐标',8X,'Y坐标')

*DO,I,1,NN

*VWRITE,I,NX(I),NY(I)

(F8.1,TL2,' ',2F15.6)

*ENDDO

NSEL,ALL

*VWRITE

(/'***节点位移与转角***')

*VWRITE

(' 节点号',8X,'Y位移',8X,'Z转角')

*DO,I,1,NN

*VWRITE,I,UY(I),ROTZ(I)

(F8.1,ES15.6,E15.6)

*ENDDO

*GET,NE,ELEM,,COUNT

*DIM,YL,,NE,2

*DO,I,1,NE

*GET,EISXMA,SECR,I,S,X,MAX

*GET,EISXMN,SECR,I,S,X,MIN

YL(I,1)=EISXMA

YL(I,2)=EISXMN

*ENDDO

*VWRITE

(/'***单元最大与最小应力***')

*VWRITE

('单元号',6X,'最大应力',8X,'最小应力')

*DO,I,1,NE

!I1=YL(I,1)

!I2=YL(I,2)

!*VWRITE,I,I1,I2

*VWRITE,I,(YL(I,1)),(YL(I,2))

(3X,F8.1,8X,EN15.3,8X,EN15.3)

*ENDDO

*VWRITE,NN,NE,(YL(1,1))

%d%10.1F%5X%15.6E

*CFCLOS!关闭文件

*END!结束宏文件定义

OUT!执行宏

文件DATFILE如图2所示。

使用*VWRITE的输出格式应注意:

(1)无整型数输出格式,也无通配符格式。实际上整数除了好看外,强调其输出意义不大。

(2)数组输出时,一般将数组赋予一个变量再输出,也可将数组放在括弧中表示数组的元素项,例如数组(YL(21,2))就表示YL数组的第21行第2列的元素。如果不放在括弧中,则会按列循环输出,容易出错。

(3)EN、ES格式分别为工程计数法和科学计数法输出,当应力为Pa时用EN格式更容易读。

(4)TL、TR、T和SP格式一般不常用,在数据转换的特殊情况下可能会用。

(5)*VWRITE命令和格式语句不能粘贴在命令行执行。可用宏或/INPUT命令读入执行。

(6)在*VWRITE命令和格式语句之间不应有其他语句。

(7)与括弧对应的格式为%格式,这种格式不需要放在括弧中,直接使用即可。特别地,%D为整型数输出格式。但因%格式与传统FORTRAN用法有所不同,因此不推荐使用。如%10.1F%5X%15.6E与(F10.1,5X,E15.6)相同。

---------------------------------------------------------------------------------------------

版权声明:

原创文章,来源铁大王新敏,本文已经授权,欢迎分享,如需转载请联系作者。



ANSYS 其他代码&命令求解技术科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-12-29
最近编辑:3月前
王新敏
硕士 | 教授 好好学习,天天快乐
获赞 122粉丝 610文章 96课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈