64位 ANSYS FLUENT 编译UDF方法

合集下载

Fluent无法编译UDF文件的常见解决方法

Fluent无法编译UDF文件的常见解决方法

解决Fluent无法编译UDF文件的问题方法1对于Fluent加载UDF时出现"The UDF library you are trying to load(libudf)is not complied for parallel use on the current platform (win64)"错误,主要是没有正确设置本机VS安装路径,导致udf编译器无法成功编译c代码。

解决方法:1. 找到Fluent内的UDF.bat编译器。

这里以我自己2019R2的64位学生版为例,在D:\Program Files\ANSYS Inc\ANSYS Student\v194\fluent\ntbin\win64下找到udf.bat用记事本打开2. 将本机Visual Studio的安装路径写入。

这里以我自己VS2015为例,将本机visual studio 2015的安装路径赋值给MSVC_DEFAULT,由于VS2015的版本代号是14.0,因此将"%ProgramFiles(x86)%\Microsoft Visual Studio 14.0"替换为"D:\Program Files (x86)\Microsoft Visual Studio 14.0",保存文件即可,如图1~2所示更改前更改后方法2对于某些低版本的VS,以上操作可能不足以解决问题,需要手动配置环境变量,具体方法如下:1.找到Fluent安装路径下的setenv.exe,双击运行选择是,路径X:\Program Files\ANSYS Inc\v130\fluent\ntbin\win64\setenv.exe2.右键“我的电脑”—属性—高级—环境变量,添加用户变量,以VS2013为例INCLUDE=D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;LIB=D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\kernel32.libPath=D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64;D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;。

Fluent无法编译UDF文件的常见解决方法

Fluent无法编译UDF文件的常见解决方法

解决Fluent无法编译UDF文件的问题方法1对于Fluent加载UDF时出现"The UDF library you are trying to load(libudf)is not complied for parallel use on the current platform (win64)"错误,主要是没有正确设置本机VS安装路径,导致udf编译器无法成功编译c代码。

解决方法:1. 找到Fluent内的UDF.bat编译器。

这里以我自己2019R2的64位学生版为例,在D:\Program Files\ANSYS Inc\ANSYS Student\v194\fluent\ntbin\win64下找到udf.bat用记事本打开2. 将本机Visual Studio的安装路径写入。

这里以我自己VS2015为例,将本机visual studio 2015的安装路径赋值给MSVC_DEFAULT,由于VS2015的版本代号是14.0,因此将"%ProgramFiles(x86)%\Microsoft Visual Studio 14.0"替换为"D:\Program Files (x86)\Microsoft Visual Studio 14.0",保存文件即可,如图1~2所示更改前更改后方法2对于某些低版本的VS,以上操作可能不足以解决问题,需要手动配置环境变量,具体方法如下:1.找到Fluent安装路径下的setenv.exe,双击运行选择是,路径X:\Program Files\ANSYS Inc\v130\fluent\ntbin\win64\setenv.exe2.右键“我的电脑”—属性—高级—环境变量,添加用户变量,以VS2013为例INCLUDE=D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;LIB=D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\kernel32.libPath=D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64;D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;。

fluent之UDF文件的操作

fluent之UDF文件的操作

fluent之UDF⽂件的操作
下⽂转⾃沙场醉客之博客:
可⽤txt⽂件进⾏UDF编程,之后将⽂件改为.c⽂件。

(也可⽤VC编程,保存为.c⽂件)
将程序导⼊到Fluent中利⽤编译功能,具体操作
在 fluent中的Define -> Use-Defined -> Compiled 打开之后,选择source files下⾯的Add...,找到编写好的.c⽂件打开,点击Build,就会⽣成⼀个以liberary name命名的⽂件夹,编译好的资料就放在这个⽂件夹⾥⾯,最后点击load就会将编译好的内容导⼊到Fluent中,这样你在有UDF选项的下拉菜单中就会看到你编好的程序名称。

利⽤UDF编程和C语⾔编程很相似,所以最好知道⼀些C语⾔编程的基础,再掌握⼀些Fluent的UDF固有的⼀些命令,基本上⼀些简单的程序就都没问题了。

Fluent用户自定义函数 UDF VC++环境变量配置详细步骤

Fluent用户自定义函数 UDF VC++环境变量配置详细步骤

