声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1974|回复: 0

[Fortran] IMSL在IVF下的安装和配置

[复制链接]
发表于 2015-10-27 08:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
安装的时候输入License时输入201111,安装后把源文件中的Crack目录下的License.dat复制到IMSL的安装目录(默认是C:\\Program Files\VNI)下的License目录下。然后用记事本打开License,另存为License.lic,保存在同样的目录下。
配置环境:
             Windows 7 Professional
             Microsoft Visual Studio 2008 Professional English
             Intel.Visual.Fortran.Compiler.Professional.v11.1.060
             IMSL Fortran Numerical Library Version 6.0
IMSL在IVF中的安装和应用 (Windows系统)
-----------------------------------------------------
1. IMSL在IVF中的安装
2. IMSL在IVF中的调用
3. 其它程序库的调用
-----------------------------------------------------
1. IMSL在IVF中的安装
1) 如果是IVF pro版本自带的IMSL,直接安装就OK.可以直接阅读第2部分。
2) 如果是手动安装,IVF与IMSL版本不同,要注意以下问题
    a) 首先,安装IMSL到缺省目录 (不同的版本,目录可能不同)
       例如,IMSL6.0的安装路径是C:\Program Files\VNI\imsl\fnl600
    b)如果是在IDE环境下调用IMSL,那么需要首先设置IMSL在IVF中
      的搜索路径,其设置方法为:
      设置步骤:
        (1) 打开 Microsoft Visual Studio 2008 ;
        (2) 打开菜单 Tools|options...
        (3) 选择左侧的 ”Intel(R) Fortran“ ,再选”Gerneral“或是”compiler“,
            然后在右侧找到 "Project Directories"或是“compiler Selection”.
            然后在下面你可以看到 "Libraries" 和 "Includes".
            点击右侧的 "..." 在Includes打开窗口中输入IMSL的include搜索路径,
            在Libraries打开的窗口中输入IMSL的lib搜索路径
            对于IMSL6.0,其include路径为:
            C:\Program Files\VNI\imsl\fnl600\IA32\include\dll
            C:\Program Files\VNI\imsl\fnl600\IA32\include\static        
            其lib路径是:
            C:\Program Files\VNI\imsl\fnl600\IA32\lib           
            如果是其他版本,也请查找类似目录。
            一般说,include某个目录下应该有很多*.mod文件,在lib的某个目录下有很多
            *.lib或*.dll文件,这就是正确的路径所在。
        (4)选择“ok”,完成设置。
  ---------------------------------------------------------------------------------------------------------------------------------------------------------------           
2. IMSL在IVF中的调用
1)找到IMSL中合适的函数或子程序(在开始菜单中,安装IMSL的目录下会找到一个pdf文件,里面是IMSL的说明文件,包括函数和子程序的详细信息,并有例子)
2)在自己的程序中调用IMSL. 首先在IVF的帮助文档中“index”选项卡下输入IMSL,就可以看到
   Using from the Command Line
   Using from IDE
   这两项主要内容,请仔细阅读这个部分。一般情况下,调用IMSL需要注意两个地方:
    a) 加入 INCLUDE 'link_fnl_static.h' 或是类似的语句在你的主程序中,不同的库函数选用不同的*.h文件
    b) 加入合适的use 语句,例如
       use IMSL
       use lin_sol_gen_int
       use rand_gen_int
       use error_option_packet
       等,你可以在IMSL的帮助文档中看到如何应用合适的use 语句
    c) 在主程序中call IMSL中的functions或是subroutines
    d) 编译,链接,得到执行程序。
3)在命令行中调用和编译:
   首先在command窗口中执行ifortvars这个命令,如果不能执行,请直接从开始菜单中的IVF目录下面直接运行这个程序(Build Environment for applications running on IA-32),
   或是将此文件所在的目录写入path环境变量,使其可以执行。
   然后用ifort命令对你的主程序进行编译即可。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
3. 其它程序库的调用
   学会了IMSL的调用,其实其他的程序库如CXML,LAPACK, BLAS, WFL等在IVF下的调用都是类似过程,即主要要设置好include和lib的路径,使得编译器
   可以找到需要包含的mod文件和链接的lib文件,这个过程大同小异。
----------------------------------------------------


测试算例:
  1. ! ================ Program start ==============
  2. program fnl
  3. ! Include the necessary header file:
  4. ! For the dynamic library:
  5. INCLUDE 'link_fnl_shared.h'
  6. ! For the static library:
  7. !INCLUDE 'link_fnl_static.h'
  8. !!DEC$ OBJCOMMENT lib:"libguide.lib"
  9. ! Declare which IMSL functions will be used
  10. USE LSARG_INT
  11. USE WRRRN_INT
  12. ! Declare variables
  13. PARAMETER (LDA=3, N=3)
  14. REAL A(LDA,LDA), B(N), X(N)
  15. !
  16. ! Set values for A and B
  17. ! A = (33.0 16.0 72.0)
  18. ! (-24.0 -10.0 -57.0)
  19. ! (18.0 -11.0 7.0)
  20. ! B = (129.0 -96.0 8.5)
  21. !
  22. DATA A/33.0, -24.0, 18.0, 16.0, -10.0, -11.0, 72.0, -57.0, 7.0/
  23. DATA B/129.0, -96.0, 8.5/
  24. !
  25. ! The main IMSL function call to solve for x in Ax=B.
  26. ! This is the floating point version, to use double-precision, call DLSARG.
  27. !
  28. CALL LSARG(A,B,X)
  29. !
  30. ! Now print the solution x using WRRRN, a printing utility
  31. !
  32. CALL WRRRN('X',X,1,N,1)
  33. Read(*,*)
  34. END PROGRAM fnl
  35. !================ Program End ==============
复制代码
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-7 02:37 , Processed in 0.109260 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表