24小时热门版块排行榜    

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

liubojia

新虫 (初入文坛)

[求助] 帮忙修改一下圆柱绕流动网格udf,急已有2人参与

圆柱绕流动网格问题udf
中间位置圆柱的面积要分解成想x,y方向现在这么面积分量不知道怎么在udf中
CODE:
DEFINE_ON_DEMAND(print_force)
{
   real A[ND_ND];
   face_t f;
   real dfx=0,dfy=0;
   int zone_ID=3;
   Thread*thread_name=Lookup_Thread(domain,zone_ID);
   begin_f_loop(f,thread)
   {
         F_AREA(A,f,thread)
         dfx+=F_P(f,thread)*A[1];
         dfy+=F_P(f,thread)*A[0];
     }
     end_f_loop(f,thread)
     printf("x-force=%f y-force=%f,dfx,dfy)

上面A[0] 和A[1]分别是中间圆柱在Y方向和X方向的面积分量    目前就是这个A[0]和A[1]不知道应该怎么定义出来,求大神帮帮忙  , \"帮忙修改一下圆柱绕流动网格udf,急\"
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aprilhello

新虫 (初入文坛)

您好,你运行成功了吗,能不能给我发一份udf,谢谢!

发自小木虫Android客户端
7楼2017-03-28 10:24:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

gxw13131

银虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
不明白你的意思,但你的udf里那个thread_name得改成thread,其实就是一个遍历用的指针。单元面积分量就是通过F_AREA()这个宏得到的,放在A[]数组里面,A[0]为x方向,A[1]为y方向。三维的话以此类推。

[ 发自小木虫客户端 ]
2楼2015-05-11 12:58:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liubojia

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by gxw13131 at 2015-05-11 12:58:09
不明白你的意思,但你的udf里那个thread_name得改成thread,其实就是一个遍历用的指针。单元面积分量就是通过F_AREA()这个宏得到的,放在A[]数组里面,A为x方向,A为y方向。三维的话以此类推。
...

现在的问题就是如何在F_AREA()中定义A[]这个你会不帮我下出来行不
然后我把金币给你  
F_AREA(A,f,thread)
dfx+=F_P(f,thread)*F_AREA(A,f,thread)[0];
  dfy+=F_P(f,thread)*F_AREA(A,f,thread)[1]
3楼2015-05-11 14:53:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gxw13131

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
liubojia: 金币+10, 有帮助 2015-05-11 22:36:52
引用回帖:
3楼: Originally posted by liubojia at 2015-05-11 14:53:15
现在的问题就是如何在F_AREA()中定义A[]这个你会不帮我下出来行不
然后我把金币给你  
F_AREA(A,f,thread)
dfx+=F_P(f,thread)*F_AREA(A,f,thread);
  dfy+=F_P(f,thread)*F_AREA(A,f,thread)...

A[]你不是在前面已经定义了吗?F_AREA(A,f,thread)这个语句实际上已经把单元各个面积分量输出到A[]里去了。
你这个udf不是想计算圆柱的升力和阻力吗?完全没必要用udf。在monitors里面,残差下面那个create,就可以直接输出升力和阻力了,还可以保存到文件里方便后处理。
4楼2015-05-11 19:05:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见