| 查看: 2315 | 回复: 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人回复
zhaolei539
铁虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 324.1
- 红花: 1
- 帖子: 76
- 在线: 21.1小时
- 虫号: 2870773
- 注册: 2013-12-14
- 性别: MM
- 专业: 制造系统与自动化
|
你好!想请教提取某个边界面的温度,赋值给另一个边界面 面上不同位置 温度不一样 不知道UDM怎么存储的?我这样写行不行? #include "udf.h" DEFINE_PROFILE(hnt_temperature,thread) { face_t f; real tem_liquid; real tem_solid; Thread *thread_liquid=Lookup_Thread(domain,14); /*14是交界面液体侧面的id*/; Thread *thread_solid=Lookup_Thread(domain,15); /*15是交界面固体侧面的id*/; begin_f_loop(f,thread_liquid) { temp=F_T(f,thread_liquid); F_UDMI(f,t,0)=temp_liquid; } end_f_loop(f,thread_liquid) begin_f_loop(f,thread_solid) { tem_solid=F_UDMI(f,t,0); F_PROFILE(f,thread_solid)=tem_solid; } end_f_loop(f,thread_solid) } 麻烦您帮忙看看 谢谢 |

9楼2014-06-14 15:29:12
|
自顶一下 把代码贴出来,写的很挫 请高手指教 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












回复此楼
;