找回密码
 注册
查看: 3737|回复: 3

关于初始化时出现FLUENT received fatal signal (ACCESS_VIOLATION)的问题

[复制链接]
发表于 2011-8-31 10:52:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
刚学UDF,有很多不太明白的地方。今天在进行初始化设定时就出现FLUENT received fatal signal (ACCESS_VIOLATION)的问题。
UDF具体内容如下:
#include "mat.h"
#include"udf.h"
#include"stdio.h"

#pragma comment(lib,"libmat.lib")
#pragma comment(lib,"libmx.lib")

DEFINE_PROFILE(inlet_x_velocity1, thread, index)
{
        real x[ND_ND];
        face_t f;

        MATFile *pmat;
        const char **dir;
        const char *file;
        mxArray *pMxArray;
        double *V_c;

        file="C:\\SharedData.mat";  //双反斜杠防止转义
         
        pmat=matOpen(file, "a");//打开文件,返回指向文件指针
                 
        //dir = (const char **)matGetDir(pmat, &ndir);
        //ndir 表示mat文件中含有矩阵数目

        pMxArray=(mxArray *)matGetVariable(pmat,"a");       
        //获取文件中的变量,返回axArray指针类型

        V_c=(double*)mxGetData(pMxArray);
        //获取文件中变量的值
       
        begin_f_loop(f,thread)
                {
                        //F_CENTROID(x,f,thread);
                        //y=x[1];                       
                        F_PROFILE(f,thread,index)=*V_c;
                }
        end_f_loop(f,thread)       
}
我期望通过UDF读取mat格式文件中的变量值,并将该值设定为入口流速。编译也通过了,但是在初始化的时候出现问题,错误如下:
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程序有错还是软件的问题,非常感谢。
发表于 2011-8-31 11:00:38 | 显示全部楼层

回复 1# tlss31306 的帖子

整个速度进口都这么复杂。
可能是初始化程序不能识别你UDF里的值,进口速度UDF毕竟是在计算执行后才会进行访问的。你初始化的时候随便用个值进行初始化,不要用这个进口的值了。
 楼主| 发表于 2011-8-31 11:08:58 | 显示全部楼层

回复 2# 飞翔鸟 的帖子

谢谢你的回复,这只是个例子,最近做matlab和fluent联合仿真,想通过mat格式文件作为共享文件,用来传递数据。
问题是不是得先设定入口条件,才能初始化么?
 楼主| 发表于 2011-8-31 11:29:09 | 显示全部楼层
额,好像解决了,是刚开始读不到文件导致的,我把路径修改正确了就好了。
还有其中有一句:
pmat=matOpen(file, "a");//打开文件,返回指向文件指针
是错误的,要改成:
pmat=matOpen(file, "r");//打开文件,返回指向文件指针
然后就能进行初始化了。
非常感谢飞翔鸟的回复,否则我还不知道要摸多久呢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表