wawaandyatou 发表于 2010-3-6 15:31

ANSYS中DO循环和IF循环问题

*DO,I,1,120
FINISH
/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循环是不是有问题啊?这个命令流该怎么改才好呢?拜谢啊~~~~~~

mawu 发表于 2010-3-8 14:10

楼主是不是边界条件的原因导致freq1=0呢?

do是做循环的,if是做判断的。

wawaandyatou 发表于 2010-3-8 17:44

回复 沙发 mawu 的帖子

我的边界条件是在一端加固端约束啊,应该没什么问题吧。

16443 发表于 2010-3-8 22:24

*DO,I,1,120
FINISH
/SOLU
应该是,
finish
/solu
*do

zray2077 发表于 2011-6-7 20:23

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.这句话我想可能对您有用吧

zp4655958 发表于 2011-10-28 08:29

{:{40}:}

zp4655958 发表于 2011-10-30 20:22

可以找一本APDL的书 看一下 里面阐述的很明了

seashoregang 发表于 2012-3-14 16:37

同意楼上观点
页: [1]
查看完整版本: ANSYS中DO循环和IF循环问题