24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2432  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

chang.z.s

版主

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!

[求助] 用udf实现coupled边界固体区域中温度最值提取

物理问题是想 提取  耦合边界固体区域中心面上温度最大值曲线和最小值取消(非稳态)。monitor可实现监控某一点或某面的平均值随时间变化,但想得到的点比较多就考虑用udf,但一直没成功过。
主要疑问在于:
d=Get_Domain(1); 对单相流体获得的是所有流体区域,边界的固体区域如何获得?
我在udf加了 t = Lookup_Thread(d,12); (12是固体壁面区域在boundary conditon 中的zone id)来获得固体域的thread,但udf没成功,是否是因为在d 是流体域不能得到固体的thread。如果这样的话,如何得到固体域呢?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

stryhood

超级版主

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!


臭水沟: 金币+1, 谢谢交流~ 2013-10-25 20:30:40
引用回帖:
4楼: Originally posted by chang.z.s at 2013-10-22 16:16:54
udf里是这样处理的 同时thread和cell的循环都有找固体区域的某个位置,
但最后输出都是初值

thread_loop_c(t,d)
/* Compute max, min, volume-averaged temperature */
/* Loop over all cells */
{
      ...

thread和cell loop之后,应该是全部循环的,看了你的代码应该是不用for循环的
5楼2013-10-22 20:17:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

chang.z.s

超级版主

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!

自顶一下 把代码贴出来,写的很挫 请高手指教

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
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

stryhood

主管区长

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!

【答案】应助回帖


臭水沟: 金币+1, 谢谢交流~ 2013-10-25 20:30:17
loop thread和loop cell都用,你限定一下固体区域的坐标,应该能行
3楼2013-10-21 08:58:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chang.z.s

主管区长

优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!优秀!!有木有!!!

引用回帖:
3楼: Originally posted by stryhood at 2013-10-21 08:58:34
loop thread和loop cell都用,你限定一下固体区域的坐标,应该能行

udf里是这样处理的 同时thread和cell的循环都有找固体区域的某个位置,
但最后输出都是初值

thread_loop_c(t,d)
/* Compute max, min, volume-averaged temperature */
/* Loop over all cells */
{
        begin_c_loop(c,t)

不确定是不是 if ((fabs(x[1]-1.04)<0.02)&&(fabs(x[0]-(i+1)*0.02)<0.01)) 判断太严格,根本没执行,这种可能也不大。
4楼2013-10-22 16:16:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 288求调剂 一志愿哈工大 材料与化工 +19 洛神哥哥 2026-03-31 19/950 2026-04-01 01:35 by 1018329917
[考研] 一志愿 南京航空航天大学 ,080500材料科学与工程学硕 +5 @taotao 2026-03-31 5/250 2026-03-31 23:08 by liu823948201
[考研] 322求调剂:一志愿湖南大学 材料与化工(085600),已过六级。 +10 XX小邓 2026-03-29 10/500 2026-03-31 16:46 by 不吃魚的貓
[考研] 313求调剂 +6 卖个关子吧 2026-03-31 6/300 2026-03-31 10:58 by Jaylen.
[考研] 08工科,295,接受跨专业调剂 +6 lmnlzy 2026-03-30 6/300 2026-03-31 10:04 by cal0306
[考研] 085600材料与化工329分求调剂 +5 这是有太阳哇 2026-03-25 5/250 2026-03-31 09:59 by luoyongfeng
[考研] 福建理工大学材料学院先进合金团队招收考研调剂学生 +3 大华金商都 2026-03-30 4/200 2026-03-31 01:04 by 方英俊602
[考研] 317分 一志愿南理工材料工程 本科湖工大 求调剂 +12 芋泥小铃铛 2026-03-28 12/600 2026-03-30 17:06 by wangjy2002
[考研] 283求调剂(080500) +14 A child 2026-03-27 14/700 2026-03-30 12:06 by 探123
[考研] 295求调剂 +5 wei-5 2026-03-26 5/250 2026-03-30 08:34 by 探123
[考研] 318一志愿吉林大学生物与医药 求调剂 +5 笃行致远. 2026-03-28 5/250 2026-03-30 06:56 by ilovexiaobin
[考研] 一志愿北京工业大学,324分求调剂 +6 零八# 2026-03-28 6/300 2026-03-29 21:20 by nanaliuyun
[考研] 327求调剂 +6 汲亦昊 2026-03-29 6/300 2026-03-29 13:40 by peike
[考研] 一志愿北京理工大学本科211材料工程294求调剂 +8 mikasa的围巾 2026-03-28 8/400 2026-03-29 12:48 by 无际的草原
[考研] 一志愿华理,数一英一285求A区调剂 +8 AZMK 2026-03-25 12/600 2026-03-28 18:15 by AZMK
[考研] 286求调剂 +12 PolarBear11 2026-03-26 12/600 2026-03-28 12:14 by zllcz
[考研] 283求调剂 +7 A child 2026-03-28 7/350 2026-03-28 12:05 by zllcz
[考研] 086502化学工程342求调剂 +6 阿姨复古不过 2026-03-27 6/300 2026-03-28 07:06 by wangy0907
[考研] 348求调剂 +4 小懒虫不懒了 2026-03-27 5/250 2026-03-27 12:47 by 果果妈咪
[考研] 材料求调剂 +5 .m.. 2026-03-25 5/250 2026-03-27 11:08 by 不吃魚的貓
信息提示
请填处理意见