|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
要在UDF程序中包括FORTRAN子程序,UDF必须采用编译方式。
除了需要C++编译器,同时还需要FORTRAN编译器。
1:获得FORTRAN子程序的object文件。采用FORTRAN编译器来编译程序得到OBJ文件,设置OBJ类型设置为动态连接库。
2:在UDF里面的调用格式
如:
DEFINE_INIT(init_function)
{
real x=1;
real y=2;
real z=0;
/* call to fortran routine that adds x & y and returns sum in z */
add_2_num(&x,&y,&z) ;
printf("x + y = %f\n",z);
}
在LINUX和UNIX系统下函数名无需写成下划线格式(i.e., add_2_num_(&x,&y,&z)),但是在WINNT下建议这样写。
3:建立合适编译UDF路径,但是不执行NMAKE命令。
4:1里面建立的OBJ文件复制到以下UDF库路径:ntx86\<solver> (i.e. ntx86\2d)
5:对makefile进行修改:
将OBJ文件名加入到如下地方"SRC_OBJECT = ....",比如:
SRC_OBJECT = $(SOURCES2:.c=.obj) add2num.obj
FORTRAN库必须加到LIBS列表中,比如:
LIBS = /Libpath (FLUENT_INC)\fluent$(RELEASE)\$(FLUENT_ARCH)\$(VERSION) fmath.lib
6:执行NMAKE命令。
我想问的是如何将Obj文件设置动态链接库,如果调用多个Fortran子程序,又该怎么做
怎么执行NMAKE命令?谢谢啦 |
|