ANSYS中DO循环和IF循环问题
*DO,I,1,120FINISH
/SOLU ! 给结构施加新的荷载
DA,3,ALL
DA,10,ALL
DA,14,ALL
DA,18,ALL
SFA,1,PRES,PRESS2,
SFA,7,PRES,PRESS2,
SFL,3,PRES,PRESS1,
SFL,9,PRES,PRESS1,
ACEL, ,10,
ANTYPE,0 ! 进行静力分析
PSTRES,ON ! 考虑预应力
TIME,1
AUTOTS,0 !自动时间步关闭
NSUBST,1, , ,1
SOLVE
FINISH
/SOLU ! 进行特征值失稳分析
ANTYPE,BUCKLE ! Buckling analysis
BUCOPT,LANB,1 ! Use Block Lanczos solution method, extract 1 mode
MXPAND,1 ! Expand 1 mode shape
SOLVE
FINISH ! 得到当前的特征值失稳一阶频率(放大倍率)
*GET,FREQ1,MODE,1,FREQ
*IF,ABS(FREQ1-1),LT,0.01,THEN !如果频率误差小于1%,则退出循环
*EXIT
*ENDIF
PRESS2=PRESS2*FREQ1 ! 否则,将荷载乘以新的放大倍率再次计算
PRESS1=PRESS1*FREQ1
*ENDDO
以上是我在做结构屈曲分析时的部分命令流,由于初次接触到DO循环和IF循环,运行后得出错误结果:FREQ1=0,我想请教各位DO循环里面嵌套的IF循环是不是有问题啊?这个命令流该怎么改才好呢?拜谢啊~~~~~~ 楼主是不是边界条件的原因导致freq1=0呢?
do是做循环的,if是做判断的。
回复 沙发 mawu 的帖子
我的边界条件是在一端加固端约束啊,应该没什么问题吧。 *DO,I,1,120FINISH
/SOLU
应该是,
finish
/solu
*do You cannot jump into, out of, or within a "do" loop or an if-then-else construct to a :label line, and jumping to a :label line is not allowed with keyboard entry.这句话我想可能对您有用吧 {:{40}:} 可以找一本APDL的书 看一下 里面阐述的很明了 同意楼上观点
页:
[1]