24小时热门版块排行榜    

查看: 1510  |  回复: 3

曹枣林

金虫 (正式写手)

[求助] 时间步出错 已有1人参与

各位老师好,在进行温度场计算时,遇到Present time 2.51E-02 is less than or equal to the previous time in a   transient analysis.提示,即本时间步时间小于等于上一时间,用了几种方法都没有解决,求教
我的时间设置是
*do,I,1,nmdy*8,1
zi=I*zamp/8
t=zi/vlaz
,,,,,
,,,,
ti=1/10000+t
time,ti
nsubst,10,,,0
solve
,,,,,,,,,,,
,,,,,,,,,,,,,,,
ALLSEL,ALL  
t=ti+zamp/vlaz/8
time,t
nsubst,10,,0
solve
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shgao20

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
几个参数:
   zamp, vlaz , nmdy 的值不知道是多少?
*do 循环是否有相应的 *enddo
你可以自己手工计算一下,比如 3 个循环,time 值的变化,看看是否有错误信息提示的情况。
2楼2019-01-07 08:28:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

曹枣林

金虫 (正式写手)

引用回帖:
2楼: Originally posted by shgao20 at 2019-01-07 08:28:05
几个参数:
   zamp, vlaz , nmdy 的值不知道是多少?
*do 循环是否有相应的 *enddo
你可以自己手工计算一下,比如 3 个循环,time 值的变化,看看是否有错误信息提示的情况。

老师您好,这里先谢过老师
一: zamp, vlaz , nmdy等参数都是我前面计算出来的固定值
二:*enddo没复制上,抱歉
三:自己手工算了一下,确实是后一个时间步要比前一个时间步小。
解决问题:
将发现的问题解决后,及手工再算后一个时间步已经比前一个时间大了,但还会出现上述的提示
通过一番查找和摸索,发现初始时间不能设为0,设置为time=1e-8,问题解决
t=1e-8
*do,I,1,nmdy*8,1     !1到周期数*8      第一次循环
trmnd = mod(I,8) !!!   求X/Y的余
trsdl = (I-trmnd)/8
;;;;;;;;;
;;;;;;;
t=t+1/1000000
time,t
;;;;;;
;;;;;
3楼2019-01-07 11:33:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shgao20

专家顾问 (职业作家)

祝贺你获得成功!
4楼2019-01-08 08:05:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 曹枣林 的主题更新
信息提示
请填处理意见