24小时热门版块排行榜    

查看: 765  |  回复: 6

UDorcer

新虫 (小有名气)

[求助] 求助UDF编写问题!!!已有1人参与

小弟在编写UDF时,遇到以下问题:
在DEFINE_SOURCE宏里面,需要用一个与坐标有关的函数,例如return source=-5*x;
即一串代码里面需要用到坐标x,
请问怎样把坐标写进去?
回复此楼

» 猜你喜欢

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

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

tank_fire

铜虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
摘自14.5的help说明
/*******************************************************************/
    UDF for specifying an x-momentum source term in a spatially
   dependent porous media
*******************************************************************/

#include "udf.h"

#define C2 100.0

DEFINE_SOURCE(xmom_source,c,t,dS,eqn)
{
    real x[ND_ND];
    real con, source;
    C_CENTROID(x,c,t);
    con = C2*0.5*C_R(c,t)*x[1];
    source = -con*fabs(C_U(c, t))*C_U(c,t);
    dS[eqn] = -2.*con*fabs(C_U(c,t));
    return source;
}


    C_CENTROID(x,c,t);这句是把当前cell的中心位置赋值给x[ND_ND]   ND_ND如果是2D就是2
3D就是3
所以你要的坐标就是xy(z)   x[0] x[1] (x[2])
2楼2014-08-27 23:08:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

UDorcer

新虫 (小有名气)

引用回帖:
2楼: Originally posted by tank_fire at 2014-08-27 23:08:16
摘自14.5的help说明
/*******************************************************************/
    UDF for specifying an x-momentum source term in a spatially
   dependent porous media
************** ...

但是为什么你给的例子中说是沿着X轴源项的变化,却用了x[1],x轴不是x[0]吗
3楼2014-08-28 09:44:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

UDorcer

新虫 (小有名气)

引用回帖:
2楼: Originally posted by tank_fire at 2014-08-27 23:08:16
摘自14.5的help说明
/*******************************************************************/
    UDF for specifying an x-momentum source term in a spatially
   dependent porous media
************** ...

非常感谢你
4楼2014-08-28 09:58:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

UDorcer

新虫 (小有名气)

引用回帖:
2楼: Originally posted by tank_fire at 2014-08-27 23:08:16
摘自14.5的help说明
/*******************************************************************/
    UDF for specifying an x-momentum source term in a spatially
   dependent porous media
************** ...

我试了以下,还是不行。这个例子是x方向动量的损失,我需要的是质量变化,只不过用到了坐标轴
5楼2014-08-28 10:21:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tank_fire

铜虫 (小有名气)

【答案】应助回帖

要质量变化你可以把每步的网格里的 质量=密度×体积  存进用户自定义内存里C_UDMI(c,t,i)
算每步之间的差值
使用方法参见 3.2.10. User-Defined Memory (UDM) Macros  (ANSYS14.5 HELP-》FLUENT-》 UDF)
6楼2014-08-28 23:12:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

UDorcer

新虫 (小有名气)

内容已删除
7楼2014-08-29 09:11:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 UDorcer 的主题更新
信息提示
请填处理意见