7.2.1 将数据结果读入数据库
POST1中第一步是将数据从结果文件读入数据库。要这样做,数据库中首先要有模型数据(节点,单元等)。若数据库中没有模型数据,执行RESUME命令(或GUI:Utility Menu>File>Resume Jobname.db)读入数据文件Jobname.db。数据库包含的模型数据应该与计算模型相同,包括单元类型、节点、单元、单元实常数、材料特性和节点坐标系。注意:
数据库中被选来进行计算的节点和单元应属同一组,否则会出现数据不匹配的情况。
1.读入结果数据
执行SET命令(Main Menu>General PostProc>Read Results),可在一特定的载荷条件下将整个模型的结果数据从结果文件中读入数据库,覆盖数据库中以前存在的数据。边界条件信息(约束和集中力)也被读入,但这仅在存在单元节点载荷和反作用力的情况下。详情请见OUTERS命令。若不存在边界条件信息,则不列出或显示边界条件。加载条件靠载荷步和子步或靠时间(或频率)来识别。命令或路径方式指定的变元可以识别读入数据库的数据。
例如,“SET,2,5”读入结果,表示载荷步为2,子步为5。同理,“SET,3.89”表示时间为3.89时的结果(或频率为3.89,取决于所进行的分析类型)。若指定了尚无结果的时刻,程序将使用线性插值计算出该时刻的结果。
结果文件(Jobname.RST)中默认的最大子步数为1000,超出该界限时,需要输入“SET,Lstep,LAST”引入第1000个载荷步,使用/CONFIG命令增加界限。
注意:
对于非线性分析,在时间点间进行插值常常会降低精度。因此,要使解答可用,务必在可求时间值处进行后处理。
对于SET命令有一些便捷标号。
●“SET,FIRST”表示读入第一子步,等价的GUI方式为First Set。
●“SET,NEXT”表示读入第二子步,等价的GUI方式为Next Set。
●“SET,LAST”表示读入最后一子步,等价的GUI方式为Last Set。
SET命令中的NSET宇段(等价的GUI方式为SetNumber)可恢复对应于特定数据组号的数据,而不是载荷步号和子步号。当有载荷步和子步号相同的多组结果数据时,这对FLOTRAN的结果非常有用。因此,可用其特定的数据组号来恢复FLOTRAN的计算结果。
SET命令的LIST(或GUI中的List Results)选项列出了其对应的载荷步和子步数,可在接下来的SET命令的NSET字段输入该数据组号,以申请处理正确的一组结果。
SET命令中的ANGLE字段规定了谐调元的周边位置(结构分析—PLANE25,PLANE83和SHELL61;温度场分析—PLANE75和PLANE78)。
2.其他恢复数据的选项
其他GUI菜单路径和命令也可以恢复结果数据。
(1)定义待恢复的数据
POST1处理器中命令INRES(Main Menu>General Postproc>Data & File Opts)与PREP7和SOLUTION处理器中的OUTRES命令是姐妹命今,OUTRES命令控制写入数据库和结果文件的数据,而INRES命令定义要从结果文件中恢复的数据类型,通过执行“SET,SUBSET”和APPEND等命令写入数据库。尽管不需对数据进行后处理,但INRES命令限制了恢复写入数据库的数据量。因此,对数据进行后处理也许占用的时间更少。
(2)读入所选择的结果信息
为了只将所选模型部分的一组数据从结果文件读入数据库,可用SUBSET命令(或GUI:Main Menu>General Postproc>By characteristic)。结果文件中未用INRES命令指定恢复的数据,将以零值列出。
SUBSET命令与SET命令大致相同,除了差别在于SUBSET只恢复所选模型部分的数据。用SUBSET命令可方便地看到模型的一部分的结果数据。例如,若只对表层的结果感兴趣,可以轻易地选择外部节点和单元,然后用SUBSET命令恢复所选部分的结果数据。
(3)向数据库追加数据
每次使用SET、SUBSET命令或等价的GUI方式时,ANSYS就会在数据库中写入一组新数据并覆盖当前的数据。APPEND命令(Main Menu>General Postproc>By characteristic)从结果文件中读入数据组并将与数据库中已有的数据合并(这只针对所选的模型而言)。当已有的数据库非零(或全部被重写时),允许将被查询的结果数据并入数据库。
可用SET、SUBSET、APPEND命令中的任一命令从结果文件将数据读入数据库。命令方式之间或路径方式之间的唯一区别是所要恢复的数据的数量及类型。追加数据时,务必不要造成数据不匹配。请看下一组命令。
/POST1
INRES,NSOL !节点DOF求解的标志数据
NSEL,S,NODE,,l,5 !选节点1~5
SUBSET,1 !从载荷步1开始将数据写入数据库
!此时载荷步1内节点1~5的数据就存在于数据库中了
NSEL,S,NODE,,6,10 !选节点6~10
APPEND,2 !将载荷步2的数据并入数据库中
NSEL,S,NODE,,1,10 !选节点1~10
PRNSOL,DOF !打印节点DOF求解结果
数据库当前就包含有载荷步1和载荷步2的数据。这样数据就不匹配。使用PRNSOL命令(或GUI:Main Menu>General Postproc>List Results>Nodal Solution)时,程序将从第二个载荷步中取出数据,而实际上数据是从现存于数据库中的两不同的载荷步中取得的。程序列出的是与最近一次存入的载荷步相对应的数据。当然,若希望将不同载荷步的结果进行对比,将数据加入数据库中是很有用的。但若有目的地混合数据,要极其注意跟踪追加数据的来源。
在求解曾用不同单元组计算过的模型子集时,为避免出现数据不匹配的情况,按下列方法进行。
不要重选解答在后处理中未被选中的单元。
从ANSYS数据库中删除以前的解答,可从求解中间退出ANSYS或在求解中间存储数据库。
若想清空数据库中所有以前的数据,使用下列任一方式。
命令:LCZERO。
GUI:Main Menu>General PostProc>Load Case>Zero Load Case。
上述两种方法均会将数据库中所有以前的数据置零,因而可重新进行数据存储。若在向数据库追加数据之前将数据库置零,其结果与使用SUBSET命令或等价的GUI路径也是一样的(该处假如SUBSET和APPEND命令中的变元一致)。
注意:
SET命令可用的全部选项,对SUBSET命令和APPEND命令完全可用。
默认情况下,SET、SUBSET和APPEND命令将寻找这些文件中的一个:Jobname.RST,Jobname.RTH,Jobname.RMG,Jobname.RFL。在使用SET、SLIBSET和APPEND命令之前用FILE命令可指定其他文件名(GUI:Main Menu>General Postproc>Data &File Opts)。
3.创建单元表
ANSYS程序中单元表有两个功能:第一,它是在结果数据中进行数学运算的工具。第二,它能够访问其他方法无法直接访问的单元结果。例如,从结构一维单元派生的数据(尽管SET、SUBSET和APPEND命令将所有申请的结果项读入数据库中,但并非所有的数据均可直接用PRNSOL命令和PLESON等命令访问)。
将单元表作为扩展表,每行代表一单元,每列则代表单元的特定数据项。例如,一列可能包含单元的平均应力SX,而另一列则代表单元的体积,第三列则包含各单元质心的Y坐标。
使用下列任一命令创建或删除单元表。(https://www.daowen.com)
命令:ETABLE。
GUI:Main Menu>General Postproc>Element Table>Define Table or Erase Table。
(1)填上按名字来识别变量的单元表
为识别单元表的每列,在GUI方式下使用Lab字段或在ETABLE命令中使用Lab变元给每列分配一个标识,该标识将作为所有的以后的包括该变量的POST1命令的识别器。进入列中的数据靠Item名和Comp名以及ETABLE命令中的其他两个变元来识别。例如,对上面提及的SX应力,SX是标识,S将是Item变元,X将是Comp变元。
有些项,如单元的体积,不需Comp变元。这种情况下,Item为VOLU,而Comp为空白。按Item和Comp(必要时)识别数据项的方法称为填写单元表的“元件名”法。对于大多数单元类型而言,使用“元件名”法访问的数据通常是那些单元节点的结果数据。
ETABLE命令的文档通常列出了所有的Item和Comp的组合情况。要清楚何种组合有效,见ANSYS单元参考手册中每种单元描述中的“单元输出定义”。
表7-2是一个关于BEAM4的列表示例,可在表中“名称”列中的冒号后面使用任意名字,通过“元件名”法填写单元表。冒号前面的名字部分应输入作为ETABLE命令的Item变元,冒号后的部分(如果有的话)应输入作为ETABLE命令的Comp变元,O列与R列表示在Jobname.OUT文件(O)中或结果文件(R)中该项是否可用:“Y”表示该项总可用,数字(比如1,2)则表示有条件的可用(具体条件详见表后注释),而“-”则表示该项不可用。
表7-2 三维BEAM4单元输出定义

(续)

注意:
1)若单元表项目经单元I节点、中间节点及J节点重复进行。
2)若KEYOPT(6)=1。
(2)填充按序号识别变量的单元表
可对每个单元加上不平均的或非单值载荷,将其填入单元表中。该数据类型包括积分点的数据、从结构一维单元(如杆,梁,管单元等)和接触单元派生的数据、从一维温度单元派生的数据、从层状单元中派生的数据等。这些数据将列在“单元对于ETABLE和ESOL命令的项目和序号”表中,而ANSYS帮助文件中,对于每一单元类型都有详细的描述。表7-3是BEAM4单元的示例。
表中的数据分成项目组(如LS、LEPEL、SMISC等),项目组中每一项都有用于识别的序列号(E、I、J对应的数字)。将项目组(如LS、LEPEL、SMISC等)作为ETABLE命令的Item变元,将序列号(如1,2,3等)作为Comp变元,将数据填入单元表中,称之为填写单元表的“序列号”法。
例如,BEAM4单元的J点处的最大应力为Item=NMISC及Comp=3。而单元(E)的初始轴向应变(EPINAXL)为Item=LEPYH,Comp=11。
表7-3 梁单元关于ETABLE和ESOL命令的项目和序号

