64位 ANSYS FLUENT 编译UDF方法

64位 ANSYS FLUENT 编译UDF方法
64位 ANSYS FLUENT 编译UDF方法

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

Tracepro入门与进阶1-40

Tracepro 入门与进阶
CYQ DESIGN STUDIO
1

Tracepro 入门与进阶
CYQ DESIGN STUDIO
内 容 简 介
本书以美国 Lambda Research Corporation 的最新 3.24 版本为蓝本进行编写, 内容涵盖了 tracepro3.24 光学仿真设计的概念、tracepro 软件的配置和用户定制、光 学元件模型的创建、描光、分析等内容。 本书章节的安排次序采用由浅入深,前后呼应的教学原则,在内容安排上,为方 便读者更快、更深入地理解 tracepro 软件中的一些相关概念、命令和功能,并对运用 该软件进行光学仿真设计的过程有一个全局的了解,本书中介绍了单片 LCD 投影机 的仿真设计全过程,同时在本书的最后一章详细介绍了背光源等光学仿真设计过程, 增强了本书的可读性和实用性,摆脱单个概念、命令、功能的枯燥讲解和介绍。 本书可作为光学专业人员的自学教程和参考书籍, 也可作为大专院校光学、 光电专业 的学生学习 tracepro 的使用教材。
2

Tracepro 入门与进阶
CYQ DESIGN STUDIO


Tracepro 是一套可以做照明光学系统分析、传统光学分析,辐射度以及光度分析 的软件, 它也是第一套由符合工业标准的 ACIS 立体模型绘图软件发展出来的光机软 件。 功能强大的 Tracepro 减轻了光学设计人员的劳动强度,节约了大量的人力资源, 缩短了设计周期,还可以开发出更多质量更高的光学产品。但目前 Tracepro 学习教 程甚少, 不少初学者苦于无参考学习资料而举步为艰。 本人根据从事光学设计的经验 与运用 Tracepro 的体会,汇集成书,目的是使 Tracepro 的初学人员能快速入门,快 速见效,使已入门者能进一步提高 Tracepro 的应用水平和操作能力,从而在工作中 发挥更大的效益,为中国的光学事业作出贡献! 本书乃仓促而成,虽然几经校对,但错误之处在所难免,恳请广大读者朋友予以 指正,不甚感谢! 电子邮箱: cyqdesign@https://www.360docs.net/doc/1816071191.html,
陈涌泉 2004 年 12 月 4 日
3

Fluent_UDF_第七章_UDF的编译与链接

第七章 UDF的编译与链接 编写好UDF件(详见第三章)后,接下来则准备编译(或链接)它。在7.2或7.3节中指导将用户编写好的UDF如何解释、编译成为共享目标库的UDF。 _ 第 7.1 节: 介绍 _ 第 7.2 节: 解释 UDF _ 第 7.3 节: 编译 UDF 7.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升级、操作系统改变了或者运行在不同的类型的计算机,必须重新编译这些库。

LED(Tracepro官方LED建模光学仿真设计教程)

Requirements Models: None Properties: None Editions: TracePro LC, Standard and Expert Introduction In this example you will build a source model for a Siemens LWT676 surface mount LED based on the manufacturer’s data sheet. The dimensions will be used to build a solid model and the source output will be defined to match the LED photometric curve. Copyright ? 2013 Lambda Research Corporation.

Create a Thin Sheet First analyze the package to determine the best method of constructing the geometry in TracePro. The symmetry of the package suggests starting from a Thin Sheet and extruding the top and bottom halves with a small draft angle. Construct Thin Sheet in the XY plane. 1. Start TracePro 2. Select View|Profiles|XY or click the View XY button on the toolbar, and switch to silhouette mode, View|Silhouette. 3. Select Insert|Primitive Solid and select the Thin Sheet tab. 4. Enter the four corners of the Thin Sheet in mm in the dialog box, as shown below, and click Insert. 5. Click the Zoom All button or select View|Zoom|All to see the new object.

