24小时热门版块排行榜    

查看: 2250  |  回复: 2

feiwen90

新虫 (初入文坛)

[求助] fluent加载udf后无法初始化,求高人指点~困了好久了···

udf如下,就是首先找到一个气固分界线,然后定义在这个分界线上1m范围内有沙子进入。但是一加载这个udf,就没法初始化了,已初始化,就出现如下错误
udf编译也没错误,udf见下面
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: ()
下面是udf!!
#include"udf.h"
DEFINE_PROFILE(inlet_sand1_vof,thread,nv)
{
    real minY=20;                                         
        real x[ND_ND];
        real y;
        face_t f;
        real vmax=0.7;
        real volume,minX;
        Thread *t,*mix,*gast;
        cell_t c;
    begin_f_loop(f,thread)
        {
       c = F_C0(f,thread);   /* returns ID for c0 */
       t = THREAD_T0(thread);
           mix=THREAD_SUPER_THREAD(t);
           gast=THREAD_SUB_THREAD(mix,0);
                        C_CENTROID(x,c,t);
                        volume=C_VOF(c,gast);
                        if (volume > vmax )
                        {
                                minX=x[1];
                                if (minX<minY)
                                {
                                        minY=minX;
                                }
                                else
                                {       
                                        minY=minY;
                                }
                        }
                        else
                        {
                                minY=minY;
                        }
        }
        end_f_loop(f,thread);
/*        printf("%f\n",minY); */
       
    begin_f_loop(f,thread)
    {                     
                F_CENTROID(x,f,thread);
                y=x[1];
                if (y<minY)
                {
                        F_PROFILE(f,thread,nv)=0;
                }
                else
                {
            if (y>minY+1)
                    {
               F_PROFILE(f,thread,nv)=0;
                    }
                else
                    {
            F_PROFILE(f,thread,nv)=0.03*0.11;
            }
         }
    }   
        end_f_loop(f,thread);
                printf("%f\n",minY);

}
回复此楼

» 猜你喜欢

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

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

406778075

新虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
1592203609: 金币+1, 谢谢回帖 2013-11-25 12:15:46
一般出现这种错误就是边界条件程序里面的某个变量不存在,比如边界条件初始化的时候程序里面不能有求导数语句。建议你一句一句屏蔽再初始化,肯定能找见出问题的语句。
2楼2013-11-25 10:49:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feiwen90

新虫 (初入文坛)

已解决,主要是需要先设置固定常数初始化,然后再添加udf进行计算
3楼2014-04-14 14:22:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 feiwen90 的主题更新
信息提示
请填处理意见