(续)

对于某些一维单元,如BEAM4单元,KEYOPT设置控制了计算数据的量,这些设置可能改变单元表项目对应的序号,因此针对不同的KEYOPT设置,存在不同的“单元项目和序号表格”。表7-4和7-3一样显示了关于BEAM4的相同信息,但列出的为KEYOPT(9)=3时的序号(3个中间计算点),而表7-3列出的是对应于KEYOPT(9)=0时的序号。
例如,当KEYOPT(9)=0时,单元J端Y向的力矩(MMOMY)在表7-3中是序号11(SMISC项),而当KEYOPT(9)=3时,其序号(表7-4)为29。
(3)定义单元表的注释
ETABLE命令仅对选中的单元起作用,即只将所选单元的数据送入单元表中,在ETABLE命令中改变所选单元,可以有选择地填写单元表的行。
相同序号的组合表示对不同单元类型有不同数据。例如,组合“SMISC,1”对梁单元表示MFOR(X)(单元X向的力),对SOLID45单元表示P1(面1上的压力),对CONTACT48单元表示FNTOT(总的法向力)。因此,若模型中有几种单元类型的组合,务必要在使用ETABLE命令前选择一种类型的单元(用ESEL命令或GUI:Utility Menu>Select>Entities)。
ANSYS程序在读入不同组的结果(如对不同的载荷步)或在修改数据库中的结果(如在组合载荷工况)时,不能自动刷新单元表,例如,假定模型由提供的样本单元组成,在POST1中发出下列命令。
SET,1 !读入载荷步1结果
ETABLE,ABC,1S,6!在以ABC开头的列下将J端KEYOPT(9)=0的SDIR
!移入单元表中
SET,2 !读入载荷步2中结果
表7-4 ETABLE命令和ESOL命令的BEAM4的项目名和序号