Fluent用户自定义函数(UDF)VC++环境变量配置详细步骤(一)操作环境:
操作系统版本:WIN7旗舰版Service Pack 1
系统类型:64位操作系统
Fluent版本:6.3.26
VC++版本:6.0
(二)操作步骤:
(1)正确安装Fluent6.3.26和VC++6.0。

(2)鼠标右键单击“计算机”,选择“属性”选项,打开“系统”窗口,点击窗口左侧“高级系统设置”,打开“系统属性”设置面板。

(3)在“系统属性”设置面板中,点击“环境变量”按钮,打开“环境变量”设置面板。

打开“新建用户变量”对话框,开始创建环境变量。

(5)在本案例中要设置三个用户变量,分别是include、lib和path变量。

首先在“变量名”中输入“include”作为变量名,然后打开VC++6.0的安装目录,单击地址栏,使之进入可编辑状态,将路径复制到“变量值”中,单击“确定”,include变量就设置好了。

按照同样的方法设置lib变量和path变量,设置好的变量如下图所示:
未进行环境变量配置前,Fluent控制台可能显示的信息如下:
环境变量配置成功后Fluent控制台显示信息如下:。

2024版ansysfluent官方培训教程07udf

2024版ansysfluent官方培训教程07udf

选择合适的编程工 具
可以使用任何支持C语言的编程 工具来编写UDF程序,如 Microsoft Visual Studio、 Code:Blocks等。根据实际需求 选择合适的编程工具进行安装和 配置。
03
编写简单的UDF程 序
在了解基本语法和编程规范后, 可以尝试编写一个简单的UDF程 序,如计算流场中某点的速度大 小。在编写过程中,需要注意代 码的规范性和可读性。
2024/1/26
3
UDF定义及作用
01
UDF(User-Defined Function) 是用户自定义函数,允许用户在 ANSYS Fluent中编写自己的代 码来解决特定问题。
02
UDF可以用于定义边界条件、物 性参数、源项、控制方程等,扩 展了ANSYS Fluent的功能和灵 活性。
03
switch-case等,用于实现条 件判断。
循环结构包括for循环、while 循环和do-while循环,用于实 现重复执行某段代码的功能。
2024/1/26
在使用控制语句和循环结构时, 需要注意语法格式和正确使用 大括号({})来定义代码块。
13
UDF常用函数库介绍
数学函数库包含了常见的数学运算函数,如sin、 cos、sqrt等。
2024/1/26
不收敛问题
调整求解器设置、改进网格质量或调整边界条件,以提高求解收敛性。
21
性能优化建议
优化算法
选择更高效的算法和数据结构,减少计算量 和内存占用。
并行计算
利用ANSYS Fluent的并行功能,加速UDF 的计算过程。
2024/1/26
减少I/O操作
减少不必要的文件读写操作,以提高程序运 行效率。

Fluent用户自定义函数(UDF)VC++环境变量配置详细步骤

Fluent用户自定义函数(UDF)VC++环境变量配置详细步骤

Fluent用户自定义函数(UDF)VC++环境变量配置详细步骤(一)操作环境:
操作系统版本:WIN7旗舰版Service Pack 1
系统类型:64位操作系统
Fluent版本:6.3.26
VC++版本:6.0
(二)操作步骤:
(1)正确安装Fluent6.3.26和VC++6.0。

(2)鼠标右键单击“计算机”,选择“属性”选项,打开“系统”窗口,点击窗口左侧“高级系统设置”,打开“系统属性”设置面板。

(3)在“系统属性”设置面板中,点击“环境变量”按钮,打开“环境变量”设置面板。

打开“新建用户变量”对话框,开始创建环境变量。

(5)在本案例中要设置三个用户变量,分别是include、lib和path变量。

首先在“变量名”中输入“include”作为变量名,然后打开VC++6.0的安装目录,单击地址栏,使之进入可编辑状态,将路径复制到“变量值”中,单击“确定”,include变量就设置好了。

按照同样的方法设置lib变量和path变量,设置好的变量如下图所示:
未进行环境变量配置前,Fluent控制台可能显示的信息如下:
环境变量配置成功后Fluent控制台显示信息如下:。

fluent udf 编译教程

fluent udf 编译教程

在使用Fluent软件进行模拟计算时,经常会遇到需要自定义用户子程序(User Defined Function,简称UDF)的情况。

UDF是Fluent中用户自己编写的函数,用于描述流场中的边界条件、源项等物理过程。

为了正确地使用UDF并进行模拟计算,我们需要了解如何编写和编译UDF。

