24小时热门版块排行榜    

查看: 9070  |  回复: 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的回帖

duandiancqu

金虫 (初入文坛)

引用回帖:
4楼: Originally posted by lucklhz at 2012-07-04 19:43:32
楼主,看你程序,你是想取你的UDS自定义标量uds0在空间个三个方向的梯度吗?还有,这种表达方式C_UDSI_G(c,t,0),是不是有问题?C_UDSI_G(c,t,i)默认的在三个方向上的梯度是一样的

我是想取载个方向上的梯度,而且C_UDSI_G(c,t,0)[1]没有问题吧,帮助上就有这个啊,C_UDSI_G(c,t,0),i=1,2,3的
5楼2012-07-04 22:42:19
已阅   回复此楼   关注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的回帖
信息提示
请填处理意见