找回密码
 注册
查看: 2502|回复: 2

UDF编译程序加载到fluent总是出错

[复制链接]
发表于 2015-7-25 17:40:31 | 显示全部楼层 |阅读模式

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

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

x
程序如下
#include "udf.h"
#include "mem.h"
#include "dpm.h"
#include "dpm_tools.h"
#define Q 1.6e-15
#define K 8.9875e+9
DEFINE_DPM_BODY_FORCE(particle_body_force,p,i)
{
    cell_t c=P_CELL(p);
    Thread *t=P_CELL_THREAD(p);
    real bforce=0.0;
    if(i==0)
    bforce=Q*C_UDMI(c,t,0);
    if(i==1)
    bforce=Q*C_UDMI(c,t,1);
    return (bforce/P_MASS(p));
}
点build之后出现以下错误
c:\program files\ansys inc\v121\fluent\fluent12.1.2\src\config.h(110) : error C2143: 语法错误 : 缺少“{”(在“:”的前面)
c:\program files\ansys inc\v121\fluent\fluent12.1.2\src\config.h(110) : error C2059: 语法错误:“:”
求高手解决

发表于 2015-8-10 17:21:49 | 显示全部楼层
本帖最后由 classic1573 于 2015-8-10 17:29 编辑

刚看你加个电场好像前前后后折腾了4个月了
以前做过一点,不一定能解决你的问题,但希望对你有所帮助。
1、上面的提示是fluent12.1.2版本头文件错误,文件路径c:\program files\ansys inc\v121\fluent\fluent12.1.2\src\下的头文件config.h第110行中在冒号:之前缺少 { ;一般出现这种问题有两种情况,一种是你的udf中使用的符号(如分号)不合适造成的,可以新建一个.c空白文件,用春英文输入法再输一遍以上udf代码。如果还提示错误,就按以上提示路径找到头文件config.h,在第110行之前适当位置加上大括号{;6.3以上的fluent版本有些头文件是有一些bug的,我在用14.0的时候就遇到类似提示,改了两个头文件。
2、你在加电场的时候,里面好像已经定义uds和udm了,我的经验是,先定义uds,以便设置电压边界条件,然后先观察场强的话就定义3个udm,在define adjust或其他宏里面将uds梯度赋值给udm,这样就可以在后处理里面观察场强了,也可能有其他办法。
3.一下是定义好uds后,对应的电场强度udf:
#include "udf.h"
DEFINE_DPM_BODY_FORCE(ic_field,p,i)
{
real bforce=0.;
Thread *t=RP_THREAD(&(p->cCell));
cell_t c=RP_CELL(&(p->cCell));
bforce=-C_UDSI_G(c,t,0)*(电荷密度);//有个【i】页面显示不出来。
return bforce;
}







 楼主| 发表于 2015-9-7 11:33:32 | 显示全部楼层
classic1573 发表于 2015-8-10 17:21
刚看你加个电场好像前前后后折腾了4个月了。
以前做过一点,不一定能解决你的问题,但希望对你有所帮助 ...

你好,多谢你了,能不能加一下你的扣扣,我还有些问题想请教一下

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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