UDF 编译疑难问题

UDF 编译疑难问题 作者华南理工大学何奎2016 5月 随着用户求解的问题越来越复杂,使用fluent 软件难免使用编译型的UDF,编译型需要用户安装微软visual stadio C++ 开发软件,并做正确的环境变量配置。否则则会出现如nmake 不是内部命令的错误。除了编译环境的正确设置,还有一些细节上的疑难问题一并给出解决方法。目前这些问题都是网上搜索不到的,希望有缘人能在百度文库里找到这篇文献。 关于环境变量的设置,网络上已经有大量的实例,现介绍一种简单的环境变量配置方法: 在fluent 的安装目录下找到udf.bat, 修改以下内容: set MSVC_DEFAULT=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0 if exist "%MSVC_DEFAULT%\VC\vcvarsall.bat" set MSVC=%MSVC_DEFAULT% if not "%MSVC%" == "" goto msvc_env110 这个文件中还有其他类似的语句,但是都是重复查找不同的编译环境。通过查找vcvarsall.bat,fluent才知道编译器位置。如果不是就要靠运行msvc_env110,那就要手动设置环境变量了。注意你安装了VS2015以后,在program(x86)中有Microsoft Visual Studio 14.0,Microsoft Visual Studio 12.0,Microsoft Visual Studio 11.0,其中只有一个是有效的,这个要仔细确认(一般只有一个文件夹是完整的安装,估计这样做是为了向下兼容性)。 修改完了这个路径以后就OK了。 环境变量配置完全以后,还会出现一些别的问题。如编译UDF时会利用math.h, 注意编译这个文件有可能会出现很多问题。如下: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\math.h(483): error C2059: 语法错误:“常量”C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\math.h(483): error C2143: 语法错误: 缺少“)”(在“/”的前面) C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\math.h(483): error C2143: 语法错误: 缺少“{”(在“/”的前面) C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\math.h(483): error C2059: 语法错误:“/” C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\math.h(483): error C2059: 语法错误:“)” 如果光按fluent提示的查找错误,是不可能完成错误查找的,打开math.h因为你会看见483行是这样 _Check_return_ _ACRTIMP double __cdeclcbrt(_In_ double _X);(求立方根函数) 这个语句本身是没有什么问题的。如果想修改这条语句完成math.h的编译,那就走入了死胡同。那 么换个版本的math.h呢? 于是换了个瑞典公司开发的版本Copyright 2003-2010 IAR Systems AB(瑞典著名软件开发商). 结果编译出现: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\math.h(19): fatal error C1083: 无法打开包括文件: “ycheck.h”: No such file or directory 如果你查找ycheck.h,想加入这个头文件来解决这个问题的话,你会发现在中文资料库里根本就查不到 这样的头文件。这可能是该公司内部开发的一个头文件。所以这条路又行不通。那么如果将这条预处理程 序忽略掉呢?结果就会出现以下的编译错误: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\math.h(99): error C2061: 语法错误: 标识符“__ATTRIBUTES” C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\math.h(99): error C2059:

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.exe 2.右键“我的电脑”—属性—高级—环境变量,添加用户变量,以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.lib Path=D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64;D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;

64位 ANSYS FLUENT 编译UDF方法

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

udf编译的经验总结