本教程将向大家介绍如何使用ANSYS Fluent进行UDF的编译,并提供一些常见问题的解决方法。

一、准备工作在进行UDF编译之前,我们需要进行一些准备工作。

1. 确保已安装ANSYS Fluent软件,并且能够正常运行;2. 确保已安装C/C++编译器,常见的编译器有Microsoft Visual Studio、GCC等;3. 编写好UDF的源代码文件,可以使用任何文本编辑器编写,但建议使用支持C/C++语法高亮的编辑器,以便于排查语法错误。

二、设置Fluent编译环境在进行UDF编译之前,我们需要设置Fluent的编译环境,以确保编译器可以正确地识别Fluent的API。

1. 打开命令行终端(Windows系统为cmd,Linux/Unix系统为Terminal);2. 运行以下命令设置Fluent的编译环境:对于Windows系统:```bashcd C:\Program Files\ANSYS Inc\v200\fluentfluent 3d -i```对于Linux/Unix系统:```bashcd /usr/ansys_inc/v200/fluent./fluent 3d -t xxx -g -i```其中,xxx是你的图形界面类型,可以根据你实际的图形界面类型进行替换,一般为Gl 或 X11。

运行上述命令后,Fluent将会启动,并且设置了编译环境。

在Fluent 的命令行界面中,我们可以进行UDF的编译和加载。

三、编译UDF在设置了Fluent的编译环境后,我们可以开始编译UDF了。

1. 将编写好的UDF源代码文件(后缀名通常为.c或.cpp)放置在Fluent的工作目录中;2. 在Fluent的命令行界面中,输入以下命令进行编译:```bash/define/user-definedpiled-functions load my_udf-name/define/user-definedpiled-functionspile my_udf-name/define/user-definedpiled-functions write my_udf-name/exit```其中,my_udf-name是你的UDF源代码文件的文件名(不包括后缀名),例如my_udf。

完美解决win7_64bit系统环境中用ANSYS12.fluent+vs2010编译UDF

完美解决win7_64bit系统环境中用ANSYS12.fluent+vs2010编译UDF

完美解决win7 64bit系统环境中用ANSYS12.fluent+vs2010编译UDF很兴奋,刚刚成功设置了环境变量。

让我在FLUENT中可以直接调用VS2010编译UDF程序。

(By AYA)以前用的win7系统是32位的,最近买了根4G的内存换了上去,刚开始很兴奋,期盼我的TOSHIBA可以奔到快一点。

把内存插好以后很惊讶的发现,系统只能控制2.74G,心里拔凉的。

心里不甘啊,一狠心决定把系统换成64bit的。

换系统是个苦力活,要耗时间耗体力去装很多软件。

ANSYS12.0、vs2010这两个软件都有五六G,装了三个多小时才搞定。

按照以前32位系统的方法设置环境变量:1. 变量名:path 变量值:C:\Program Files\Microsoft Visual Studio 10.0\VC\bin;C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE;2.变量名:include 变量值:C:\Program Files\Microsoft Visual Studio 10.0\VC\include;3.变量名:lib 变量值:C:\Program Files\Microsoft Visual Studio 10.0\VC\lib;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib;设置好以后,在FLUENT中编译,总是出现标志符错误。

没办法,只好网上搜罗别人的宝贵经验。

其中最靠谱的一个就是,用vs2010自带的工具里的win64命令提示。

从这个命令提示中找到fluent,然后启动它。

本人实验了一下,确实奏效,成功编译。

因为平时经常修改UDF,这种启动方法对我来说太耗体力。

于是决定自己想办法解决它。

既然通过命令提示启动fluent并成功,说明vs2010和fluent能够协作起来,肯定通过合理的设置能够解决这个难题。

Fluent UDF 中文教程UDF第7章 编译与链接

Fluent UDF 中文教程UDF第7章 编译与链接

第七章UDF的编译与链接编写好UDF件(详见第三章)后,接下来则准备编译(或链接)它。

在7.2或7.3节中指导将用户编写好的UDF如何解释、编译成为共享目标库的UDF。

_ 第 7.1 节: 介绍_ 第 7.2 节: 解释 UDF_ 第 7.3 节: 编译 UDF7.1 介绍解释的UDF和编译的UDF其源码产生途径及编译过程产生的结果代码是不同的。

编译后的UDF由C语言系统的编译器编译成本地目标码。

这一过程须在FLUENT运行前完成。