(续)

此时,单元表ABC列下仍含有载荷步1的数据。用载荷步2中的数据更新该列数据时,应用命令“ETABLE,KEFL”或通过GUI方式指定更新项。
可将单元表当作一“工作表”,对结果数据进行计算。
使用POST1中的“SAVE,FNAME,EXT”命令或者“/EXIT,ALL”命令,那么在退出ANSYS程序时,可以对单元表进行存盘(若使用GUI方式,选择Utility Menu>File>Saveas或Utility>File>Exit后按照对话框内的提示进行)。这样可将单元表及其余数据存到数据库文件中。
为从内存中删除整个单元表,用“ETABLE,ERASE”命令(或GUI:Main Menu>General Postproc>Element Table>Erase Table),或用“ETABLE,LAB,ERASE”命令删去单元表中的Lab列。用RESET命令(或GUI:Main Menu>General Postproc>Reset)可自动删除ANSYS数据库中的单元表。
4.对主应力的专门研究
在POST1中,SHELL61单元的主应力不能直接得到,默认情况下,可得到其他单元的主应力,除以下两种情况之外。
1)在SET命令中要求进行时间插值或定义了某一角度。
2)执行了载荷工况操作。
在上述任意一种情况下,必须用GUI:Main Menu>General Postproc>Load Case>Line Elem Stress或执行“LCOPER,LPRIN”命令以计算主应力。然后通过ETABLE命令或用其他适当的打印或绘图命令访问该数据。
5.读入FLOTRAN的计算结果
使用FLREAD命令(GUI:Main Menu>General Postproc>Read Results>FLOTRAN2.1A)可以将结果从FLOTRAN的剩余文件读入数据库。FLOTRAN的计算结果(Jobname.RFL)可以用普通的后处理函数或命令(例如,SET命令,相应的GUI路径:UtilityMenu>List>Re-sults>Load Step Summary)读入。
6.数据库复位
RESET命令(或GUI:Main Menu>General Postproc>Reset)可在不脱离POST1的情况下初始化POST1命令的数据库默认部分,该命令在离开或重新进入ANSYS程序时的效果相同。