24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3621  |  回复: 16

转石千仞

金虫 (正式写手)

击破长空

转石千仞: 回帖置顶 2014-01-09 09:26:24
关于此贴的问题,我已经解决。
1采用DEFINE_ADJUST,计算出所需要的值,置于边界UDM中;
2编写define_profile将边界UDM中的值挂到边界上;
3如此,迭代开始时,即会先运行1,再运行2,将边界值改变。
故善战人之势,如转圆石于千仞之山者,势也
11楼2014-01-09 09:26:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

soulyan

新虫 (初入文坛)

引用回帖:
11楼: Originally posted by 转石千仞 at 2014-01-09 09:26:15
关于此贴的问题,我已经解决。
1采用DEFINE_ADJUST,计算出所需要的值,置于边界UDM中;
2编写define_profile将边界UDM中的值挂到边界上;
3如此,迭代开始时,即会先运行1,再运行2,将边界值改变。

你好,转石千仞,能否把你的代码贴出来相互交流 或是 将发至我的邮箱,谢谢!
12楼2014-09-25 19:35:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

圆梦缘1989

新虫 (小有名气)

我用C_UMDI(c,t,0)=C_MU_L(c,t)的时候为什么会提示“error C2106: "=": 左操作数必须为左值”呀?
13楼2015-06-04 10:52:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvhenghua

新虫 (初入文坛)

引用回帖:
11楼: Originally posted by 转石千仞 at 2014-01-09 09:26:15
关于此贴的问题,我已经解决。
1采用DEFINE_ADJUST,计算出所需要的值,置于边界UDM中;
2编写define_profile将边界UDM中的值挂到边界上;
3如此,迭代开始时,即会先运行1,再运行2,将边界值改变。

楼主,我受你的思路的启发,在自己的UDF中采用了这样的方法,先adjust将计算出来的值置于边界UDM中,然后用profile,下面这段程序解释进fluent中没有问题,但一旦初始化就会报错无法运行,能不能给点指点,谢谢。
DEFINE_ADJUST(adjust_wall_temp,d)
{
Thread *t;
face_t f;
real time;
int id_f=5;
t=Lookup_Thread(d,id_f);
time=RP_Get_Integer("time_step";
thread_loop_f(t,d)
  {
   begin_f_loop(f,t)
   {
    if (time<2)
     F_UDMI(f,t,6)=tw0;
    else
     F_UDMI(f,t,6)=F_T(f,t)+(tw0-F_T(f,t))/(1+h*F_UDMI(f,t,2));/*adjust wall temperature*/
   }
   end_f_loop(f,t)
  }
}
DEFINE_PROFILE(wall_temp,t,position)
{
face_t f;
Domain *d;
int id_f=5;
d=Get_Domain(1);
t=Lookup_Thread(d,id_f);
begin_f_loop(f,t)
{
  F_PROFILE(f,t,position)=F_UDMI(f,t,6);
}
end_f_loop(f,t)
}
14楼2015-12-23 16:03:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvhenghua

新虫 (初入文坛)

【答案】应助回帖

引用回帖:
11楼: Originally posted by 转石千仞 at 2014-01-09 09:26:15
关于此贴的问题,我已经解决。
1采用DEFINE_ADJUST,计算出所需要的值,置于边界UDM中;
2编写define_profile将边界UDM中的值挂到边界上;
3如此,迭代开始时,即会先运行1,再运行2,将边界值改变。

楼主,我采用你说的思路,先用adjust给UDM赋值,然后采用profile,下面这段程序可以解释进fluent,但一初始化就会报错,能不能帮忙看看有什么问题?
DEFINE_ADJUST(adjust_wall_temp,d)
{
Thread *t;
face_t f;
real time;
int id_f=5;
t=Lookup_Thread(d,id_f);
time=RP_Get_Integer("time_step";
thread_loop_f(t,d)
  {
   begin_f_loop(f,t)
   {
    if (time<2)
     F_UDMI(f,t,6)=tw0;
    else
     F_UDMI(f,t,6)=F_T(f,t)+(tw0-F_T(f,t))/(1+h*F_UDMI(f,t,2));/*adjust wall temperature*/
   }
   end_f_loop(f,t)
  }
}
DEFINE_PROFILE(wall_temp,t,position)
{
face_t f;
Domain *d;
int id_f=5;
d=Get_Domain(1);
t=Lookup_Thread(d,id_f);
begin_f_loop(f,t)
{
  F_PROFILE(f,t,position)=F_UDMI(f,t,6);
}
end_f_loop(f,t)
}
15楼2015-12-23 16:06:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

15800971578

新虫 (初入文坛)

楼主,请教,如果我想读取某个界面的温度,然后赋予另一个界面,并每次迭代更新,应该怎么做,能指点一下么?
16楼2018-08-06 10:40:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

转石千仞

金虫 (正式写手)

击破长空

内容已删除
故善战人之势,如转圆石于千仞之山者,势也
17楼2022-01-05 19:26:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 转石千仞 的主题更新
信息提示
请填处理意见