转帖 udf编译的经验总结 关于:"nmake"不是内部命令或外部命令,也不是可运行程序 我在编译UDF时出现如下错误: Error: Floating point error: divide by zero Error Object: () > "nmake"不是内部命令或外部命令,也不是可运行程序 Error Object: () Error: open_udf_library:系统找不到指定目录 Error: Floating point error: divide by zero Error Object: () 我原来装的时turbo c/c++编译器,可能时环境变量没有设好的缘故。换用vc++6.0以后就没有这个问题了,另外,我用的是fluent6.2.16,希望遇到同样问题的同学借鉴一下,呵 呵。 udf编译的经验总结1)安装vc时候,只要选择了“环境变量”这一项,就不需要在“我 的电脑 > 属性 > 高级 > 环境变量”中 更改“include”“lib”“path”变量的值,保持默认状态即可; 2)如果是fluent6.1以上的版本,读入你的case文件,只要在 define->user-defined->functions->complied中, add你的udf源文件(*.c)和“udf.h”头文件,然后确定用户共享库(library name)的 名称,按“build”,就 相当于nmake用户共享库;在这一步中常出现的错误: (a)(system "move user_nt.udf libudf\ntx86\2d")0 (system "copy C:\Fluent.Inc\fluent6.1.22\src\makefile_nt.udf libudf\ntx86\2d\makefile")已复制 1 个文件。 (chdir "libudf")() (chdir "ntx86\2d")() 'nmake' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 'nmake' 不是内部或外部命令,也不是可运行的程序

fluent udf学习总结

fluent udf 阶段性小结 ——Flying_U 因工作需要,最近开始学习fluent二次开发功能。现在,根据工作日志将这一段时间主要的学习过程和总结的经验整理如下。 学习计划:从4月5号开始,计划花上一个月的时间了解和学习fluent udf的基本知识。目标是能够运用udf初步实现物理模型简化、掌握udf的基本用法并能根据工作需要实现相关udf功能。 4.5-4.6:浏览网站尽可能更多了解udf的知识,结合自己的实际情况分析那些知识是自己需要进一步深入学习的。 此阶段总结:1.udf是用户自定义函数的简称,其通过与fluent接口连接实现扩展fluent功能的作用。udf的主要功能有: ●定制边界条件、材料属性、表面和体积反应率、fluent输运方程的源项、用户自定义的 标量方程的源项、扩散函数等 ●调整每次迭代后的计算结果 ●初始化流场的解 ●在需要时进行udf的异步执行 ●强化后处理功能 ●强化现有的udf模型 ●传送返回值、修改fluent变量、操作外部文件案例和data文件 2. 自己现在想要实现的是udf功能是定制边界条件、定制fluent输运方程的源项、初始化流场的解和强化后处理功能;(刚开始自己也不太明确自己到底想用udf来做什么,对应上udf的主要功能是哪一部分,然后对自己不懂没理解的功能一一查询。) 3. 有相关资料的渠道有:百度知道,百度文库和doc88。其中,百度文库各种教程最多,百度知道能够快速定位回答具体的问题,doc88资料觉得更深入一些。(对搜集的资料进行及时的整理和归纳对自己学习有很大助力,很多资料都是不完全的或者自己当时没有完全理解的需要不同版本或者前后不同时间段对照着学习。) 4.6-4.9 根据自己的需求在udf帮组手册中查找实例并尝试按实例进行对照练习,初步了解udf相关知识,打通udf实现的过程(udf编写、编译和连接)。主要目的是了解udf的基本用法,初步了解udf宏命令。 此阶段总结:1.udf帮助手册里的实例对初学者特别有用,例子难度小,侧重流程和用法。 2. 解释型udf使用基本过程:将物理模型简化,确定udf实现的功能;编制c语言源代码;启动fluent并完成相关设置;加载并解释c语言代码;将udf与fluent相关联。初次尝试觉得难度很小,只是对c语言源程序的边界有点模糊,特别是在语言结构方面。 3. 进行编译型udf使用尝试,根据需要需先安装一个c编辑器,因手头有vs2012所以直接安装vs2012。安装vs2012的过程有点艰辛,因为自己电脑上装过其他的VS版本(未完全卸载),以及其他的一些开源c编辑器(一直在用),安装vs2012过程老是不成功(这里推荐使用vs2008,网上教程较多,出现相关的问题都能较容易地找到方法解决)。最后的解决办法是重装系统(各种尝试都未能解决安装问题后,可能与以前安装过的vs卸载不完全有关),并逐步尝试环境变量的设置。vs2012与fluent环境变量成功设置如下(win7 64位系统):

准直TIR透镜Tracepro实例

