ansys 数据的输入输出.docx_第1页
ansys 数据的输入输出.docx_第2页
ansys 数据的输入输出.docx_第3页
ansys 数据的输入输出.docx_第4页
ansys 数据的输入输出.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于ANSYS的APDL中数据的输入输出格式 一、输入格式要求ANSYS的APDL语言其语法等各方面均与Fortran有很大的共通之处。在数据的输入输出格式方面也可以参考Fortran。对于初学者来说,输入数据时更容易引发错误,所以下面谈几点在这方面的小认识。APDL 从外部文件输入数据,一般是采用*vread命令实现,而输入格式一般是在此命令的下一行定义,关于此命令的具体应用,可参见ANSYS帮助。在输入格式方面与Fortran不同:(1)APDL在数值方面没有整型(I)、G型描述符,字符型数据采用A描述符,没有H描述符。(2)在Fortran中如果数据是整数,但是输入格式采用实数(如单精度浮点型F),则系统可以按指定格式自动为数据加上小数点,但在APDL中如输入数据为整数,如:6,则格式 Fw.d中的d只能为零,否则会出现读入错误;而如果是6.则Fw.d中的d可以不为0。另外在输入时还容易引起输入错误的是:(1) 输入格式的长度大于数据长度(指前一个数据的起至紧接的下一个数据的起始前一位,小数点和负号均占一位),如6._ _ _ _-5.6,前面的数据长度应为6,如果输入格式Fw.d中的w6,则会出现读入错误;(2) 格式语句应置于*vread的下一行,两行之间可以有空行,但不能有其它语句,甚至是注释语句也不能有。二、输出格式输出与输入在格式方面基本一致,用*vwrite执行,但也有不同之处: 输出时可以使用%c控制字符输出,%wI控制整数输出;%w.pF或%w.pE或%w.pG控制实数输出;不能加括号。如格式语句: (F6.0,F5.2,A3),对应于:%6.0F%5.2F%3c; 应注意后一种格式中没有用逗号相隔开,也没有用括号括起,如有逗号,逗号也将一并输出。注意:输入输出格式最好从一行的开始写,前面不要有空格用%号(%wI)的这种格式可以输出整型数字。 %这种控制语句也应紧接*vwrite行,可以有空行,但不能有其它语句夹在中间(注释也不行)。应当指出的是,%这种控制语句不能用在控制输入中。三、一个例子*GET, ELEMENTNUM,ELEMENT,0,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(I,1),NELEM(I,2),NELEM(I,3),NELEM(I,5) %7I%7I%7I%7I *ENDDO*CFCLOSfinish/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(/* Array 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.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 /*/几点说明:1.使用*VWrite命令把数据输出到文件时,必须要使用*CFOpen命令事先打 开一个 文件;*CFOpen命令必须和*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(宽度为:,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*VWRITE,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.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格式也有d-整型、f-浮点、e-科学、g-任意、c-字符、s-字符串等格式,均采用%w.dx形式,而%/则为回车换行。例如:*CFOPEN,MYFILE,TXTX1=4.56X2=12345.678X3=1.23E-6*VWRITE,X1,X2,X3,4567%14.6f%15.6e%16.6g%10d*CFCLOSE文件MYFILE.TXT如下:4.5600001.234568E+041.230000E-064567二、数组的输出(一)VWRITE方法数组输出格式同上,但其输出控制却有很多种形式,且ANSYS按列输出数组。设有数组(矩阵形式,这里不用插图了): |1.12.13.1| |1.22.23.2|ABC(5,3)=|1.32.33.3| |1.42.43.4| |1.52.53.5|*VWRITE命令如下几种方式: 与矩阵写法类同的按列输出:利用ANSYS的输出特点,分别写出各列表示符即可,而行则从1到最终的5。 同上格式,但按矩阵元素输出用一对()将矩阵表达式括起来变为矩阵元素,这样用循环输出,如命令流中所示。当列很多时不可能写出每个列字符表达式,此时可采用$字符格式$字符表示连续输出,没有回车符号,当一行写完后,增加一个非$格式语句即可。但是这里增加了一个临时数组,以存储某行的数据。上述输出格式便于导入EXCELL中处理数据。(二)MWRITE命令数组最好采用*MWRITE命令输出,不管是否按类似矩阵格式输出,此命令均可较好解决。当矩阵列数较少时,可以采用类似行列输出;当矩阵列数很大时,可以按每行N个数据控制输出。以上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,3TELS(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.4 3.4 1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论