找回密码
 注册
查看: 5425|回复: 7

udf导入问题

[复制链接]
发表于 2012-1-13 19:56:58 | 显示全部楼层 |阅读模式

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

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

x
在导入udf的时候出现以下问题:

Warning: The current working directory D:\libudf is not shared!
         This may cause file open issues accross network!

Opening library "libudf"...
Primitive Error at Node 0: open_udf_library: 系统找不到指定的文件。


Primitive Error at Node 1: open_udf_library: 系统找不到指定的文件。


Error: open_udf_library: 系统找不到指定的文件。

Error Object: #f
Deleted old libudf\win64\3d_host\libudf.dll
libudf\win64\3d_node\libudf.dll
已复制         1 个文件。
(system "copy d:\fluent.inc\fluent6.3\fluent6.3.26\src\makefile_nt.udf libudf\win64\3d_host\makefile")
已复制         1 个文件。
(chdir "libudf")()
(chdir "win64\3d_host")()
'nmake' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'nmake' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
(system "copy d:\fluent.inc\fluent6.3\fluent6.3.26\src\makefile_nt.udf libudf\win64\3d_node\makefile")
已复制         1 个文件。
(chdir "libudf")()
(chdir "win64\3d_node")()
'nmake' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'nmake' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

请问各位这个是什么问题?如何解决?
发表于 2012-1-16 16:17:02 | 显示全部楼层
c++的编译器没装好。
 楼主| 发表于 2012-1-17 21:50:02 | 显示全部楼层
通过不懈努力,解决了一部分问题:
如下步骤所示:
1,右键“我的电脑”—属性—高级—环境变量
2,在fluent安装文件夹下双击setenv.exe 点“是”(x:\Program Files\ANSYS Inc\v130\fluent\ntbin

\setenv.exe)
之后就会看见用户变量里多了FLUENT—INC和Path两项
3,设置vc的环境变量
在vc6.0中,可以添加三个环境变量:lib,include,path就可以了,也可以在重装vc6.0的时候选定设置环境变量就可以了。麻烦的是vc2008,2010,因为在这个编译器中,头文件和库函数分布在不同的位置,经过一天的实验,终于找齐了所有的位置,可以顺利编译。

INCLUDE=X:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include;C:\Program Files

(x86)\Microsoft SDKs\Windows\v7.0A\Include;
LIB =X:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib;C:\Program Files (x86)\Microsoft

SDKs\Windows\v7.0A\Lib

Path=X:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;X:\Program Files (x86)\Microsoft

Visual Studio 10.0\Common7\IDE;
 楼主| 发表于 2012-1-17 21:53:28 | 显示全部楼层
通过以上方法,解决了上述问题,设置完毕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: #f
发表于 2012-2-14 10:47:10 | 显示全部楼层

UDF执行问题

大家好:
    尊敬的亲们:你们好,我在求解电场分布的时候,将UDF导入FLUENT里,定义完边界条件后,用一个自定义标量定义拉普拉斯方程,电势的梯度是电场强度,为什么程序导入后有电势分布,没有场强分布呢?
具体情况如下:按照步骤导入程序:define-user-defined-functions-compiled 将程序导入进去,然后define-user-defined-scales 定义3个UDS,再define-user-defined-memory,设置4个udm,也就是我们计算的电场强度存在UDM中,在设置相应的边界条件,输出UDM时显示为零。
检查程序的执行时:define-user-defined-excute on demand 选择store-2gradient,execute时,fluent 界面出现错误信息: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: ()
希望大家指点迷津,错误在哪里?程序如下
#include "udf.h"
DEFINE_ON_DEMAND(store_gradient2)
{
Domain *d;
cell_t c;
Thread *t;
d=Get_Domain(1);
if (! Data_Valid_P())
return;
thread_loop_c (t, d)
{
if (FLUID_THREAD_P(t))
{
begin_c_loop(c,t)
{
  C_UDSI(c,t,1)=C_UDSI_G(c,t,0)[0];
  C_UDSI(c,t,2)=C_UDSI_G(c,t,0)[1];
  C_UDSI(c,t,3)=C_UDSI_G(c,t,0)[2];
  C_UDMI(c,t,0)=-C_UDSI_G(c,t,0)[0];
  C_UDMI(c,t,1)=-C_UDSI_G(c,t,0)[1];
  C_UDMI(c,t,2)=-C_UDSI_G(c,t,0)[2];
  C_UDMI(c,t,3)=NV_MAG(C_UDSI_G(c,t,0));
}
end_c_loop(c,t)
}
}
}
发表于 2014-4-3 10:56:29 | 显示全部楼层

UDF执行问题

按照你说的操作以后,又出现新的问题
"C:/Users/lenovo/Desktop/例子"

Opening library "libudf"...
Error: open_udf_library: 系统找不到指定的文件。

Error Object: ()
怎么破?
发表于 2014-4-3 11:02:57 | 显示全部楼层
'nmake' 不是内部或外部命令,也不是可运行的程序
就是环境变量错误
发表于 2014-4-3 11:03:23 | 显示全部楼层

回复 6# hp-ty 的帖子

最好不要出现中文
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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