fluent加载第三方(C++,Fortan等)动态链接库

标签:
fluent二次开发动态链接库udfcfd |
分类: fluent |
这里我介绍一种比较简单的方法,首先我们从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)
{
}
我们将上面的UDF源代码存为prepare.c
我们启动Fluent

然后我们直接编译我们刚才保存的prepare.c






我们打开Visual Studio(我是Visual Studio 2013英文版)







DLL的代码很简单,就是输出Hello Fluent,这里有一点需要注意一下Solution PlatForms一定要根据Fluent的位数来选择,默认是编译为Win32,而我们现在的一般使用的是64位的Fluent,所以我们需要改变为x64才行(见截图)
#include / *包含输入输出流头文件*/
using namespace std;
/ *一定要这样写,以c语言的形式导出,在Fluent当中才能识别*/
extern "C" __declspec(dllexport) void CppDynamicLinkLibrary()
{
}



然后准备真实需要编译且加载了加载第三方动态链接库的UDF源文件,代码如下:
#include "udf.h"
/ *链接我们刚才动态链接库的函数*/
extern void CppDynamicLinkLibrary();
/ *******************************************
*我们在每次迭代完成以后,
*用动态链接库中的函数输出一次“Hello Fluent”
********************************************/
DEFINE_ADJUST(my_adjust,d)
{
}
将源代码也保存为prepare.c










然后前面动态链接库项目文件夹下








重新打开Fluent

导入网格,设置好各种求解参数
加载刚才编译的UDF(注意:此处只需要加载(Load),而不需要编译(Build)了!见截图)



求解运行算例