准直TIR透镜的TracePro模拟过程 说明:本例只讲解我用TP的模拟过程,不是TP的使用手册之类,讲解有误或不清楚的地方请见谅。本例不讲解透镜的设计方法,请不要追问如何设计透镜。 最后提一个要求:不喜勿喷。 作者:虫洞里的猫 准直TIR透镜,是指在原点的点光源经过透镜后光线能平行出射的透镜,但由于LED的发光面都是面光源,因此LED经过此透镜后不可能是平行光出射,但其出光角度会是最小值。 本实例以已设计好的准直TIR透镜为例,逐步演示TracePro的模拟过程。 1.插入3D文件 TracePro可以打开多种3D格式的文件,最方便的是直接插入零件,但此过程只能使用.SAT格式的文件,如下图的过程。

如果你的3D文件是其它格式,如STEP等,则可以用TracePro直接打开,具体过程为:文件-打开,在打开的对话框的下拉菜单中选择合适的格式。 2.设置光源 2.1 设置档案光源 2.1.1 方法一 设置光源可以有很多方式,但最直接也最准确的是使用光源文件,在TracePro中也称为档案光源,TracePro可用的档案光源主要有.DAT或.RAY格式的。此文件可以从LED厂家的官网上下载,本实例使用的LED为CREE公司的XLamp XP-E。如下图,XP-E Cool White Optical Source Model - TracePro (zip) (42 MB)是适合TracePro使用的光源文件,其网站地址为:https://www.360docs.net/doc/1816071191.html,/LED-Components-and-Modules/Products/XLamp/Discrete-Directional/XLa mp-XPE。

Fluent UDF 第三章 编写UDF

第 3 章 编写 UDF
第 3 章 编写 UDF
本章包含了 FLUENT 中如何写 UDFs 的概述。
3.1 概述 3.2 写解释式 UDFs 的限制 3.3 FLUENT 中 UDFs 求解过程的顺序 3.4 FLUENT 网格拓扑 3.5 FLUENT 数据类型 3.6 使用 DEFINE Macros 定义你的 UDF 3.7 在你的 UDF 源文件中包含 udf.h 文件 3.8 定义你的函数中的变量 3.9 函数体 3.10 UDF 任务 3.11 为多相流应用写 UDFs 3.12 在并行中使用你的 UDF 3.1 概述(Introduction) 在你开始编写将挂到 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)

tracepro实验报告范文

2020 tracepro实验报告范文Contract Template

tracepro实验报告范文 前言语料:温馨提醒,报告一般是指适用于下级向上级机关汇报工作,反映情况, 答复上级机关的询问。按性质的不同,报告可划分为:综合报告和专题报告;按行 文的直接目的不同,可将报告划分为:呈报性报告和呈转性报告。体会指的是接触 一件事、一篇文章、或者其他什么东西之后,对你接触的事物产生的一些内心的想 法和自己的理解 本文内容如下:【下载该文档后使用Word打开】 一.实验概况 实验时间: 实验地点:合肥工业大学仪器学院平房实验室 指导老师:郎贤礼 实验要求:1.熟练TracePro软件基本功能及实际操作方法; 2.掌握光学器件设计的原理及一般步骤; 3.会对设计好的光学器件进行数据图像分析; 4.能够自己设计简单的光学器件。 二.实验内容 (一)软件介绍TracePro是一套普遍用于照明系统、光学分析、辐射度分析及光度分析的光线模拟软体。它是第一套以ACISsolidmodelingkernel为基本的光学软体。第一套结合真实固体模型、强大光学分析功能、资料转换能力强及易上手的使用介面的模拟软件。

