这里我介绍一种比较简单的方法,首先我们从ANSYS Fluent UDF Manual上随便找一段正确的UDF,下面这段UDF取自ANSYS 18的ANSYS Fluent UDF Manual,位于2.3.23.3. Example 1 - Pressure Profile
/ ***********************************************************************
UDF for specifying steady-state parabolic pressure profile boundary
profile for a turbine vane
************************************************************************/
#include "udf.h"
DEFINE_PROFILE(pressure_profile,t,i)
{
real x[ND_ND]; / * this will hold the position vector */
real y;
face_t f;
begin_f_loop(f,t)
{
F_CENTROID(x,f,t);
y = x[1];
F_PROFILE(f,t,i) = 1.1e5 - y*y/(.0745*.0745)*0.1e5;
}
end_f_loop(f,t)
}
我们将上面的UDF源代码存为prepare.c
我们启动Fluent
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
然后我们直接编译我们刚才保存的prepare.c
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
我们打开Visual Studio(我是Visual Studio 2013英文版)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
DLL的代码很简单,就是输出Hello Fluent,这里有一点需要注意一下Solution PlatForms一定要根据Fluent的位数来选择,默认是编译为Win32,而我们现在的一般使用的是64位的Fluent,所以我们需要改变为x64才行(见截图)
#include / *包含输入输出流头文件*/
using namespace std;
/ *一定要这样写,以c语言的形式导出,在Fluent当中才能识别*/
extern "C" __declspec(dllexport) void CppDynamicLinkLibrary()
{
cout << "Hello Fluent" << endl; / *输出“Hello Fluent”*/
}
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
![fluent加载第三方(C++,Fortan等)动态链接库 fluent加载第三方(C++,Fortan等)动态链接库](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
然后准备真实需要编译且加载了加载第三方动态链接库的UDF源文件,代码如下:
#include "udf.h"