|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
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程序有错还是软件的问题,非常感谢。 |
|