TracePro可利用在显示器产业上,它能模仿所有类型的显示系统,从背光系统,到前光、光管、光纤、显示面板和LCD投影系统。应用领域包括:照明、导光管、背光模组、薄膜光学、光机设计、投影系统、杂散光、雷射邦浦常建立的模型:照明系统、灯具及固定照明、汽车照明系统(前头灯、尾灯、内部及仪表照明)、望远镜、照相机系统、红外线成像系统、遥感系统、光谱仪、导光管、积光球、投影系统、背光板。TracePro作为下一代偏离光线分析软件,需要对光线进行有效和准确地分析。为了达到这些目标,TracePro具备以下这些功能:处理复杂几何的能力,以定义和跟踪数百万条光线;图形显示、可视化操作以及提供3D实体模型的数据库;导入和导出主流CAD软件和镜头设计软件的数据格式。通过软件设计和仿真功能,可以:得到灯具的出光角度:只需有灯具的3D模块便可通过软件仿真功能预判灯具出光角度,以此判断灯具是否达到设计目标。得到灯具出光光斑图和照度图:可以模拟灯具打在不同距离得到的光斑、照度图分布情况,以此判断灯具出光性能。灯具修改建议功能:如果通过软件判断初步设计灯具性能不符合要求,TracePro光线可视图可以看到形成配光图每段曲线是由罩那段曲线形成,以提供修改建议。准配光图和IES文件:可导出标准配光图和IES文件,用于照明工程设计。实际效益通过软件的仿真功能,可以一次次在软件中完成灯具结构不同状态下时的出光性能,而不需每次灯具修改都需开模或做手板后测试才知道,这就大大缩短了产品开发周期、节省开模成本费用、提高产品设计准确性。

UDF

1.1什么是UDF? UDF是一种可以被加载到fluent求解器中的函数,以提高源代码的功能。比如,你可以使用UDF定义你的边界条件,材料属性和流型源项,以及自定义模型参数,初始化一种算法或增强后处理进程。 UDF可以在任何文本里用C语言编写,然后源代码保存格式为“e.g., myudf.c”。一个源文件可以包含一个或多个UDF,或者你可以定义多个源文件。关于C语言编程的一些基本资料见附录A。 UDF是被fluent Inc提供的宏定义进行定义。它们使用附加的宏代码,使fluent具有数据访问和执行其他任务的功能。 每一个UDF必须在源代码文件的开头包含“#include "udf.h"”,使得宏定义和fluent的其他宏及功能可以在运行的过程中被包含。 含有UDF的源文件可以在fluent里进行解释或编译。对于解释型UDF,在一个单一的运算进程中,源文件被解释后在运行时直接加载。而对于编译型UDF,这个过程包含2个步骤。需要首先建立一个共享的对象代码库,然后将其加载到fluent中。一旦被解释或编译,UDF将会在fluent界面中可见并可选择,然后通过在相应的控制面板中选择函数名称被连接到求解器中。 1.2为什么使用UDF? UDF可以让你自定义fluent来满足你的特殊模型需要。UDF可以在多个应用中使用,下面列举的就是一些例子。 ●定义边界条件,材料属性,表面和体积反应速率,fluent输运方程的源项, UDS输运方程的源项,扩散系数函数等。 ●一次迭代的计算值的调整。 ●初始化一种算法。 ●UDF的异步执行。 ●在迭代结束后执行,退出fluent或者加载编译UDF库。 ●增强后处理。 ●增强现有的fluent模型。

tracepro实验报告范文