在FLUENT运行时会执行存放于共享库里的目标码,这一过程称为“动态装载”。

另一方面,解释的UDF被编译成与体系结构无关的中间代码或伪码。

这一代码调用时是在内部模拟器或解释器上运行。

与体系结构无关的代码牺牲了程序性能,但其UDF可易于共享在不同的结构体系之间,即操作系统和FLUENT版本中。

如果执行速度是所关心的,UDF文件可以不用修改直接在编译模式里运行。

为了区别这种不同,在FLUENT中解释UDF和编译UDF的控制面板其形式是不同的。

解释UDF的控制面板里有个“Compile按钮”,当点击“Compile按钮”时会实时编译源码。

编译UDF的控制面板里有个“Open 按钮”,当点击“Open按钮”时会“打开”或连接目标代码库运行FLUENT(此时在运行FLUENT之前需要编译好目标码)。

当FLUENT程序运行中链接一个已编译好的UDF库时,和该共享库相关的东西都被存放到case文件中。

因此,只要读取case文件,这个库会自动地链接到FLUENT处理过程。

同样地,一个已经经过解释的UDF文件在运行时刻被编译,用户自定义的C函数的名称与内容将会被存放到用户的case文件中。

只要读取这个case文件,这些函数会被自动编译。

注:已编译的UDF所用到的目标代码库必须适用于当前所使用的计算机体系结构、操作系统以及FLUENT软件的可执行版本。

一旦用户的FLUENT升级、操作系统改变了或者运行在不同的类型的计算机,必须重新编译这些库。

在64位操作系统中编译UDF

在64位操作系统中编译UDF

Fluent:在64位操作系统中编译UDF2011年09月04日星期日 19:01编译环境microsoft visual studio2010,fluent版本13.0,操作系统为windows 7 64bit。

测试代码采用UDF手册P394中关于边界条件的实例。

1、解释型经测试,无需任何配置,甚至不需安装vs2010,也能顺利编译成功。

2、编译型(1)按照32位系统中相同的编译方式。

出现如图2所示的错误提示,这通常是编译器未正确配置的原因。

图2 错误提示提示找不到 nmake文件,我们需要将其路径放入环境变量的path中,以便于系统搜索。

32位系统中解决办法:搜索nmake文件,将其所在路径添加至环境变量的path 中。

如图3所示,找到了两个nmake文件,我们将其路径全都加入到path中。

图3 两个nmake,其实我们只需要将第一个添加即可,但是为防万一,我们将两个路径全都加入到环境变量中然而在64位系统中问题依旧,如图4所示。

编译时找寻不到nmake文件。

原因在于我们采用的是64位系统。

因此还需另寻它法。

图4 依旧的问题,可能是操作系统导致的,因为我们在cmd中可以找到nmake(2)解决方案打开开始菜单中的visual studio 2010,我们可以看到如图5所示的菜单。

找到如图所示的x64 win64命令提示,点击运行它。

图5 visual studio2010的菜单我们需要找到fluent的真正路径,即fluent.exe所在的路径。

可以找到fluent 的快捷方式,点击右键选择属性,可以看到图6所示的对话框。

图6 记下框中fluent.exe的路径,后面的参数不需要好了,下面进入正题。

我们从命令行中启动fluent,记住命令行是从图5中红框中启动的。

如图7所示。

注意引号一定不能去掉,否则会提示找不到路径。

图7 启动fluent剩下的工作就没什么好说的了,与32位系统完全一致。

编译后出现提示如图8所示。

配置UDF编译环境变量

配置UDF编译环境变量

配置UDF编译环境FLUENT UDF中关于动网格的DEFINE宏均要求为编译型。

FLUENT的UDF 运行环境有两种:解释型与编译型。

虽然两种方式都是采用编译,但是编译方式及编译后获得的结果是不同的。

编译型UDF需要通过Complied进行编译,编译后得到相应的dll文件。

而解释型UDF则是通过Interprete进行加载,不会生成dll文件。

据我的直觉,编译型UDF可能利用了钩子函数的技术。

一、编译型UDF与解释型UDF的差异(翻译自UDF手册)1、解释型UDF一个精简的平台都能被作为编译型UDF使用不需要C编译器(利用FLUENT自身的编译器)比编译型UDF反应慢在方法方面受到较多的限制无法被链接到编译系统或其它库只能使用预定义宏访问存储于ansys fluent中的数据2、编译型UDF比解释型UDF反应迅速没有诸多C语法限制能够使用其它语言编写的函数当具有一些解释型UDF不能处理的功能时,无法作为解释型UDF使用3、选取原则对于小型的、简单的功能,使用解释型UDF复杂功能使用编译型UDF。

