收藏 分销(赏)

ANSYS读入txt数组文件.pdf

上传人:a199****6536 文档编号:1480831 上传时间:2024-04-28 格式:PDF 页数:9 大小:132.28KB
下载 相关 举报
ANSYS读入txt数组文件.pdf_第1页
第1页 / 共9页
ANSYS读入txt数组文件.pdf_第2页
第2页 / 共9页
ANSYS读入txt数组文件.pdf_第3页
第3页 / 共9页
ANSYS读入txt数组文件.pdf_第4页
第4页 / 共9页
ANSYS读入txt数组文件.pdf_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、怎么样从怎么样从 ansysansys 里面读入里面读入 txttxt 文件的相应的数据?文件的相应的数据?时间:2010-05-03 21:00来源:作者:letian81 点击:13 次1 不能直接在命令窗口中执行*vread 命令*read 命令的使用格式为:*READ,PARR,FNAME,EXT,-,LABEL,N1,N2,N3,NSIP 前三项不用解释,ext 是文件的开展名,-表示该域是不需要使用的值域 label 是取值顺序标识字,ijk,ikj,jik,jki,kij,kji,空格表示 ijk1 不能直接在命令窗口中执行*vread 命令*read 命令的使用格式为:*REA

2、D,PARR,FNAME,EXT,-,LABEL,N1,N2,N3,NSIP前三项不用解释,ext 是文件的开展名,-表示该域是不需要使用的值域label 是取值顺序标识字,ijk,ikj,jik,jki,kij,kji,空格表示 ijkn1,n2,n3,是当 label=kij,n2,n3,缺省等于 1 时按照格式(parr(i,j,k),k=1,n1),i=1,n2),j=1,n3)读入数据的nskip 是读入数据文件时需要调过的开始行数2 你在 ansys 的 help 里面察看 vread 命令,然后看它的用法格式,把你写的小程序写成一个 mac 文件,倒入 mac 文件就能从 arr

3、ay parameter 里面看到你倒入的 txt 文件的数组形式3ansys 如何读入 txt 文本中的地震波数据?命令流(下面的命令必须用文本读入的方法实现,命令窗无法实现):*DIM,EQ,6000,1,!首先定义一个 EQ 数组*VREAD,EQ,earthquake,TXT,0,!将 earthquake.txt 读入 EQ 数组里(e16.0)用的时候:*DO,EQ,0.02,0.02*6000,0.02TIME,TMacel,EQ!求解过程.*ENDDO一、输入格式要求一、输入格式要求ANSYS 的 APDL 语言其语法等各方面均与 Fortran 有很大的共通之处。在数据的输入

4、输出格式方面也可以参考 Fortran。对于初学者来说,输入数据时更容易引发错误,所以下面谈几点在这方面的小认识。APDL 从外部文件输入数据,一般是采用*vread 命令实现,而输入格式一般是在此命令的下一行定义,关于此命令的具体应用,可参见 ANSYS 帮助。在输入格式方面与 Fortran 不同:(1)APDL 在数值方面没有整型(I)、G 型描述符,字符型数据采用 A 描述符,没有 H 描述符。(2)在 Fortran 中如果数据是整数,但是输入格式采用实数(如单精度浮点型 F),则系统可以按指定格式自动为数据加上小数点,但在 APDL 中如输入数据为整数,如:6,则格式 Fw.d 中

5、的 d只能为零,否则会出现读入错误;而如果是 6.则 Fw.d 中的 d 可以不为 0。另外在输入时还容易引起输入错误的是:(1)输入格式的长度大于数据长度(指前一个数据的起至紧接的下一个数据的起始前一位,小数点和负号均占一位),如 6._ _ _ _-5.6,前面的数据长度应为 6,如果输入格式 Fw.d 中的 w6,则会出现读入错误;(2)格式语句应置于*vread 的下一行,两行之间可以有空行,但不能有其它语句,甚至是注释语句也不能有。二、输出格式二、输出格式 输出与输入在格式方面基本一致,用*vwrite 执行,但也有不同之处:输出时可以使用%c 控制字符输出,%wI 控制整数输出;%

6、w.pF 或%w.pE 或%w.pG 控制实数输出;不能加括号。如格式语句:(F6.0,F5.2,A3),对应于:%6.0F%5.2F%3c;应注意后一种格式中没有用逗号相隔开,也没有用括号括起,如有逗号,逗号也将一并输出。注意:输入输出格式最好从一行的开始写,前面不要有空格用%号(%wI)的这种格式可以输出整型数字。%这种控制语句也应紧接*vwrite 行,可以有空行,但不能有其它语句夹在中间(注释也不行)。应当指出的是,%这种控制语句不能用在控制输入中。三、一个例子三、一个例子几点说明:1.使用*VWrite 命令把数据输出到文件时,必须要使用*CFOpen 命令事先打 开一个 文件;*C

