| 查看: 2317 | 回复: 8 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
用udf实现coupled边界固体区域中温度最值提取
|
||
|
物理问题是想 提取 耦合边界固体区域中心面上温度最大值曲线和最小值取消(非稳态)。monitor可实现监控某一点或某面的平均值随时间变化,但想得到的点比较多就考虑用udf,但一直没成功过。 主要疑问在于: d=Get_Domain(1); 对单相流体获得的是所有流体区域,边界的固体区域如何获得? 我在udf加了 t = Lookup_Thread(d,12); (12是固体壁面区域在boundary conditon 中的zone id)来获得固体域的thread,但udf没成功,是否是因为在d 是流体域不能得到固体的thread。如果这样的话,如何得到固体域呢? |
» 猜你喜欢
参与限项
已经有5人回复
推荐一本书
已经有7人回复
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
stryhood
至尊木虫 (著名写手)
- 应助: 4 (幼儿园)
- 金币: 15071.3
- 散金: 16
- 红花: 1
- 帖子: 1397
- 在线: 385.9小时
- 虫号: 1417580
- 注册: 2011-09-26
- 专业: 可再生与替代能源利用中的
5楼2013-10-22 20:17:09
|
自顶一下 把代码贴出来,写的很挫 请高手指教 DEFINE_EXECUTE_AT_END(excutend_twminmax) { Domain *d; /* declare domain pointer since it is not passed as an argument to the DEFINE macro */ Thread *t; cell_t c; real temptf,ctime1; int i; FILE *twminmax; real x[ND_ND]; real twmin0[100]={0}; real twmax0[100]={0}; real twmin[100]={0}; real twmax[100]={0}; //####grid is 500####only for this mesh; real times0[100]={0}; real timeb0[100]={0}; real times[100]={0}; real timeb[100]={0}; i=0; d=Get_Domain(1); // all fluid zone t = Lookup_Thread(d,12);// ########pay attention to this part ,id of insert####### zone_ID 5 ctime1 = RP_Get_Real("flow-time" ;for(i=0;i<250;i++) { thread_loop_c(t,d) /* Compute max, min, volume-averaged temperature */ /* Loop over all cells */ { begin_c_loop(c,t) { temptf = C_T(c,t); C_CENTROID(x,c,t); if ((fabs(x[1]-1.04)<0.02)&&(fabs(x[0]-(i+1)*0.02)<0.01)) { if (ctime1<=1) { twmin=temptf; // temperature at current time twmax=temptf; times=ctime1; timeb=ctime1; } if ((twmin0<twmin)&&(ctime1>1))// initial state skip these two { twmin=twmin0; times=times0; } if ((twmax0>twmax)&&(ctime1>1)) { twmax=twmax0; timeb=timeb0; } } twmin0=twmin; // 0 temperature at last time step, save the last time step data twmax0=twmax; times0=times; timeb0=timeb; } end_c_loop(c,t) } } /* write the data of twmin adn twmax */ twminmax=fopen("twminmax.txt","w" ; for(i=0;i<250;i++) { fprintf(twminmax,"%g %g %g %g %g\n", ctime1, twmin, times, twmax, timeb); } Message("twmin[100];%g\n",twmin[100]); fclose(twminmax); } |
2楼2013-10-18 15:41:29
stryhood
至尊木虫 (著名写手)
- 应助: 4 (幼儿园)
- 金币: 15071.3
- 散金: 16
- 红花: 1
- 帖子: 1397
- 在线: 385.9小时
- 虫号: 1417580
- 注册: 2011-09-26
- 专业: 可再生与替代能源利用中的
3楼2013-10-21 08:58:34
4楼2013-10-22 16:16:54












回复此楼
;