24小时热门版块排行榜    

查看: 1881  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

1061692107

新虫 (小有名气)

[交流] 对时间积分C_UDMI(c,t,0)有问题 已有2人参与

#include "udf.h"
#include "mem.h"
DEFINE_SOURCE(energy_source,c,t,dS,eqn)
{
real source;
   source=30;
dS[eqn]=0;
C_UDMI(c,t,0)=source;
C_UDMI(c,t,1)=C_UDMI(c,t,1)+source*RP_Get_Real("physical-time-step";
return source;
}
想对能量源项求积分,就是想知道这个过程。不知道为什么,C_UDMI(c,t,1)能量总是实际情况的20倍。真不知道为什么  哪位大神知道啊 ?[img]
C_UDMI(c,t,0)=source;
10 30
20 30
30 30
40 30
50 30
60 30
70 30
80 30
90 30
100 30
110 30
120 30
130 30
140 30
150 30
160 30
170 30
180 30
190 30
200 30
210 30
220 30
230 30
240 30
250 30
260 30
270 30
280 30
290 30
300 30
310 30
340 30
360 30
380 30
400 30
420 30
440 30
C_UDMI(c,t,1)=C_UDMI(c,t,1)+source*RP_Get_Real("physical-time-step";
10 6000
20 12000
30 18000
40 24000
50 30000
60 36000
70 41999.996
80 48000
90 53999.996
100 60000
110 66000
120 72000
130 77999.992
140 83999.992
150 90000
160 96000
170 102000
180 107999.99
190 114000.01
200 120000
210 125999.98
220 132000
230 137999.98
240 144000
250 149999.98
260 155999.98
270 161999.98
280 167999.98
290 173999.98
300 180000
310 185999.98
340 199800.02
360 211800
380 223800
400 235799.97
420 247800
440 259800
回复此楼
苦心人天不负
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1061692107

新虫 (小有名气)

引用回帖:
6楼: Originally posted by 983236579 at 2015-05-25 21:02:12
LZ,这个问题是怎么解决的呢?怎么改的代码?...

就是楼上面说的,不用改 ,,直接除以迭代次数就可以
苦心人天不负
7楼2015-05-27 09:54:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

1061692107

新虫 (小有名气)

不知道为啥   以为是多乘以了20倍,便加上了除以20倍,结果源项变得特别小,而且积分不增加。帮助一下吧,可能是C_UDMI(c,t,0)还不太熟悉
苦心人天不负
2楼2015-05-11 10:37:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cheersend

至尊木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
时间步长200秒?
话说时间步长我都用CURRENT_TIMESTEP调用的,不知道跟你这个RP***的有什么区别
3楼2015-05-13 09:54:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cheersend

至尊木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我知道了,你每个时间步长迭代20步,每次迭代都加了一次,于是是20倍。(麻烦楼主调整每个时间步长的迭代次数看看是不是就是这个问题)

» 本帖已获得的红花(最新10朵)

4楼2015-05-13 10:04:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见