加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

*vwrite*vread写入读取数据文件

(2016-02-06 19:45:31)
分类: ANSYS
使用*vwrite写入数据文件
Menu Paths

Utility Menu>Parameters>Array Parameters>Write to File 

*vwrite命令用于把数组中的数据按照指定的格式(表格式)写入数据文件中。它一次最多可以写入19个参数,并写到由*cfopen命令打开的文件中。写出的格式由*vwrite命令行下一行的FORTRAN77数据描述符的确定(注意:该操作不能通过ansys命令输入窗口进行执行)。数组矢量要指定起始元素位置(如MYARRAY(1,2,1))。可以用表达式来计算数据文件中每一行的位置。关键字SEQU将从1开始写一个连续的整数列。

*vwrite命令的使用格式如下:
*VWRITEPar1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9, Par10, Par11, Par12, Par13, Par14, Par15, Par16, Par17, Par18, Par19

其中par1~par19是依次写出的19个参数或者常数,某个空值表示忽略,所有都忽略则输出一空行。允许写出的数据包括常数,变量与数组,包括数值型和字符型数据。

在*vwrite之前需利用*cfopen打开的一个数据文件,表示其后的并将*cfopen和*cfclos之间所有的*vwrite写出的数据都输入到该数据文件中。

*cfopen命令的使用格式:*cfopen,fname,ext,--,loc
其中:fname是带路径的文件名(两者允许至多250字符长度),缺省路径为工作目录,文件名缺省为jobnmae。ext是文件的扩展名(至多是8个字符长度)。如果fname为空,那么扩展名缺省为cmd。--表示该域是不需要使用的值域。loc用于确定打开的文件已经存在时,缺省表示采用覆盖方式写数据到文件中,设置成append表示采用追加方式写数据到文件中。

与*cfopen成对使用的另外一个命令时*cfclos命令,总是在*cfopen命令与一序列数据*vwrite命令之后,用于关闭用*cfopen命令打开的文件。
*cfclos命令的使用格式如下:*cfclos

在*vwrite命令行之后必须紧跟写出数据的格式说明行,规定*vwrite所写出的每项的数据的格式描述符。注意:格式行前面不需要format格式标识字,直接填写一序列的格式描述符,所有的格式描述符必须用一对圆括号括起来。常用的格式描述符的说明用法如下:

*create,temple,mac
finish
/clear
item='weight:'
data=234.56
unit='kg'
*dim,aa,array,4,1,1
aa(1)=10.2,324.5,123.7,908
*dim,bb,char,3,1,1
bb(1)='i am','a good','man'
*cfopen,byb,dat
*vwrite
(5x,'*vwrite demo')
*vwrite,
('***********************')
*vwrite,item,data,unit
(a8,f10.2,a8)
*vwrite,
(/'******array parameter output demo******')
*vwrite,
('float format/sequ keyword:')
*vwrite,sequ,aa(1)
(f3.0,f10.4)
*cfclos
*end
temple

运行结果,byb.dat文件中的内容为:
     *vwrite demo
***********************
weight:     234.56kg      

******array parameter output demo******
float format/sequ keyword:
 1.   10.2000
 2.  324.5000
 3.  123.7000
 4.  908.0000

使用*vread命令读取数据文件填充数组

Menu Paths
Utility Menu>Parameters>Array Parameters>Read from File 

可以读取数据文件中的数据并用来填充已经定义的数组参数。数据文件必须是ASCII格式文件,并按指定下标将读入的数据赋值给数组参数。读取文件时候,必须在*vread命令行的下一行指定数据读入的格式说明,控制从文件中读取数据信息的格式,数据格式说明必须括在一对圆括号中。

使用格式如下:
*VREAD, ParR, Fname, Ext, --, Label, n1, n2, n3, NSKIP
其中:parr是读入数据的赋值对象数组,必须是已经存在的数组参数;fname是带路径的文件名(允许最多为250字符长度),缺省路径为工作目录,文件名缺省为jobname;ext是文件的扩展名(至多为8字符长度);--表示该域是不需要使用的值域;label是取值顺序标识字IJK,IKJ,JIK,JLI,KIJ,KJI,空值表示IJK;n1,n2,n3是当label=KIJ,n2和n3缺省等于1时按照格式(((parR(i,j,k),k=1,n1),i=1,n2),j=1,n3)读入数据;NSKIP是读入数据文件时需要跳过的开始行数,表示从下一行开始读入数据文件中的数据,缺省值时0,表示从第一行开始读入数据。

eg:数据文件data.dat存储内容如下,读入该数据文件中数据并赋值给数组aa。
1.5     7.8  12.3
15.6  -45.6  42.5

命令流如下:
*create,byb,mac
*dim,aa,,2,3
*vread,aa(1,1),data,dat,,jik,3,2
(3f6.1)
*end
byb

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有