24小时热门版块排行榜    

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

duandiancqu

金虫 (初入文坛)

[求助] UDF中DEFINE_ADJUST宏中使用C_UDSI_G 已有5人参与

我在用DEFINE_ADJUST宏时,只要加上C_UDSI_G(c,t,0),就提示错误,
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.

将C_UDSI_G()替换成常数时,程序能够执行,是不是在这种情况下有什么要求啊,那位大神给我解释下,很纠结。
程序代码如下:
DEFINE_ADJUST(mhd_adjust,d)
{
        Thread *t;
        cell_t c;

        if (! Data_Valid_P())
        return;

        thread_loop_c(t,d)
        {
                begin_c_loop(c,t)
                {
                                               
                        C_UDMI(c,t,0)=-1*C_UDSI_DIFF(c,t,0)*C_UDSI_G(c,t,0)[0];
                        C_UDMI(c,t,1)=-1*C_UDSI_DIFF(c,t,0)*C_UDSI_G(c,t,0)[1];
                        C_UDMI(c,t,2)=-1*C_UDSI_DIFF(c,t,0)*C_UDSI_G(c,t,0)[2];
                }
                end_c_loop(c,t)
        }
}
回复此楼

» 猜你喜欢

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

zhaolei539

铁虫 (小有名气)

引用回帖:
21楼: Originally posted by 转石千仞 at 2013-12-17 18:31:56
楼主,我觉得,你这种情况,你要去想,你求解的标量是有范围的对不对?
如果标量只存在于一个区域内,而你的程序,要对所有区域都求标量的梯度,必然是要出错的。
我也出现过此种情况。
你加上线ID去识别你的标量 ...

你好!
想请教UDMI存储是如何进行的?里面的数据又要如何提取?
我的模型是提取边界面温度值,同时赋值给网格划分相同的另一边界面,每次迭代提取一次
网格划分不规则,UDMI如何存储使用?
下面是我的程序 能不能帮忙看看 ? 不胜感激~~
#include "udf.h"
DEFINE_ADJUST(temperature,d)
{
face_t f;
Domain *domain;
int ID_liquid=8;
real temp_liquid;
real temp_solid;
Thread *thread_liquid=Lookup_Thread(domain,ID_liquid);
begin_f_loop(f,thread_liquid)
{   
temp_liquid=F_T(f,thread_liquid);
F_UDMI(f,thread_liquid,0)=temp_liquid;
}
end_f_loop(f,thread_liquid)
begin_f_loop(f,d)
{
    F_T(f,d)=F_UDMI(f,thread_liquid,0);
}
  end_f_loop(f,t)
}
努力!
32楼2014-06-17 15:37:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 37 个回答

gyctju

金虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~~ 2012-07-04 20:39:50
可以尝试在不链接udf的情况下先计算几步,使得uds0的值合理。
2楼2012-07-04 12:31:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duandiancqu

金虫 (初入文坛)

引用回帖:
2楼: Originally posted by gyctju at 2012-07-04 12:31:48
可以尝试在不链接udf的情况下先计算几步,使得uds0的值合理。

我试过了,不行。。。
3楼2012-07-04 14:45:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lucklhz

木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~~ 2012-07-04 20:40:06
楼主,看你程序,你是想取你的UDS自定义标量uds0在空间个三个方向的梯度吗?还有,这种表达方式C_UDSI_G(c,t,0)[1],是不是有问题?C_UDSI_G(c,t,i)默认的在三个方向上的梯度是一样的
4楼2012-07-04 19:43:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见