tracepro实验报告范文 一.实验概况 实验时间: 实验地点:合肥工业大学仪器学院平房实验室 指导老师:郎贤礼 实验要求:1.熟练TracePro软件基本功能及实际操作方法; 2.掌握光学器件设计的原理及一般步骤; 3.会对设计好的光学器件进行数据图像分析; 4.能够自己设计简单的光学器件。 二.实验内容 (一)软件介绍 TracePro是一套普遍用于照明系统、光学分析、辐射度分析及光度分析的光线模拟软体。它是第一套以ACIS solid modeling kernel为基本的光学软体。第一套结合真实固体模型、强大光学分析功能、资料转换能力强及易上手的使用介面的模拟软件。 TracePro可利用在显示器产业上,它能模仿所有类型的显示系统,从背光系统,到前光、光管、光纤、显示面板和LCD投影系统。应用领域包括:照明、导光管、背光模组、薄膜光学、光机设计、投影系统、杂散光、雷射邦浦常建立的模型:照明系统、灯具及固定照明、汽车照明系统(前头灯、尾灯、内部及仪表照明)、望远镜、照相机系统、红外线成像系统、遥感系统、光谱仪、导光管、积光球、投影系统、背光板。 TracePro作为下一代偏离光线分析软件,需要对光线进行有效和准确地分析。为了达到这些目标,TracePro具备以下这些功能:处理复杂几何的能力,以定义和跟踪数百万条光线;图形显示、可视化操作以及提供3D实体模型的数据库;导入和导出主流CAD软件和镜头设计软件的数据格式。通过软件设计和仿真功能,可以: 得到灯具的出光角度:只需有灯具的 3D模块便可通过软件仿真功能预判灯具出光角度,以此判断灯具是否达到设计目标。得到灯具出光光斑图和照度图:可以模拟灯具打在不同距离得到的光斑、照度图分布情况,以此判断灯具出光性能。灯

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

第七章UDF的编译与链接 编写好UDF件(详见第三章)后,接下来则准备编译(或链接)它。在7.2或7.3节中指导将用户编写好的UDF如何解释、编译成为共享目标库的UDF。 _ 第 7.1 节: 介绍 _ 第 7.2 节: 解释 UDF _ 第 7.3 节: 编译 UDF 7.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升级、操作系统改变了或者运行在不同的类型的计算机,必须重新编译这些库。 UDF必须用DEFINE宏进行定义,DEFINE宏的定义是在udf.h文件中。因此,在用户编译UDF之前,udf.h文件必须被放到一个可被找到的路径,或者放到当前的工作目录中。 udf.h文件放置在: path/Fluent.Inc/fluent6.+x/src/udf.h 其中path是Fluent软件的安装目录,即Fluent.Inc目录。X代表了你所安装的版本号。 通常情况下,用户不应该从安装默认目录中复制udf.h文件。编译器先在当前目录中寻找该文件,如果没找到,编译器会自动到/src目录下寻找。如果你升级了软件的版本,但是没有从你的工作目录中删除旧版本的udf.h文件,你则不能访问到该文件的最新版本。在任何情

在64位操作系统中编译UDF

Fluent:在64位操作系统中编译UDF 2011年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所示的对话框。

fluent-udf-经验

[转]菜鸟学UDF的感觉,希望对UDFers有用 光看书,感觉UDF不难。看例子,有些看个四五遍之后才能差不多看懂。原来,得靠UDF 帮助。我主要用的是fluent v6.3自带的html格式的帮助,里面东西很全,当然也包括UDF Manual。里面自带的search功能相当好,只是要注意用好+或-号(逻辑符号),另外,这个功能似乎有些浏览器支持不太好,不过基本上用IE不太容易出问题。 对于从零开始学习UDF,建议还是先看一下UDF中文帮助,我估计大家知道的都是马世虎翻译的那本吧,感觉挺好。(没想到马世虎跟我是校友,去年给安世亚太投过一份简历,他给我打过电话,当时一阵兴奋,呵呵。) 对于只涉及到边界条件或物性等的UDF,一般用interpret就可以的,这些我觉得只需要根据例子改一下就是了。 $$ 对于要添加UDS方程的,相对难一点。我编程用的是三到五个UDS,几十个UDM。一开始编程时,没有头绪,后来看别人编的,才慢慢发现了一些基本思路。比如,可以用枚举定义UDS或UDM,这样用起来方便。 enum{ NP, RHOH2O_Y_UP_X, RHOH2O_Y_UP_Y, RHOH2O_Y_UP_Z, N_REQUIRED_UDS };//枚举UDS变量名 对于UDM,则用N_REQUIRED_UDM代表个数。 然后在INIT与ADJUST函数中,检查变量个数时则比较方便,如: DEFINE_INIT(init_parameter,domain) { if (n_uds < N_REQUIRED_UDS) Error(”Not enough user defined scalars!(init)\n”); if (n_udm

