标题: 新版CFD-ACE的UDF编译问题——供新手参考 [打印本页]
作者: even2004 标题:新版CFD-ACE的UDF编译问题——供新手参考 时间: 2009/05/04/09:40
      在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