24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4024  |  回复: 10

woshihuolei

银虫 (小有名气)

[求助] fluent UDF如何实现下一时间步热源为上一时间步参数的函数的瞬态过程?已有2人参与

不知题目有没有说清。。。
因为热源是随流场的温度而有一个“自反馈”作用
如果温度上升,则下一时刻热源减小;如果温度下降,下一时刻热源增加
现在主要是不知道在UDF中不同时刻的值是怎么调用的?比如上一时间点的温度等。
希望大家指点一二
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshihuolei

银虫 (小有名气)

应该查找哪方面的资料啊啊啊啊
快点来个人点一下啊啊啊啊
2楼2014-01-14 10:13:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshihuolei

银虫 (小有名气)

告诉一下应该看哪方面资料也可以
现在连该看什么都不知道,实在折磨人啊
求大家帮忙啊
3楼2014-01-14 14:10:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshihuolei

银虫 (小有名气)

现在基本确定可以使用UDMI
根据各种资料,写了一段代码,但出现如下错误:
Error:
FLUENT received fatal signal (ACCESS_VIOLATION)
1. Note exact events leading to error.
2. Save case/data under new name.
3. Exit program and restart to continue.
4. Report error to your distributor.
Error Object: #f
已经分配了内存2个。。udmi也是在初始化中patch的。。
代码如下,有详细解释,希望大家给看看哪里不对。。
/***********************************************************************/
/* heat_source.c */
/* UDF for specifying a time-dependent heat_source  */
/***********************************************************************/
#include "udf.h"
#include "unsteady.h"


DEFINE_SOURCE(cell_heat_source, cell, t)         
{
cell_t c;
Thread *t;
Domain *d;
real heat_source;
real current_timestep;   /*as word means*/
real current_time;
current_time = RP_Get_Real("flow-time";
heat_source = 340000000.;
current_timestep = RP_Get_Real("physical-time-step";


begin_c_loop(c,t)
{
C_UDMI(c,t,0) = C_T_M1(c,t); /*获得前一时刻温度值*/
C_UDMI(c,t,1)= C_T_M2(c,t);/*获得前前时刻温度值*/
}
end_c_loop(c,t)

heat_source = heat_source * exp(-3 * current_timestep * pow (10,-4) * (C_UDMI(c,t,0) - C_UDMI(c,t,1)));/*热源项为前两时刻温度差的函数*/

return heat_source;
}
4楼2014-01-14 21:23:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshihuolei

银虫 (小有名气)

两个表情不知道是怎么回事,难道是右括号?)
5楼2014-01-14 21:24:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

achilFes1990

木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
1592203609: 金币+1, 谢谢回帖! 2014-01-16 08:38:14
你的DEFINE_SOURCE都写错了,应该是DEFINE_SOURCE(name,c,t,dS,eqn)

另外,return heat_source;这句之前加一个 dS[eqn] = 0.0

试一下,看看是否报错
扫一扫关注我的微信公众号,共同学习船舶CFD
6楼2014-01-15 08:55:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshihuolei

银虫 (小有名气)

引用回帖:
6楼: Originally posted by achilFes1990 at 2014-01-15 08:55:15
你的DEFINE_SOURCE都写错了,应该是DEFINE_SOURCE(name,c,t,dS,eqn)

另外,return heat_source;这句之前加一个 dS = 0.0

试一下,看看是否报错

感谢提醒!
按您说的方法试了一下,依然报错“FLUENT received fatal signal (ACCESS_VIOLATION)”
7楼2014-01-15 15:56:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

二亚

铜虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
1592203609: 金币+1, 谢谢回帖! 2014-01-16 08:38:24
你把UDMI改为3个就对了,你试试。我今天也是这个出错了

[ 发自手机版 http://muchong.com/3g ]
信念的力量是伟大的
8楼2014-01-15 23:53:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshihuolei

银虫 (小有名气)

引用回帖:
8楼: Originally posted by 二亚 at 2014-01-15 23:53:04
你把UDMI改为3个就对了,你试试。我今天也是这个出错了

您指的是Define Memory 个数改为3个吗?
我这样试了,可还是一样的错误。。
还有什么需要注意的地方吗?
9楼2014-01-16 08:50:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

二亚

铜虫 (初入文坛)

引用回帖:
9楼: Originally posted by woshihuolei at 2014-01-16 08:50:21
您指的是Define Memory 个数改为3个吗?
我这样试了,可还是一样的错误。。
还有什么需要注意的地方吗?...

是的啊,我的和你的错误一样,那样该了之后就好啦,你再看看,我也在学习中。
信念的力量是伟大的
10楼2014-01-19 10:10:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 woshihuolei 的主题更新
信息提示
请填处理意见