欢迎您,客人:高级登录 | 注册 | 取回密码 新贴 | 发帖 | 会员 | 搜索 | 帮助

阳光精品论坛 >> 『 CFD 专栏 』 >> 新版CFD-ACE的UDF编译问题——供新手参考本主题已阅读2526次,回复0

本文章信息
作 者 资 料
作 者 主 页
我 要 收 藏
发 表 主 题
转 发 该 文

新版CFD-ACE的UDF编译问题——供新手参考

(这条文章已经被阅读了 2526 次) 时间:2009/05/04/09:40   来源:even2004

      在2006版之前,CFD-ACE的用户自定义子程序是非常容易上手的:随便用什么Fortran编译器,只要具备连接成动态链接库的功能即可,比如我用Visual Fortran 6.5做编译器,则将CFDRC_ACCESS_CALLS.F用Include语句包含进我的子程序,然后在Dos下使用 DF /free /dll  mydll.f90即可完成mydll.dll的编译连接(如果使用集成环境,则建立一个空的动态链接库工程,然后把Mydll.f90作为源文件加入工程,最好Build all即可)——另一方法是利用软件安装时在CFD-ACE-SOLVERBIN下安装的批处理程序build-userlib.bat做编译,但此时用户自定义程序不能包含CFDRC_ACCESS_CALLS.F,且扩展名必须是f,而且只有在CFD-ACE-SOLVERBIN下编译时才相对简单,反而不适合新手。
 但上述方法对2008版失效了(2007版未做测试)!无论采用上述哪种方法编译得到的DLL文件CFD-ACE都不认,关键是还没有任何出错信息(除非你的子程序错了),就只是不工作!以至于一开始我还怀疑自己的子程序出了错,直到后来才搞明白:新版CFD-ACE的用户自定义动态链接库必须用Intel Fortran编译连接!不过目前为止我还是只在Visual Studio 2005集成环境下成功完成了动态库的编译连接(方法和使用Visual Fortran集成环境差不多,只是要注意如果采用扩展名.f,则需要手动设置源代码格式为自由格式)在DOS下怎么都成功不了,包括软件提供的那个批处理程序。


此文章相关评论:(论坛方式查看)
此文章暂时没有评论



本论坛言论纯属发表者个人意见,与 阳光精品论坛 立场无关 联系我们
Powered by BMForum v5.0 Skin by Bob Shen