在ANSYS中读入txt文件的数据
ansys常见错误和解决方法
ESYS is not valid for line element.原因:是因为我使用LA TT的时候,把“--”的那个不小心填成了“1”。
经过ANSYS的命令手册里说那是没有用的项目,但是根据我的理解,这些所谓的没有用的项目实际上都是ANSYS在为后续的版本留接口。
对于LA TT,实际上那个项目可能就是单元坐标系的设置。
当我发现原因后,把1改成0——即使用全局直角坐标系,就没有W ARNING了。
当然,直接空白也没有问题。
NO.0002使用*TREAD的时候,有的时候明明看文件好好的,可是却出现*TREAD end-of-file in data read.后来仔细检查,发现我TXT的数据文件里,分隔是采用TAB键分隔的。
但是在最后一列后面,如果把鼠标点上去,发现数据后面还有一个空格键。
于是,我把每个列最后多的空格键删除,然后发现上面的信息就没有了。
NO.0003Coefficient ratio exceeds 1.0e8 - Check results.这个大概是跟收敛有关,但是我找不到具体的原因。
我建立的一个桥梁分析模型,尽管我分析的结果完全符合我的力学概念判断,规律完全符合基本规律,数据也基本符合实际观测,但是却还是不断出现这个警告信息。
NO.0004*TREAD end-of-file in data readtxt中的表格数据不完整!NO.0005No *CREA TE for *END. The *END command is ignored忘了写*END了吧,呵呵NO.0006Keypoint 1 is referenced by only one line. Improperly connected line set for AL command两条线不共点,尝试nummrg命令。
NO.0007L1 is not a recognized PREP7 command, abbreviation, or macro. This command will be ignored还没有进入prep7,先:/prep7NO.0008Keypoint 2 belongs to line 4 and cannot be moved关键点2属于线4,移动低级体素时先移动高级体素!NO.0009Shape testing revealed that 32 of the 640 new or modified elementsviolate shape warning limits. To review test results, please see theoutput file or issue the CHECK command.单元形状奇异,在我的模型中6面体单元的三个边长差距较大,可忽略该错误NO.0010用命令流建模的时候遇到的The drag direction (from the keypoint on drag line 27 that is closestto a keypoint KP of the given area 95) is orthogonal to the areanormal at that KP. Area cannot be dragged by the VDRAG command.意思是拉伸源面的法向与拉伸路径垂直,不能使用VDRAG命令ASEL,S,LOC,Z,143e-3VDRAG,ALL, , , , , , 27本意是按位置z=143e-3位置的面,然后沿编号27的线拉伸,出错,之前用该语句没有任何问题。
ansys 数据的输入输出
关于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中的w>6,则会出现读入错误;(2)格式语句应置于*v r e a d的下一行,两行之间可以有空行,但不能有其它语句,甚至是注释语句也不能有。
二、输出格式输出与输入在格式方面基本一致,用*vwrite执行,但也有不同之处:输出时可以使用%c控制字符输出,%wI控制整数输出;%w.pF或%w.pE或%w.pG 控制实数输出;不能加括号。
如格式语句:(F6.0,F5.2,A3),对应于:%6.0F%5.2F%3c;应注意后一种格式中没有用逗号相隔开,也没有用括号括起,如有逗号,逗号也将一并输出。
注意:输入输出格式最好从一行的开始写,前面不要有空格用%号(%wI)的这种格式可以输出整型数字。
%这种控制语句也应紧接*vwrite行,可以有空行,但不能有其它语句夹在中间(注释也不行)。
关于ansys数据文件读写
ANSYS APDL命令流实现数据文件读写的实例2010-09-16 20:40:56 作者:来源:智造网—助力中国制造业创新—不要把2X作为与A对应的格式符,WRITE语句中的I,A,B分别与FORMAT语句中的I3,F6.2和E11.5格式符对应。
X格式符不能用来提供整数、实数、以及其它类型数据的输出格式,它只能插入若干个空格。
本文介绍了ANSYS APDL命令流实现数据文件读写的实例。
一 FORTRAN数据格式I格式(又叫整数格式)一般形式:Iw 或:Iw.m其中:w 一个数据占的位数宽度(又称“字段宽度”),m 需要输出的最少数字位数。
例1:(1)数字在指定的区域内向右端靠齐,如果数字位数比指定的字段宽度w小,则左边补以空格。
负数的符号也包含在字段宽度内。
(2)如果数字的位数超过了规定的字段宽度w,则不输出有效数据,而在该字段宽度范围内充满“*”符号。
(3)如果数字的位数超过了m,则按实际应输出的位数输出(但条件是不能超过w)。
m不包括负号所占的一列。
F格式(又叫小数型格式)一般形式:Fw.dw 各数值占的总位数 d 输出数据的小数位数(小数点后的位数)。
例1:(1)数字在指定的区域内向右端靠齐,如果数字位数(含小数点和符号位)比指定的字段宽度w小,则左边补以空格;如果数字的位数超过了规定的字段宽度w,则不输出有效数据,而在该字段宽度范围内充满“*”符号。
(2)如果数据的小数位数比指定的小数位数d小,则在小数右边补0以凑足d位;如果小数位数大于d位,则输出时多于的小数位数按“四舍五入”规则舍去。
(3)假设b为数据整数部分的位数,则应使w≥b+d+1(小数点占一列),如果输出负数,则应保证w≥b+d+2(小数点和负号各占一列)。
(4)用F格式输出时应注意,由于难以事先确切估计出数据的大小,输出大的数时容易产生“宽度不够”的错误(由于w不够大),输出小的数时会出现丢掉有用数字的情况(由于d不够大而将后面的数字截去),这就是“大数印错,小数印丢”。
在ANSYS中使用VWRITE和VREAD命令输出和读入数据
其中:fname是带路径的文件名(两者允许至多250字符长度),缺省路径为工作目录,文件名缺省为jobnmae。ext是文件的扩展名(至多是8个字符长度)。如果fname为空,那么扩展名缺省为cmd。--表示该域是不需要使用的值域。loc用于确定打开的文件已经存在时,缺省表示采用覆盖方式写数据到文件中,设置成append表示采用追加方式写数据到文件中。
与*cfopen成对使用的另外一个命令时*cfclos命令,总是在*cfopen命令与一序列数据*vwrite命令之后,用于关闭用*cfopen命令打开的文件。
*cfclos命令的使用格式如下:*cfclos
在*vwrite命令行之后必须紧跟写出数据的格式说明行,规定*vwrite所写出的每项的数据的格式描述符。注意:格式行前面不需要format格式标识字,直接填写一序列的格式描述符,所有的格式描述符必须用一对圆括号括起来。常用的格式描述符的说明用法如下:
注意:该操作不能通过ansys命令输入窗口进行执行,只能通过外部文件运行。。
数组矢量要指定起始元素位置(如MYARRAY(1,2,1))。可以用表达式来计算数据文件中每一行的位置。关键字SEQU将从1开始写一个连续的整数列。
*vwrite命令的使用格式如下:
*VWRITE, Par1, Par2, Par3, Par4, Par5, Par6, Par7, Par8, Par9, Par10, Par11,
bb(1)=''i am'',''a good'',''man''
*cfopen,byb,dat
ANSYS read命令
ANSYS 提供了*VRead 命令,可以从文本文件读取数据到数组中。
*Vread 命令的格式如下:*VREAD, ParR, Fname, Ext, Dir, Label, n1, n2, n3, NSKIP-- Reads data andproduces an array parameter vector or matrix.ParR: 事先定义好的用于保存数据的数组,数组可以是1维或2 维或者3 维的;Fname: 要读取的数据文件的文件名;Ext:数据文件名的后缀;Dir:数据文件所在的目录;(目录中最好别包含中文和空格以及太长的目录名)Label:指定读取方式,一般用IJK,JIK 这两种方式;n1,n2,,n3:Read as (((ParR(i,j,k), k = 1,n1), i = 1, n2), j = 1,n3) for Label = KIJ. n2 and n3 default to 1.(具体什么意思,没想明白)NSKIP :指定从文件的哪一行开始读取数据,默认NSKIP=0,从第一行读取;根据命令中的Label 参数常用的2 种读取方式来讨论。
1. Label=JIK这是最常用的读取方式。
如果希望数组中的数据的的排列方式和数据在文件中的排列方式保持一致,就应该用这种读取方式。
比如数据文件data.txt 中的数据的排列方式如下:1.1,1.2,1.3,1.42.1,2.2,2.3,2.43.1,3.2,3.3,3.44.1,4.2,4.3,4.4如果希望读取数据后,数组 A 中的数据按照相同的方式排列即:A(1,1)=1.1 A(1,2)=1.2 A(1,3)=1.3 A(1,4)=1.4A(2,1)=2.1 A(2,2)=2.2 A(2,3)=2.3 A(2,4)=2.4A(3,1)=3.1 A(3,2)=3.2 A(3,3)=3.3 A(3,4)=3.4就应该用Label=JIK 的方式读取。
ansys读入txt数据文件
Ansys 读入txt数据文件1 不能直接在命令窗口中执行*vread 命令*read 命令的使用格式为:*READ,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文件就能从array 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有很大的共通之处。
在数据的输入输出格式方面也可以参考Fortran。
对于初学者来说,输入数据时更容易引发错误,所以下面谈几点在这方面的小认识。
APDL 从外部文件输入数据,一般是采用*vread命令实现,而输入格式一般是在此命令的下一行定义,关于此命令的具体应用,可参见ANSYS帮助。
在输入格式方面与Fortran不同:(1)APDL在数值方面没有整型(I)、G型描述符,字符型数据采用A描述符,没有H描述符。
ansys读入txt数据文件
Ansys 读入txt数据文件1 不能直接在命令窗口中执行*vread 命令*read 命令的使用格式为:*READ,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文件就能从array 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有很大的共通之处。
在数据的输入输出格式方面也可以参考Fortran。
对于初学者来说,输入数据时更容易引发错误,所以下面谈几点在这方面的小认识。
APDL 从外部文件输入数据,一般是采用*vread命令实现,而输入格式一般是在此命令的下一行定义,关于此命令的具体应用,可参见ANSYS帮助。
在输入格式方面与Fortran不同:(1)APDL在数值方面没有整型(I)、G型描述符,字符型数据采用A描述符,没有H描述符。
将自己的文件读入ANSYS程序
19.5将自己的文件读入ANSYS程序在许多场合,用ANSYS程序时需要读取自己的文件。
这个文件或是ANSYS命令的文本文件,或者是ANSYS数据的二进制文件。
用/INPUT命令(Utility Mneu >Files >Read input from)读包含ANSYS 命令的文本文件。
如:可以读取前面ANSYS对话的命令记录文件(Jobname.LOG),例如,用下面的命令,ANSYS程序从当前目录中读MATERIAL.INP文件。
/ INPUT,MATERIAL,INP表18-3列出了能用来读取文本文件的其它命令。
表18-3 读取文本文件的命令表18-4 列出了读取二进制数据文件中的GUI 路径和命令表18-4 读取二进制文件的命令19.6 在ANSYS 程序中写自己的ANSYS 文件除了分析过程中ANSYS 程序自动写入的文件外,还可在必要时迫使文件操作。
常用的写文件命令是/OUTPUT 。
它允许将文件输出从屏幕重新定向到文件。
例如:将PORT1应力输出重新定向到文件,命令为:/ UOTPUT ;STRESS ,OURT !输出到文件STRESS.OUT PRNSOL , COMP !应力分量 / OUTPUT !输出回到屏幕与/OUTPUT 命令等价的GUI 方式为: GUI:Utility Menu >File>Switch Output to >FileUtility Menu >File>Switch Output to >Output Window 分析中使用的其它写文件命令列于表18-5: 表18-5 其它写文件命令同时也可以将图形输出(PLOTS)从屏幕重新定向到中性图形文件。
ansys中的命令流文件是怎样调用的
SOLVE FINISH
/POST1 SET,FIRST PLNSOL,U,SUM,0,1
FLST 和 FITEM 是在 GUI 方式中,为某一命令选择操作实体时产生 的,反映在 log 文件中是一条 FLST 命令,跟着一条或几条 FITEM 命 令,再跟着一条带有一个 P51X 的操作命令;
或者是一条 FLST 命令和若干条 FITEM 命令,跟着一条 FLST 命令和 若干条 FITEM 命令,再跟着一条带有两个 P51X 的操作命令。
ESIZE,1,0, 设置单元大小
CM,_Y,AREA ASEL, , , , 1 CM,_Y1,AREA CHKMSH,'AREA' CMSEL,S,_Y !* AMESH,_Y1 EPLOT 这一段的含义是对所选择的面1进行网格划分,可以改写成 AMESH,1。
FINISH 退出前处理器 /SOLU 进入求解器
ansys中的命令流文件是怎样调用的?
用/input,fname,ext,dir,line,log命令。如/input,dario,txt是将 dario.txt文件读入。具体命令参见HELP。
怎样修改ansys中的log文件啊 就是通过修改ANSYS中list中打开的 log文件,来改变我以前 的设置,来修改命令流中的错误.可以吗?
直接将LOG文件用记事本打开,在其中找出你要修改的部分, 改掉之后另存一个文本文件,在FILE-Read Input From中直 接输入即可
可以用记事本打开,把不要的去了,把错误的改了,也可以一 句一句的复制输入到ansys命令栏检查那句是正确的
ANSYS的log文件整理心得:解释GUI中 产生FLST和FITEM
MPDATA,DENS,1,,2700 定义材料类型
关于ANSYS中输出文件
关于ANSYS中输出文件:
1、ANSYS13.0版本之后可以输出读取xls,xlsx文件,但是在使用的时候不稳定,有时候能输入,有时候不能输入,所以还是建议用txt文件。
*MWRITE,shuju,wenjian,xls,,JIK,30,20
(30F20.10)
2、关于输入到txt文件时,数据列数太多,ANSYS输入会将原本的一行,连续的输入到两行去,而且在MATLAB中是自动识别的,所以不需要担心这个问题。
*MWRITE,shuju,wenjian,txt,,JIK,30,20
(30F20.10)
这行命令意思是,将数据shuju(30*20的矩阵)写入wenjian.txt中,JIK是输入方式,指矩阵shuju(i,j,k)按行读还是按列读;
(30F20.10)意思:
30是指这段命令读取和写入30行;
20是指写入的最大位数(包含小数点)为20;
10是指小数的最大位数为10.
MATLAB读取txt:
z_weiyi = importdata('z_weiyi.txt')。
(完整版)ansys读写格式
经过实验,对*vread用法总结如下:*VREAD,ParR,Fname,Ext,--,Label,n1,n2,n3,NSKIP其中:ParR是要将外部数据写入的参数或数组变量名,如是数组,必须已经定义(用*DIM),且指出写入的开始位置,即包含下标(I,J,K)(默认首行首列首区),然后写入从(I,J,K)开始到结尾的所有数组元素;如是参数,只输入一个值。
Fname是存放数据的外部文件名,Ext是扩展名,Label可为IJK,IKJ,JIK,JKI,KIJ,KJI,或blank(默认为IJK),表示对数组ParR写入的顺序。
如IJK表示先写列再写行(先K,再J,再I;对于二维数组,先写列,下标J改变最快),JIK表示先写行再写列(先K,再I,再J;对于二维数组,先写行,下标I改变最快)n1,n2,n3表示按上面的顺序,各下标分别要写入的数据个数,如JIK,5,6表示对ParR按行写入,共写5列(对应J)6行(对应I),即三个数按顺序分别对应Label中的三个标识符(例如:KIJ–n1对应K、n2对应I、n3对应J,n2、n3默认为1) NSKIP:从文件中读取数据时,首先跳过文件开头的NSKIP行(如:说明部分等,非数据内容),默认为0.注意:*VREAD命令只能用于3维(含)及以下的数组。
紧跟*VREAD命令的下一行是带括号的指定格式,描述从数据文件中读取数据时,每行读取的数据个数及其格式,如(2F3.0,3F11.0)表示每行读5个数,前两个含3个字符,后3个含11个字符宽度。
该格式与Fortran语言相同,但不能使用I格式–整数格式。
如《APDL参数化有限元分析技术及其应用实例》中P40的例子:数据文件data.txt内容如下(2行,每行3个数据,为了便于分析,对数据已做修改,注意以逗号分隔,如以空格分隔,有时会出问题):1.1,2.2,3.34.4,5.5,6.6执行命令流*DIM,AA,,2,3!数组AA有2行3列。
(完整word版)ansys 读写格式
经过实验,对*vread用法总结如下:*VREAD,ParR,Fname,Ext,--,Label,n1,n2,n3,NSKIP其中:ParR是要将外部数据写入的参数或数组变量名,如是数组,必须已经定义(用*DIM),且指出写入的开始位置,即包含下标(I,J,K)(默认首行首列首区),然后写入从(I,J,K)开始到结尾的所有数组元素;如是参数,只输入一个值。
Fname是存放数据的外部文件名,Ext是扩展名,Label可为IJK,IKJ,JIK,JKI,KIJ,KJI,或blank(默认为IJK),表示对数组ParR写入的顺序。
如IJK表示先写列再写行(先K,再J,再I;对于二维数组,先写列,下标J改变最快),JIK表示先写行再写列(先K,再I,再J;对于二维数组,先写行,下标I改变最快)n1,n2,n3表示按上面的顺序,各下标分别要写入的数据个数,如JIK,5,6表示对ParR按行写入,共写5列(对应J)6行(对应I),即三个数按顺序分别对应Label中的三个标识符(例如:KIJ–n1对应K、n2对应I、n3对应J,n2、n3默认为1) NSKIP:从文件中读取数据时,首先跳过文件开头的NSKIP行(如:说明部分等,非数据内容),默认为0.注意:*VREAD命令只能用于3维(含)及以下的数组。
紧跟*VREAD命令的下一行是带括号的指定格式,描述从数据文件中读取数据时,每行读取的数据个数及其格式,如(2F3.0,3F11.0)表示每行读5个数,前两个含3个字符,后3个含11个字符宽度。
该格式与Fortran语言相同,但不能使用I格式–整数格式。
如《APDL参数化有限元分析技术及其应用实例》中P40的例子:数据文件data.txt内容如下(2行,每行3个数据,为了便于分析,对数据已做修改,注意以逗号分隔,如以空格分隔,有时会出问题):1.1,2.2,3.34.4,5.5,6.6执行命令流*DIM,AA,,2,3!数组AA有2行3列。
ansys vread指令
命令流不变,则可以得到正确的结果;
由此可见:数据之间空格的数量和说明格式 xFw.d 有密切的关系;
数据之间空格数量不能太少。至于两者之间具体的数量关系,没空仔细研究。
就应该用 Label=JIK 的方式读取。
一般而言,假定数组是A(m,n),则命令流应该为:
……..
*Vread,ParR,Fname,Ext,Dir,JIK,n,m
(nFw.d)
………..
需要注意的地方:
1.矩阵是A(m,n),命令行中是”n,m”,而不是”m,n”
命令流:
finish
/clear
/prep7
*DIM,AA,array,3,4
*vread,AA(1,1),data,txt,g:\ansysuser,IJK,3,4
(3F6.2)
3.关于数据之间的隔离符号的问题
数据文件中,数据之间可以用逗号”,”,空格“ ”和 Tab键 3 种方式来隔开。
*vread,A(1,1),data,txt,g:\ansysuser,JIK,4,3
!注意顺序是 4,3,而不是 3,4,和数组的定义相反;
(4F6.2) !注意是 4Fw.d,而不能用 3Fw.d
应该根据自己的实际情况修改上面的命令流中的文件名和存放路径;
执行命令流后,可以得到上面所预期的结果。
如果希望读取数据后,数组 A 中的数据按照相同的方式排列即:
A(1,1)=1.1 A(1,2)=1.2 A(1,3)=1.3 A(1,4)=1.4
A(2,1)=2.1 A(2,2)=2.2 A(2,3)=2.3 A(2,4)=2.4
基于ANSYS VWRITE和VREAD命令输出和读入数据(转载)
float format/sequ keyword:
1. 10.2000
2. 324.5000
3. 123.7000
4. 908.0000
读入数据
使用*vread命令读取数据文件填充数组
可以读取数据文件中的数据并用来填充已经定义的数组参数。数据文件必须是ASCII格式文件,并按指定下标将读入的数据赋值给数组参数。读取文件时候,必须在*vread命令行的下一行指定数据读入的格式说明,控制从文件中读取数据信息的格式,数据格式说明必须括在一对圆括号中。
其中par1~par19是依次写出的19个参数或者常数,某个空值表示忽略,所有都忽略则输出一空行。允许写出的数据包括常数,变量与数组,包括数值型和字符型数据。
在*vwrite之前需利用*cfopen打开的一个数据文件,表示其后的并将*cfopen和*cfclos之间所有的*vwri(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******
*cfopen命令的使用格式:*cfopen,fname,ext,--,loc
ansys施加变荷载读取文件的格式
【文章标题】:深度解析ANSYS施加变荷载读取文件的格式在工程领域中,ANSYS是一个被广泛使用的工程仿真软件,它可以帮助工程师们进行结构、流体、热传导等多种领域的仿真分析。
在实际工程中,经常会遇到需要施加变荷载并读取文件的情况。
那么,对于ANSYS施加变荷载读取文件的格式,我们应该如何深入理解呢?1. ANSYS施加变荷载:在工程仿真领域中,ANYSYS可以方便地对结构施加各种载荷,比如静载荷、动载荷、热载荷等。
对于施加变荷载,我们需要清楚地了解工程结构在实际工作中受到的荷载变化规律,并将这些变化规律转化为ANSYS可识别的载荷格式,以便进行仿真分析。
2. 读取文件的格式:在ANSYS中读取文件的格式对于施加变荷载是非常重要的,因为只有按照特定格式编写的文件,ANSYS才能准确地读取并识别其中的载荷信息。
在实际工程应用中,要考虑到文件格式的规范性和清晰度,以确保ANSYS可以正确读取并适用这些文件。
3. 深入理解:针对ANSYS施加变荷载读取文件的格式,我们需要深入理解工程结构受力情况、载荷传递规律、文件格式要求等多个方面。
只有对这些方面有深入理解,我们才能编写出符合实际工程要求并能被ANSYS准确识别的载荷文件。
4. 个人观点和理解:在实际工程仿真应用中,我认为不仅要熟练掌握ANSYS软件的操作技巧,还需要对工程结构力学、材料力学等方面有深入的理解,并将这些理论知识转化为实际的工程文件格式。
要注重文件格式的规范性和清晰度,以确保ANSYS可以准确读取和识别文件中的载荷信息。
总结回顾:通过本文的深入探讨,我们能够更全面、深刻地理解ANSYS施加变荷载读取文件的格式。
在实际工程应用中,我们需要结合工程结构受力规律和ANSYS软件的特点,编写符合规范要求的载荷文件,以确保工程仿真分析的准确性和可靠性。
通过这篇文章的阅读,相信您已经对ANSYS施加变荷载读取文件的格式有了更深入的理解。
希望这篇文章对您有所帮助,并在工程仿真分析中取得更好的成果。
在ANSYS中读入txt文件的数据
1 不能直接在命令窗口中执行*vread 命令*read 命令的使用格式为:*READ,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文件就能从array parameter 里面看到你倒入的txt文件的数组形式3 ansys如何读入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有很大的共通之处。
在数据的输入输出格式方面也可以参考Fortran。
对于初学者来说,输入数据时更容易引发错误,所以下面谈几点在这方面的小认识。
APDL 从外部文件输入数据,一般是采用*vread命令实现,而输入格式一般是在此命令的下一行定义,关于此命令的具体应用,可参见ANSYS帮助。
在输入格式方面与Fortran不同:(1)APDL在数值方面没有整型(I)、G型描述符,字符型数据采用A 描述符,没有H描述符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 不能直接在命令窗口中执行*vread 命令*read 命令的使用格式为:*READ,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文件就能从array parameter 里面看到你倒入的txt文件的数组形式3 ansys如何读入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有很大的共通之处。
在数据的输入输出格式方面也可以参考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中的w>6,则会出现读入错误;(2) 格式语句应置于*vread的下一行,两行之间可以有空行,但不能有其它语句,甚至是注释语句也不能有。
二、输出格式输出与输入在格式方面基本一致,用*vwrite执行,但也有不同之处:输出时可以使用%c控制字符输出,%wI控制整数输出;%w.pF或%w.pE或%w.pG控制实数输出;不能加括号。
如格式语句:(F6.0,F5.2,A3),对应于:%6.0F%5.2F<;应注意后一种格式中没有用逗号相隔开,也没有用括号括起,如有逗号,逗号也将一并输出。
注意:输入输出格式最好从一行的开始写,前面不要有空格用%号(%wI)的这种格式可以输出整型数字。
%这种控制语句也应紧接*vwrite行,可以有空行,但不能有其它语句夹在中间(注释也不行)。
应当指出的是,%这种控制语句不能用在控制输入中。
三、一个例子几点说明: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.6f.6e.6gd*CFCLOSE文件MYFILE.TXT如下:4.5600001.234568E+041.230000E-064567二、数组的输出(一)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命令如下几种方式:①与矩阵写法类同的按列输出:利用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.12.13.11.22.23.21.32.33.31.42.43.41.52.53.51.102.103.101.202.203.201.302.303.301.402.403.401.502.503.501.1002.1003.1001.2002.2003.2001.3002.3003.3001.4002.4003.4001.5002.5003.500文件MYFILE1.TXT的内容可通过EXCELL打开:EXCELL>打开(所有文件)>选择MYFILE1.TXT>选择分隔符>下一步>选择空格>完成,该表为50行*30列的数据表。
*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='Weight'data=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。