(如具有较大的CPU开销、需要访问公共库)二、配置UDF编译环境对于编译型UDF,在fluent中加载时,需要调用C编译器将其编译成DLL 文件。

这里的C编译器虽说理论上是没有任何限制的,但是在windows环境下还是推荐使用microsoft visual c++,在linux环境下推荐使用GCC。

我们这里只说windows环境下编译环境的配置问题。

visual c++最高版本是6.0,再往后就是microsoft visual studio7.0、8.0、9.0、10.0。

其中7.0对应microsoft visual studio2003,8.0对应2005,9.0对应2008,10.0对应2010。

在一些老版的fluent中,通常需要配置环境变量。

配置环境变量的方法,网络上很多,可以搜索。

这里讲的是通过修改udf.bat文件来配置编译环境。

fluent udf编译出错解决办法

fluent udf编译出错解决办法

高中英语课堂教学的几点反思高中英语课堂教学是培养学生英语综合应用能力和语言素养的重要环节,也是实现教育目标、提高教学质量的关键。

在长期的教学实践中,我发现存在着一些问题,需要进行反思和改进。

本文将就高中英语课堂教学的几个方面进行反思,并提出相应的改进措施。

教学目标设置不明确。

高中英语教学的一个重要目标是培养学生的英语语言运用能力。

在实际教学中,有时我们只注重单纯的知识传授,而忽视了学生的语言实践能力的培养。

我认为在教学中应注重培养学生的英语听说读写能力,并在教学目标中明确体现出来。

还应设置一些综合性的任务,如口头报告、写作等,以提高学生的语言运用能力。

教学内容过于单一。

传统的英语课堂教学通常只侧重于课本内容的讲解和学习,而忽视了其他有效的教学资源。

教师应在教学中注重多元化的教学内容。

如运用多媒体教学资源,引入一些真实的文化材料,以扩大学生的知识面和视野,并激发学生学习英语的兴趣。

还可以组织一些英语角、课外读书和英语演讲等活动,使学生能更好地运用所学知识。

教学方法不够灵活多样。

传统的教学方法主要以教师为中心,注重知识的传授,而忽视了学生的主动性和参与性。

现代教育理念认为学生应是学习的主体,教师应起到引导和促进的作用。

在教学中,我应采用一些灵活多样的教学方法,如情景教学法、合作学习法、项目学习法等,以激发学生的学习热情和积极性,并促进学生的自主学习和合作能力的培养。

评价方式过于单一。

传统的评价方式主要以考试为主,注重对学生的记忆和应试能力的测试,而忽视了对学生综合素质的评价。

现代教育理念认为评价应是多维度的,要注重对学生思维能力、语言实践能力和创新能力的评价。

我应采用多种评价方式,如日常观察、作业评价、口头表现评价和课堂互动评价等,以全面了解学生的学习情况,并给予针对性的指导和反馈。

高中英语课堂教学的改进离不开对教学目标的明确、教学内容的多样化、教学方法的灵活多样和评价方式的多维度。

只有不断反思和改进,才能让高中英语课堂教学更加有效和有意义。

fluent udf 编译与解释

fluent udf 编译与解释

主题:Fluent UDF编译与解释近年来,计算流体力学(CFD)领域得到了迅速的发展,并成为了工程学、地球科学、医学等领域中一个重要的研究工具。

在进行CFD仿真时,用户自定义函数(User Defined Function,UDF)作为一种重要的边界条件和源项模型,可以有效地增强FLUENT软件的功能。

但是,与普通的FLUENT软件中的命令不同,UDF需要用户自行编写程序,然后通过编译器将其转换成FLUENT软件可识别的格式。

对于大部分工程师和研究人员来说,编写、编译和解释UDF仍然是一个具有一定挑战性的任务。

本文将围绕Fluent UDF编译与解释展开,从编译器的选择、编译过程的原理、编译中可能遇到的问题以及UDF的解释与调试等方面,为读者详细介绍与分析Fluent UDF编译与解释相关的知识和技巧。

一、编译器的选择在进行Fluent UDF编译之前,用户需要选择适合的编译器。