7、FOpen 命令必须和*CFClos 命令配对使用;2.*Vwrite 命令后面必须紧跟输出格式说明;例如:*Vwrite,a,b,c(格式说明)3.格式说明中 Fw.d,w 的数值不能太小,以至于输出的数据丢失了整数部分的 精度;例如:a=123.4,Fw.d 中的 w 至少要为 5,否则在 ANSYS 中运行时报错;这样的非语法类错误,很难发现;为了避免此类错误发生,w 应该至少设置为输出数据的所有数字个数1(小数点)附:常用格式说明:*1.(一对单引号):用于在输出数据的时候,输出注释字符串,常常用来增加一些说明文字,增加可读性;比如:*Vwrite,Widh,Length,Height

8、(宽度为:,F6.3,长度为:,F6.3,高度为:,F6.3)2.nX:输出 n 个空格;比如:在输出的 a,b,c3 个数据之间加入 2 个空格;*vwrite,a,b,c(F6.3,2X,F6.3,2X,F6.3)3./:结束当前行的输出,转到下一行输出;如果两个/连续出现,则添加一个空行;实数及数组的输出与示例实数及数组的输出与示例一、实数的输出一、实数的输出实数的输出比较简单,类似实数的输出比较简单,类似 FORTRAN 的可采用的可采用 D/E/F/G 格式输出。例如:格式输出。例如:*CFOPEN,MYFILE,TXTX1=4.56X2=12345.678X3=1.23E-6*VW

9、RITE,X1,X2,X3(3d15.6)*VWRITE,X1,X2,X3(3E15.6)*VWRITE,X1,X2,X3(3f15.6)*VWRITE,X1,X2,X3(3g15.6)*CFCLOSE文件 MYFILE.TXT 如下:0.456000D+010.123457D+050.123000D-050.456000E+010.123457E+050.123000E-054.56000012345.6780000.0000014.5600012345.70.123000E-05当采用科学计数时,输出格式的第一位都是当采用科学计数时,输出格式的第一位都是“0”“0”开头开头,如上文中的0.

10、123457E+05,假如我们希望写成 1.234568E+04 或 12.345678E+03 的格式时,可采用如下格式:1PE15.6 或 2PE15.6。则上文中的命令流可改为:*VWRITE,x1,x2,x3(3(1pe15.6)或*VWRITE,x1,x2,x3(1pe15.3,3pe15.4,1pe15.6)采用采用 C C 格式输出实数格式输出实数C 格式也有 d-整型、f-浮点、e-科学、g-任意、c-字符、s-字符串等格式,均采用%w.dx 形式,而%/则为回车换行。例如:*CFOPEN,MYFILE,TXTX1=4.56X2=12345.678X3=1.23E-6*VWRI

11、TE,X1,X2,X3,4567%14.6f%15.6e%16.6g%10d*CFCLOSE文件 MYFILE.TXT 如下:4.5600001.234568E+041.230000E-064567二、数组的输出二、数组的输出(一一)VWRITE)VWRITE 方法方法数组输出格式同上,但其输出控制却有很多种形式,且 ANSYS 按列输出数组。设有数组(矩阵形式,这里不用插图了):|1.1 2.1 3.1|1.2 2.2 3.2|ABC(5,3)=|1.3 2.3 3.3|1.4 2.4 3.4|1.5 2.5 3.5|*VWRITE 命令如下几种方式:与矩阵写法类同的按列输出:利用 ANSY

12、S 的输出特点,分别写出各列表示符即可,而行则从 1 到最终的 5。同上格式,但按矩阵元素输出用一对()将矩阵表达式括起来变为矩阵元素,这样用循环输出,如命令流中所示。当列很多时不可能写出每个列字符表达式,此时可采用$字符格式$字符表示连续输出,没有回车符号,当一行写完后,增加一个非$格式语句即可。但是这里增加了一个临时数组,以存储某行的数据。上述输出格式便于导入 EXCELL 中处理数据。(二二)MWRITE)MWRITE 命令命令数组最好采用*MWRITE 命令输出,不管是否按类似矩阵格式输出,此命令均可较好解决。当矩阵列数较少时,可以采用类似行列输出;当矩阵列数很大时,可以按每行 N 个

