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