FLUENT 软件支持多种编译器,包括Microsoft Visual Studio、gcc、Intel Compiler等。

用户可以根据自己的喜好和系统环境选择合适的编译器。

二、编译过程的原理Fluent UDF的编译过程是将用户编写的程序源文件经过编译器进行编译,生成动态信息库(.dll文件)或共享对象文件(.so文件),然后再将生成的库文件加载到FLUENT软件中。

编译器将源文件翻译成机器语言,使得FLUENT软件可以识别并运行用户自定义的函数。

三、编译中可能遇到的问题在编写UDF并进行编译的过程中,用户可能会遇到一些常见的问题,如编译器报错、信息错误、库文件加载失败等。

这些问题通常是由于用户编写的程序存在语法错误、逻辑错误或者编译器的设置问题所致。

在遇到这些问题时,用户需要逐一排查并修正,保证程序能够正确地编译通过。

四、 UDF的解释与调试编译通过的UDF需要在FLUENT软件中进行解释与调试,确保其能够正确地加载和运行。

fluent64位并行设置1(seriel

fluent64位并行设置1(seriel

fluent64位并⾏设置1(seriel fluent 的udf可编译)
第⼀次在⽀持64位机器上,安装有windows xp 64位机器上进⾏fluent64位并⾏设置,遇到了很多困难。

这是我以前在32机器上运⾏fluent没有遇到过的,由于64位机器上是双cpu双核双线程,计算速度⼤⼤提⾼,⾮常适⽤于我的动⽹格计算要求,所以才尝试在64位机器上进⾏fluent并⾏计算的。

没想到fluent64的安装和设置路上困难重重,现在把⼀些已经解决的问题和发现的问题写下来与⼤家共享,⼀起学习进步。

⾸先是64位vc的兼容问题:
vc64位安装的问题。

经过两天的调试终于在serial fluent上能进⾏udf编译了。

具体设置是安装⽀持64操作系统的vc,⽐如visio studio 2005,注意不是express版本的,我装的是正式版的。

在安装过程中,选择⾃定义安装,在安装选项vc++树⽬录点击开,勾选上64位编译器,然后正常安装。

安装完后,就可以运⾏udf编译了,进⼊*.c的⽬录,在命令⾏窗⼝,进⼊‘安装⽬录’\libudf\win64\3d下,输⼊nmake命令后,就再也不会提⽰“nmake不是内部命令也不是外部命令了,以及config.h中的{,:之类的出错提⽰了”。

搞了两天才弄好,于是开始整并⾏计算,进⼊fluent 并⾏版窗⼝后,⼀阵⼦划分⽹格分区后,⼜出现了新的问题?。

Fluent 64bit操作系统编译udf

Fluent 64bit操作系统编译udf

Fluent12.0在64位操作系统中编译UDF简单操作
操作系统为windows 7 64bit,fluent计算采用编译型udf,直接打开fluent可能会遇到“系统找不到指定的路径”“’nmake’不是内部或外部命令,也不是可运行的程序或批处理文件”等问题。

这里介绍一个简单地操作。

首先在开始菜单中找到编译器,此处为visual studio 2010 ,打开visual studio tools,可以看到visual studio X64 win64 命令提示(2010),将其发送到桌面快捷方式。

然后在开始菜单中找到Fluent,将其发送到桌面快捷方式。

然后运行visual studio X64 win64 命令提示(2010),将fluent的图标拖动到visual studio X64 win64 命令提示(2010)窗口中,回车打开fluent运行,此时发现udf可以build了。

Fluent UDF 第三章 编写UDF

Fluent UDF 第三章 编写UDF
Figure 3.3.2: Solution Procedure for the Coupled Solver
第 3 章 编写 UDF
3.4 FLUENT 网格拓扑
在我们开始讨论 FLUENT 特殊的数据类型之前,你必须理解网格拓扑学的术语
因为 FLUENT 数据类型是为这些实体定义的。下面是显示在 Figure 3.4.1 中的网
在你开始编写将挂到 FLUENT 代码以增强其标准特征的 UDF 之前,你必须 知道几个基本的要求。首先,UDFs 必须用 C 语言编写。它们必须使用 FLUENT 提供的 DEFINE macros 来定义。UDFs 必须含有包含于源代码开始指示的 udf.h 文件;它允许为 DEFINE macros 和包含在编译过程的其它 FLUENT 提供的函数 定义。UDFs 只使用预先确定的宏和函数从 FLUENT 求解器访问数据。通过 UDF 传递到求解器的任何值或从求解器返回到 UDF 的,都指定为国际(SI)单位。 总之,当写 UDF 时,你必须记住下面的 FLUENT 要求。 UDFs: 1. 采用 C 语言编写。 2. 必须为 udf.h 文件有一个包含声明。 3. 使用 Fluent.Inc 提供的 DEFINE macros 来定义。 4. 使用 Fluent.Inc 提供的预定义宏和函数来访问 FLUENT 求解器数据。 5. 必须使返回到 FLUENT 求解器的所有值指定为国际单位。 3.2 写解释式 UDFs 的限制(Restriction on Writing Interpreted UDFs)
第 3 章 编写 UDF
们定义在所有函数之外的全局变量(如果它们被源文件中大部分或所有函数共 享)是非常方便的。关于全局变量的信息见 Section 2.5.3。局部于函数的任何变 量必须在函数内声明。局部变量的信息见 Section 2.5.2。 3.9 函数体(Functin Body) 你的 UDF 源文件中的 C 函数体被包含在 DEFINE 声明之下的一对大括号内,显 示在下面的例子中。在这个例子中,mu_lan 和 temp 是局部变量。只有 cell_viscosity 函数认识它们。 例子 DEFINE_PROPERTY(cell_viscosity, cell, thread) {
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ANSYS FLUENT 12.x 13.x版下使用Visual Studio 2010编译UDF的设置方法
COMSOL出了点问题,只能重装系统搞定。

神马软件都要重装啊,今天装好ANSYS后,打开FLUENT界面时,灵感闪现,想出下面的方法设置UDF编译环境。

其实ANSYS版的FLUENT用UDF是不需要到系统环境变量里面设置path,include,lib的,如果您用的是Visual Studio 2010及后续版本,只需要按一定的规则设置udf.bat文件就行了。

从udf.bat文件结构看,VS版本在VS2010以前的都可以不用设置,即可使用。

实现方法,以Win7 X64位ANSYS X64位为例:
1.找到fluent安装目录下的udf.bat(C:\Program Files\ANSYS Inc\v121\fluent\ntbin\win64\udf.bat)
用文本编辑器修改udf.bat:
添加
echo trying to find MS C compiler, version 10.0....
set MSVC_DEFAULT=%ProgramFiles(x86)%\Microsoft Visual Studio 10.0
if exist "%MSVC_DEFAULT%\vC\vcvarsall.bat" set MSVC=%MSVC_DEFAULT%
if not "%MSVC%" == "" goto msvc_env100
set MSVC_DEFAULT=%ProgramFiles%\Microsoft Visual Studio 10.0
if exist "%MSVC_DEFAULT%\vC\vcvarsall.bat" set MSVC=%MSVC_DEFAULT%
if not "%MSVC%" == "" goto msvc_env100
:msvc_env100
set MSVC_VERSION=100
call "%MSVC%\VC\vcvarsall.bat" amd64
goto ms_c_end
注:如果Visual Studio安装到其他盘,(可能)需要修改路径,比如装到D盘Program Files下,便这样添加:
set MSVC_DEFAULT=d:\Program Files\Microsoft Visual Studio 10.0
if exist "%MSVC_DEFAULT%\vC\vcvarsall.bat" set MSVC=%MSVC_DEFAULT%
if not "%MSVC%" == "" goto msvc_env100
:msvc_env100
set MSVC_VERSION=100
call "%MSVC%\VC\vcvarsall.bat" amd64
goto ms_c_end
2. 保存该文件即可实现编译环境设置
3. 打开FLUENT,确认勾选UDF compiler下的setup compilation environment for UDF:
4. 编译成功
附:环境变量设置方法:
include中添加:
64位系统:
%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\include;%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\Include;
32位系统:
%ProgramFiles%\Microsoft Visual Studio 10.0\VC\include;%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Include;
path 中添加:
64位系统:
%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\lib;%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\lib
32位系统:
%ProgramFiles%\Microsoft Visual Studio 10.0\VC\lib;%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\lib
lib中添加:
64位系统:
%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\bin;%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\bin\amd64;%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE;%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\Tools;
32位系统:
%ProgramFiles%\Microsoft Visual Studio 10.0\VC\bin;%ProgramFiles%\Microsoft Visual Studio
10.0\VC\bin\amd64;%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE;%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\Tools;
天乐树
2011.10.20。

相关文档
最新文档