tracepro仿真设计实例

三、实验步骤 下面以导光管为例: 1.运行Tracepro并用File|New打开一个新模型; 2.打开Insert|Primative Solid对话框,并选择Cylinder/Cone标签; 3.输入主半径为2,长度为30,并按下Insert按钮; 4.按下Zoom All缩放全部或者View|菜单以便看到新物件 5.用Edit|Select|Surface菜单选择棒的右端面right end;用鼠标“选取”棒的端面。 6.选择Edit|Surface|Revolve Surface Selection旋转填料选项; 7.输入角度90°与弯曲半径25; 8.将轴置于点(0,-25,30),并定义轴的指向为空间中的X轴方向; 9.按下旋转填料Revolve Surface按钮来进行弯曲;

10.通过Edit|Surface|Sweep打开表面拉伸填料选项Sweep Surface Selection对话框; 11.在拉伸长度Distance框中输入15,拉伸角度Draft angle为-2°,表面沿着设定长度被拉伸的同时,以2°的角度逐渐变细: 12.用Edit|Select|Object菜单选择导光管,并用鼠标点击导光管; 13.用Define|Apply Properties(设定材料),打开Apply Properties应用特性对话框: 14.选择Plastic目录Catalog,选择名称Acrylic并按下Apply按钮;

15.选择菜单Insert|Lens Element,透镜参数为Surface1 Radius : 25,Thickness 3.5mm,Material BK7,Position (0, 0, -40)在导光管前安置一汇聚透镜,以达到较好的光 路耦合性能。 16.设定光源,菜单选择,Analysis|Grid Raytrace,网格光线沿圆周排列 Annular,半径 Outer Radius 10mm,网格光线圆周数量 Rings : 10, 光线的起点位置 (0, 0, -48).

udf-使用经验总结

我接触UDF的时间不算长,2007年7月份开始看UDF的中文帮助,花了一周时间大体看完后,第一感觉:不难啊,至少不像以前别人给我讲的很高深的样子。然后就是UDF编程,直到10月底吧。然后用的时间就不多了。然后就是这两周,我马上就要研究生毕业了,可能这周结束后用UDF编程的可能性会很小了,所以想写点东西,给刚刚学UDF编程的人,希望对大家有用。对于UDF高手,估计是不用向下看了。 UDF框架 光看书,感觉UDF不难。看例子,有些看个四五遍之后才能差不多看懂。原来,得靠UDF帮助。我主要用的是fluent v6.3自带的html格式的帮助,里面东西很全,当然也包括UDF Manual。里面自带的search功能相当好,只是要注意用好+或-号(逻辑符号),另外,这个功能似乎有些浏览器支持不太好,不过基本上用IE不太容易出问题。 对于从零开始学习UDF,建议还是先看一下UDF中文帮助,我估计大家知道的都是马世虎翻译的那本吧,感觉挺好。(没想到马世虎跟我是校友,去年给安世亚太投过一份简历,他给我打过电话,当时一阵兴奋,呵呵。) 1. 对于只涉及到边界条件或物性等的UDF,一般用interpret就可以的,这些我觉得只需要根据例子改一下就是了。 $$ 对于要添加UDS方程的,相对难一点。我编程用的是三到五个UDS,几十个UDM。一开始编程时,没有头绪,后来看别人编的,才慢慢发现了一些基本思路。比如,可以用枚举定义UDS或UDM,这样用起来方便。 enum{ NP, RHOH2O_Y_UP_X, RHOH2O_Y_UP_Y, RHOH2O_Y_UP_Z, N_REQUIRED_UDS };//枚举UDS变量名 对于UDM,则用N_REQUIRED_UDM代表个数。 2. 然后在INIT与ADJUST函数中,检查变量个数时则比较方便,如: DEFINE_INIT(init_parameter,domain) { if (n_uds

相关文档
最新文档