建完船体结构的有限元模型并加载完结构的载荷之后,就要进行计算了。
通常,不但需要求得整个模型的等效应力,还要分别得到不同区域的应力,比如立柱的外板、立柱的GRDER、旁通的外板和水密舱壁等。
但是,一般强度计算的载荷要有几百了,我们要计算出每个工况,并找出不同区域应力的最大值是十分困难的。
这就使利用APDL编写一段一次性计算几百工况的命令流就变得很有必要了。
以下的命令流可以一次性求出所有工况不同区域的最大等效应力。
*do,j,1,66
/SOL
alls
/INPUT,'SPAR','s%1000+j%','D:\Work\ansys\OC5',, 0
ALLS
SOLVE
/POST1 !后处理
SET,1
RSYS,1
SHELL,MID
NSEL,S,ALL!...以上整理目标选择集
CMSEL,S,PART1
nsla
NSORT,S,EQV,0,,1,SELECT !结果按应力大小进行排序
*GET,N_MAX,NODE,0,NUM,MAX !取得应力最大点的节点编号
NUSORT !恢复缺省的排序方式
*GET,SEQV_MAX,NODE,N_MAX,S,EQV !取得最大应力值
/HEADER,off,,off,off,off,off,off
/PAGE,60000,3,60000,3,1
/Format,,E,20,5
/output,Elem_Info_Stress%1000+j%,txt
*VWRITE,SEQV_MAX
(' PART1: ',F10.3,' MPa')
/output
ALLS
CMSEL,S, PART2
nsla
NSORT,S,EQV,0,,1,SELECT !结果按应力大小进行排序
*GET,N_MAX,NODE,0,NUM,MAX !取得应力最大点的节点编号
NUSORT !恢复缺省的排序方式
*GET,SEQV_MAX,NODE,N_MAX,S,EQV !取得最大应力值
/output,Elem_Info_Stress%1000+j%,txt,, APPEND
*VWRITE,SEQV_MAX
(' PART2: ',F10.3,' MPa')
…
/output
*ENDDO
上面的命令流的工况有66个,为了节省篇幅,只写出了模型的两个部分。
以上命令流以有效的前提是机构模型对每个区域都进行了分组。