13、数据控制输出。以上 4 种方法的命令流如下:*DIM,ABC,5,3!数组赋值*DO,I,1,5*DO,J,1,3ABC(I,J)=J+I/10*ENDDO*ENDDO!VWRITE 数组输出*CFOPEN,MYFILE,TXT!格式 1-按行列输出(行数从 1最终的 5,列不变)*VWRITE,ABC(1,1),ABC(1,2),ABC(1,3)(3F6.1)!格式 2-按矩阵元素输出*DO,I,1,5*VWRITE,(ABC(I,1),(ABC(I,2),(ABC(I,3)(3F6.2)*ENDDO!格式 3-多列时按行列输出*DIM,TELS,3*DO,I,1,5*DO,J,1,3TEL

14、S(J)=ABC(I,J)*ENDDO*VWRITE,TELS(1)(F6.3,$)*VWRITE()*ENDDO*CFCLOSE!MWRITE 输出数组!ABCD(I,J,K)*DIM,ABCD,50,30!数组赋值*DO,I,1,50*DO,J,1,30ABCD(I,J)=j+i/100*ENDDO*ENDDO*MWRITE,ABCD,MYFILE1,TXT,JIK,30,50(30F9.4)!也可采用(10f9.4)格式,以输出 150 行*10 个的数据。文件 MYFILE.TXT 可以通过记事本查看。1.1 2.1 3.1 1.2 2.2 3.2 1.3 2.3 3.3 1.4 2.

15、4 3.4 1.5 2.5 3.5 1.10 2.10 3.10 1.20 2.20 3.20 1.30 2.30 3.30 1.40 2.40 3.40 1.50 2.50 3.501.100 2.100 3.100 1.200 2.200 3.200 1.300 2.300 3.300 1.400 2.400 3.400 1.500 2.500 3.500 文件 MYFILE1.TXT 的内容可通过 EXCELL 打开:EXCELL打开(所有文件)选择MYFILE1.TXT选择分隔符下一步选择空格完成,该表为 50 行*30 列的数据表。*GET,ELEMENTNUM,ELEMENT,0,

16、COUNT*GET,NODENUM,NODE,0,COUNT*CFOPEN,c:tecplot,plt !tecplot 的输出文件*VWRITE(TITLE=Ansys to Tecplot FOR TETRAHEDRON MESH)*VWRITE(VARIABLES=X,Y,Z)*VWRITE,NODENUM,ELEMENTNUMZONE N=%5I,E=%7I,F=FEPOINT,ET=TETRAHEDRON*DO,I,1,NODENUM,1 *VWRITE,NX(I),NY(I),NZ(I)(3F12.6)*ENDDO*DO,I,1,ELEMENTNUM,1 *VWRITE,NELEM

17、(I,1),NELEM(I,2),NELEM(I,3),NELEM(I,5)%7I%7I%7I%7I*ENDDO*CFCLOS finish/clearItem=Weightdata=234.56Unit=Kg*Dim,AA,Array,4,1,1AA(1)=10.2,324.5,123.7,908*Dim,BB,Char,3,1,1BB(1)=I am,a good,man*CFopen,G:ANSYSUserabc,txt*vwrite,(5X,*Vwrite Demo)*vwrite,(*)*vwrite,Item,data,Unit(A8,F10.2,A8)*vwrite(/*Arra

18、y Parameter Output Demo*)*Vwrite,(Float Format/SEQU Keyword:)*vwrite,SEQU,AA(1)(F3.0,4F10.4)*vwrite,AA(1),AA(2),AA(3),AA(4)(/Float/x Format:/F4.1,2X,F10.4,2X,F10.4,2X,F10.4)*vwrite,AA(1),AA(2),AA(3),AA(4)(/Float Format:/4F10.4)*vwrite,AA(1),AA(2),AA(3),AA(4)(/Double Format:/D13.5,/D15.6,/D18.10,/D10

19、.3)*vwrite,(/*char parametric output demo*)*vwrite,BB(1),BB(2),BB(3)(3A6)*CFclos输出结果为:*Vwrite Demo*Weight 234.56Kg*Array Parameter Output Demo*Float Format/SEQU Keyword:1.10.20002.324.50003.123.70004.908.0000Float/x Format:10.2 324.5000 123.7000 908.0000Float Format:10.2000 324.5000 123.7000 908.0000Double Format:0.10200D+020.324500D+030.1237000000D+030.908D+03*char parametric output demo*I am a goodman

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服