按关键词阅读: 教程 编译 中文 链接 UDF FluentUDF
24、二 /path/Flue nt.l nc# Build targets (do not modify below this line).# #2. 如果体系机构是irix6.5, 还需要在makefile中进行附加变化 。
(a) 找到makefile文件中找到下面的命令行CFLAGS_IRIX6R10二-KPIC -ansi -fullwar n -O -n32(b) 改变“ -ansi ”为“ -xansi ” , 即卩CFLAGSRIX6R10二-KPIC -xa nsi -fullwarn -O -n32对于其它的体系机构不需要进行以上变动 。
3. 在工作目录(如libudf )下 , 执行make 。
25、命令 , 包含前一步(在732 节)确定的体系机构(如ultra ) , 即卩make FLUENT ARCH二ultra控制窗口显示信息为:# linking to ././src/udfexample.c in ultra/2d# linking to ././src/makefile in ultra/2d# build ing library in ultra/2d# linking to ././src/udfexample.c in ultra/3d# linking to ././src/makefile in ultra/3d# build ing library in ultra/3 。
26、d以上面的makefile为例 , 用户自定义函数udfexample.c被编译和存放 于版本所指定的共享库libudf.so中 , 如在图7.3.1中所示的2d ,2d_host和2d_node 。
虽然在这个例子中只用了一个 C函数 , 但是用户 在“ SOURCES = in the makefile ”下可通过空格分隔多个源文件 。
Win dows系 统在建立目录并存放文件到相应位置后 , 便能开始编译和创建共享库 。
1.用文本文件编译user_nt.udf文件 , 设置参数为:SOURCES编译好的用户自定义函数 。
在每个文件前加前缀$(SRC),女口一个函数为 $(SRC)udfexample.c , 两个函数为。
27、$(SRC)udfexample.c$ (SRC)udfexample2.c ) 。
VERSION 所用版本 , 即如图 7.3.2 所示2d , 3d , 2ddp , 3ddp ,2d host , 2d no de , 3d host , 3d no de , 2ddp host , 2ddp node, 3ddp host , 或 3ddp node 。
PARALLEL NODE并行连接库 。
对于求解器的一系列版本无指定的并行连接库 。
可能的输入为: none: serial smpi: parallel using shared memory (formultiprocessor mach in es) vmpi: paralle 。
28、l using shared memoryor network with ven dor MPI software n et: parallel using n etwork com muni cator withRSHD software!如果使用的是并行求解器 , 需要复制两个user_nt.udf文件(一个是主目录的 , 一个是节点目录) , 并且指定两个文件适当的SOURCE,VERSION, and PARALLEL NODE下面给出user_nt.udf文件的一个例子:# Replace text m 11 ,J (and remove quotes)# I indicates a cboic 。
29、a# note: $(SRC) is defined in the makefileSOURCES 二 I (SRC udf examplesVERSION = 2dPARALLEL JODE = none对于指定多个用户定义函数只需要在SOURCES输入它们 , 并用空格 分开即可 。
2.在MS-DOS命令提示窗口 , 键入nmake建立目录 , 女口需要注意的是如果创建存在问题 , 通过键入 n make clean来进行完整的重建 。
734连接共享库到FLUEN可执行文件按照733小节所示的unix或windows环境下的步骤编译共享库后 , 就可以将其连接到FLUEN程序中 。
将共享库连接到FLUEN程序中的步 。
30、骤如下:1.从当前工作目录下启动FLUENT2读取(或设置)case文件 。
(确认此case文件保存在当前的工作 目录下 。
)3.连接共享库到FLUEN执行文件中 。
DefineUser-Defined FunctionsCompiled.Compiled UOFsLibrary NameOpenClose! in1 7,3.3: lhCompiled UDFs Pniirl(a)如果共享库保存在当前工作目录中 , 在 Library Nam对话框中输入相对路径(例如,libudf),否则输入完整路径 , (例如 , myhome/myfiles/libudf).!注意 , 如果存放共享库的目录不在当前的工作目录或 。
31、其子目录下,一定要输入完整的路径名(b) 单击Open按钮 , 这会将共享库连接到FLUENT执行文件中 。
求 解器会自动搜索相应的结构格式和版本 。
一旦共享库连接到FLUENT执行文件以及case文件被写入以后 , 此连接关系就被保存 在case文件中 。
因此 , 无论何时将case文件读入FLUREN , 此共 享库都会被自动连接 。
735编译和连接共享库时常见的错误指定库的名称仅当从当前的工作目录下运行FLUEN并且共享库的目录是当前工作 目录的子目录时 , 才可以在Compiled UDFs面板上直接输入共享库的 目录(例如libudf) 。
如果被使用的共享库不在上述位置上 , 连接此共享库时 , 必须提供其完整的路径 。
否 。
32、则会出现以下错误:Opening library libudf/ultra/3d/libudf.soError: ope n_udf_library: could nt ope n library: libudf/ultra/3d/libudf.so如果将共享库移至其他的位置 , 而要读入的case文件又包含此共享库 的连接 , 也会出现上述错误信息 。
解决方法为了解决这个问题 , 可以在 Library Name in the Compiled UDFs 面板上输入共享库的完整路径 , 然后单击Oper按钮 。
虽然同样的错误信息仍将出现 , 但是新的路径会保存在case文件中 。
重新读入case文件 就会得到正确的连接 。
稿源:(未知)
【傻大方】网址:/a/2021/0816/0023746145.html
标题:FluentUDF|FluentUDF中文教程UDF编译与链接( 四 )