
用NSORT命令获取最大应力点数据学习笔记.docx
3页用 NSORT 命令获取最大应力点数据在ANSYS的结果后处理时,实体单元的应力结果显示时默认会用"MX"和"MIN"在图形 中标出最大最小应力点位置,要知道最大(或最小)应力点的节点编号的话可通过PRNSOL 命令列表查得一般来讲,结构在不同工况下的最大应力点一般不在同一位置,如果工况较 多或者要反复查询的话,这种方法就需要人为地反复记录最大(或最小应力节点号),比较 繁杂如果能够把最大(或最小)应力点的节点号动态地符给一个变量,通过 APDL 语言 就可以随时求得最大(或最小)应力点的数据了方法 1:*GET,SEQV_MAX,NODE,N,S,EQV/POST1NSEL,S,ALLNNUM=NDINQR(0,13) *GET,N,NODE,,NUM,MINN_MAX=N;!当前选择集中的节点数目!获取选择集中最小节点号 !当前应力最大节点号!当前最大应力*DO,I,2,NNUM !开始循环*GET,TEMP,NODE,NDNEXT(N),S,EQV *IF,TEMP,GT,SEQV_MAX,THEN !比较大小N_MAX=NDNEXT(N) SEQV_MAX=TEMP*ENDIF N=NDNEXT(N) !下一个节点*ENDDO方法2:上面的命令流,由于需要反复对每一个节点进行遍历比较,如果节点数量较大时运 算时间会比较长。
其实,ANSYS中还提供了一个对节点数据进行排序的命令NSORT,借助 它可以快速地实现上面命令流的功能,而且如果只查为了得到一个最大应力点的话,运算速 度会很快命令流如下:/POST1 NSEL,S,ALL NSORT,S,EQV,0,,1,SELECT !结果按应力大小进行排序*GET,N_MAX,NODE,0,NUM,MAX !取得应力最大点的节点编号NUSORT !恢复缺省的排序方式*GET,SEQV_MAX,NODE,N_MAX,S,EQV !取得最大应力值关于NSORT命令的格式:NSORT, Item, Comp, ORDER, KABS, NUMB, SEL其中:Item,Comp——排序的依据项标识,如S、LOC等;ORDER——排序方式默认为0,按降序,若为1按升序;KABS——是否按绝对值进行排序默认为0,不按绝对值排序,若为1按绝对值进行排序; NUMB——排序后结果记录的个数默认为所有节点,此数越少排序速度越快;SEL――控制结果结点是否可以进行再次选择如为空则不可选择(默认),如果排序后使 用了 NSEL等节点选择命令,则排序结果自动恢复为默认的排序方式;如为SELECT则当 前节点选择集自动变为排序的结果记录结点,此时可用NSEL命令从当前选择集中进行进一 步选择,如果节点不在排序后的选择集中,则也恢复默认排序方用ANSYS的APDL方式直接获得最大应力和最大应变的节点编号及其数值的有好多..用 ANSYS 的 APDL 方式直接获得最大应力和最大应变的节点编号及其数值的有好多种方 法:如下面的这种,先对节点的值进行SORT,在提取最大的值即可。
最大应力节点编号及其数值的提取:ALLSELNSORT,S,EQV,0,0,ALL *GET,MAX_SEQV,SORT,0,IMAX*GET,MAXSEQV,NODE,MAX_EQV,S,EQV依次类推,可以最大应变节点编号及其值数值的提取:ALLSELNSORT,EPTO,EQV,0,0,ALL *GET,MAX_EPTOEQV,SORT,0,IMAX *GET,MAXEPTOEQV,NODE,MAX_EPTOEQV,S,EQV最大位移节点编号及其数值的提取:ALLSELNSORT,U,SUM,0,0,ALL*GET,MAX_U,SORT,0,IMAX *GET,MAXU,NODE,MAX_U,U,SUM还有其他方法:如把所有的节点应力应变数值提取然后找最大值*GET,NUMALL,NODE,0,COUNT *GET,NUMSTART,NODE,0,NUM,MINSMAX=0INUSE=NUMSTART*DO,I,1,NUMALL,1 *GET,SSUM,NODE,INUSE,S,EQV *IF,SMAX,GE,SSUM,THEN SMAX=SMAX*ELSEIF,SMAX,LT,SSUM,THEN SMAX=SSUM*ENDIFINUSE=NDNEXT(INUSE) *ENDDO还有一种是首先在窗口上显示应力应变云图,然后利用GET命令得到最大值。
如提取最大应力为:PLNSOL,S,EQV,0*GET, PAR, PLNSOL, 0, MAX或将所有的节点定义成一个路径, *GET, PAR, PATH, 0, MAX,另:获取结果各个时间点的最大应力值*DIM,MAXSEQVNODE,TABLE,63,1,1,,, !定义数组 *DO,ISET1,1,63,1 !根据结果存储的数目而定,如63 /POST1SET,1,,1,,,,ISET1, PLNSOL,S,EQV,0*GET,MAXSEQV_NODEI,PLNSOL,0,MAX !获取结果,这里是最大 MISES 等效应力 *SET,MAXSEQV_NODE(ISET-1,0,1),(ISET-1)*4E-4 确! 定对应的时间 *SET,MAXSEQV_NODE(ISET-1,1,1),MAXSEQV_NODEI !写入最大等效应力值 *ENDDO。












