中科大FLUENT讲稿 第七章 自定义函数(6)

2019-06-11 17:57

6.将makefile_nt.udf和user_nt.udf拷入版本信息目录(如2d)。对于并行版

本需要将这两个文件分别拷入host和node目录(如2d_node和2d_host)。两文件在FLUENT中的位置:

path/Fluent.Inc/fluent5.x/src/makefile_nt.udf

path/Fluent.Inc/fluent5.x/src/user_nt.udf

path为FLUENT安装目录。注意FLUENT版本更新升级后,需要把新版本的makefile_nt.udf和user_nt.udf拷入覆盖原来的文件,这和UNIX系统是不同的。

7.把文件makefile_nt.udf重新命名为makefile。

7.3.3.2 编译建立共享库

对于UNIX和Windows NT系统编译和建立共享库的方式是不同的,下面分别叙述:

UNIX系统

在建立相应的目录结构和拷入源文件之后,就可以编译生成共享库文件。 1.编辑src目录下的makefile文件,并设置参数: SOURCES = 要进行编译的C源文件名 FLUENT_INC = FLUENT安装路径 下面是个makefile文件的例子:

2.如果版本结构是irix6.5,则需要进一步修改makefile文件。

(a) 在文件中找到下面部分:

CFLAGS_IRIX6R10 = -KPIC -ansi -fullwarn -0 -n32 (b) 将-ansi改为-xansi:

CFLAGS_IRIX6R10 = -KPIC -xansi -fullwarn -0 -n32

3.在库目录(如libudf)下,输入下面的语句,执行Makefile。 Make “FLUENT_ARCH=ultra” 系统显示信息:

上述信息表明编译udfexample.c成功,同时系统会建立共享库libudf.so。 当然,我们可以同时编译多个C源程序文件。

Windows NT系统

在建立相应目录及拷入C源文件之后,Windows NT系统按照下面的步骤编译和建立共享库。

1.编辑user_nt.udf文件,设置下面的参数: SOURCES=要进行编译的C原文件名。在文件名之前,需要前缀$(SRC) (如$(SRC)udfexample.c),对于多个源文件,文件之间要以空格间隔(如 $(SRC) udfexample1.c $(SRC) udfexample2.c)。

VERSION=所使用解法器版本,如2d,3d,2ddp,3ddp等。 PARALLEL_NODE=并行运算通讯库,可能的情况有: -none:单机版

-smpi:并行使用共享内存(对多处理器机器)

-vmpi:使用MPI软件实现并行使用共享内存和网络 -net: 使用RSHD软件并行使用网络通讯

! 并行运算注意修改所有的user_nt.udf文件

下面是user_nt.udf参数设置的例子:

2.在MS-DOS操作符下,进入到所建立目录(如\\libudf\\ntx86\\2d\\)下,执行命令nmake,如果编译出现问题使用nmake clean 清除。

7.3.3.3 连接共享库到FLUENT

按上一节编译并建立共享库之后,就可以在FLUENT中,将共享库连接使用。具体步骤如下:

1.运行FLUENT程序

2.读取(或建立)case文件 3.连接共享库到FLUENT

Define?User-Defined?Functions?Compiled…

图3.3.3 Compiled UDFs面板

(a) 在Library Name中输入存储库文件的目录名(如libudf),如果不在

当前工作目录下,需要输入路径。 (b) 点击Open连接共享库到FLUENT。解法器会自动找到相应的版本的

共享库,一旦连接成功,将会在case文件中保存,下次读取case文件时会自动加载共享库。

7.3.3.4 编译连接Compiled UDFs时的常见错误

当共享库不在当前工作目录下的相应目录内时,或者取出case文件而与该case文件相关联的共享库已经移动时,会显示如下错误:

如果在新版本下读取旧版本的case文件,如在5.0.2中读取5.0.1版本的case文件,则会显示下面的错误:

第四节 在FLUENT模型中使用UDFS

在编译连接成功之后,我们就可以在FLUENT模型中使用UDFs。下面分别说明如何在FLUENT各模型中使用UDFs。

7.4.1 边界条件

编译连接成功边界条件UDF之后,就可以在FLUENT中选择使用。例如,定义速度入口边界条件的UDF(inlet_x_velocity)可以在Velocity Inlet面板(如下所示)中找到,选择之后点击OK按钮就可以在FLUENT中使用。

边界条件UDFs由宏DEFINE_PROFILE定义,参见2.5.6。

7.4.2 源项

源项UDFs在Fluid面板中选择,如名为cell_x_source的源项UDF。

源项UDFs由宏DEFINE_SOURCE定义,参见2.5.10。

7.4.3 物质性质

定义物质性质的UDFs在Material面板中选择,如定义物质粘性系数的UDF cell_viscosity。

Define?Materials…

点击EDIT…

! 如果定义的是密度的UDF,密度变化越大,计算收敛性就越差。所以FLUENT限制计算过程密度变化过大的模型的使用,如可压缩流动,如果密度随压力变化太大,而压力又在计算过程中变化很大,这就不适合用FLUENT求解。

定义物质性质的UDFs由宏DEFINE_PROPERTY定义,参见2.5.7。

7.4.4 离散相模型

离散相模型的UDFs在Discrete Phase Model面板相应的下拉列表中选择。 Define?Models?Discrete Phase…


中科大FLUENT讲稿 第七章 自定义函数(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:石家庄铁道大学06级物理实验试卷及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: