ANSYS 14.5 CFX User Fortran 安装设置教程

  • A+
所属分类:未分类

1 说明

       本教程目的在于帮助大家安装和设置Fortran编译器并使之能够与CFX协同工作,从而能够在某些模型和模拟的过程中,当CFX内置函数不能满足我们的需要的时候,能够调用我们自己编写的用户自定义函数或程序(User defined routine)。

       下文所述安装步骤都在下图所示的系统上进行操作的,即Microsoft Windows 8.1 x64.

ANSYS 14.5 CFX User Fortran 安装设置教程

图1   所使用的操作系统

       另外,根据这个教程,我们也在Windows XP 32位的电脑上也安装并调试成功了。 

       这里我先默认大家的ANSYS 14.5已经安装完成了,具体方法自己问度娘去吧。


2 安装与设置

       为了能对下面用到的软件进行正确的操作,请根据自己的操作系统选择正确的软件(32位或者64位)。

       本教程所用到的软件如下:

  • ANSYS CFX 14.5;
  • Microsoft Windows SDK 7.1 for Windows 7 and .NET Framework 4;
  • Microsoft Visual Studio 2008 (或更高版本);
  • Intel Fortran Compiler Composer XE 2013. 

       说明一下,由于本人在之前安装某些软件之前,Windows SDK 和Net Framework 4已经安装,所以在这里就不重复安装了。大家可以到【控制面板】——【安装与卸载】那里看一下自己的电脑是否有这两个软件,有的话就可以不用重复安装了。没有就自己到网上搜索下载,这里就不赘述了。

       另外,安装Microsoft Visual Studio是为了支持Intel Fortran的运行,因为Intel Fortran 无法单独运行。


2.1 安装Microsoft Visual Studio 2008

       将下载好的Microsoft Visual Studio 2008用虚拟光驱加载或者解压出来后,双击Setup.exe即可开始安装。关于这个软件的安装,这里只强调一点,由于我们用到的组件有限,故没有必要进行完整安装,可按如下介绍进行自定义安装即可。

ANSYS 14.5 CFX User Fortran 安装设置教程

图2 选择自定义安装

       这里我们只勾选Visual C++组件就可以了。

ANSYS 14.5 CFX User Fortran 安装设置教程

图3 需要勾选的组件

       其他的没有列出来的就按常规处理就可以了。

2.2 安装Intel Fortran Compiler Composer XE 2013

       将下载文件解压后,你会得到一个安装文件和一个license文件。双击Intel Fortran Compiler Composer XE 2013.exe开始安装。这里也只介绍需要注意的关键步骤。

       激活步骤记得选择最后一项——Choose alternative activation

ANSYS 14.5 CFX User Fortran 安装设置教程

图4 Choose alternative activation

       选择使用license文件激活——Use a license file

ANSYS 14.5 CFX User Fortran 安装设置教程

图5 Use a license file

       找到刚才解压得到的license文件打开即可,文件名是intel_2013.lic

ANSYS 14.5 CFX User Fortran 安装设置教程

图6 Intel_3013.lic

       然后下一步就可以了,后面提示要不要帮助改进用户体验,选No就可以了。

ANSYS 14.5 CFX User Fortran 安装设置教程

图7 选择不参加改进用户体验 

       这个软件选完整安装就可以了。后面要注意选择整合目标程序的时候,一定要把VS2008打勾。

ANSYS 14.5 CFX User Fortran 安装设置教程

图8 勾选VS2008

       然后继续下一步就可以了,跟上面一样这里没提到的都是傻瓜式的常规操作。

2.3 设置环境变量

       这是比较关键的一步。要保证CFX和Fortran能够协同工作,必须把相关环境变量设置好。

【这台电脑】 右键打开【属性】,弹出如下窗口,选择【高级系统设置】 。

ANSYS 14.5 CFX User Fortran 安装设置教程

图9 高级系统设置

       弹出窗口依次选择【高级】——【环境变量】。

ANSYS 14.5 CFX User Fortran 安装设置教程

图10 环境变量

       这里我们需要修改的是上面的用户变量。

ANSYS 14.5 CFX User Fortran 安装设置教程

图11 用户变量

       这里涉及到的变量名称有三个,分别是:lib,include和path。大家可以先看一下你原来的用户变量有没有这三个,有的话直接【编辑】  ,没有的话【新建】一个。这里以新建一个变量为例进行介绍。

       在用户变量下面选择【新建】 ,会弹出如下窗口。然后我们对新建变量进行编辑。

变量名: path

变量值: D:\Program Files\ANSYS Inc\v145\CFX\bin;
               D:\Program Files (x86)\Intel\Composer XE 2013\bin;
               D:\Program Files (x86)\Intel\Composer XE 2013\bin\intel64;
               D:\Program Files (x86)\Intel\Composer XE 2013\redist;
               D:\Program Files (x86)\Intel\Composer XE 2013\redist\intel64;
               D:\Program Files (x86)\Intel\Composer XE 2013\redist\intel64\compiler;
               D:\Program Files (x86)\Intel\Composer XE 2013\redist\intel64\mkl;
               D:\Program Files (x86)\Intel\Composer XE 2013\redist\intel64\mpirt

      (提示:为了大家看的方便,这里一行一个,实际输入请将以上路径变成一行,每个路径后面有一个英文状态的分号,最后一个路径不加分号 )

ANSYS 14.5 CFX User Fortran 安装设置教程

图12 编辑用户变量path

      另外两个变量也同样操作。

变量名:lib

变量值:D:\Program Files (x86)\Intel\Composer XE 2013\compiler\lib;
              D:\Program Files (x86)\Intel\Composer XE 2013\compiler\lib\intel64

ANSYS 14.5 CFX User Fortran 安装设置教程

图13 编辑lib变量

变量名:include

变量值:D:\Program Files (x86)\Intel\Composer XE 2013\compiler\include;
              D:\Program Files (x86)\Intel\Composer XE 2013\compiler\include\intel64

ANSYS 14.5 CFX User Fortran 安装设置教程

图14 编辑include变量

       如果你的电脑是32位的,那么上面路径名称里面就不是intel64了, 而应该是ia32,具体你进入自己的安装文件夹就能看到了。这里不建议直接复制我的用户变量值,因为每个人的安装路径可能不一样,最靠谱的办法是对着我的路径,到你自己的呃安装目录去复制下来你实际的安装路径到你的环境变量。 

       我们以path变量的第一条变量值为例介绍,如下图,进入到对应的软件安装目录,在路径那里选中路径地址复制过来就可以了。  

ANSYS 14.5 CFX User Fortran 安装设置教程

图 15 复制路径

2.4 设置CFX14.5 到用户定义程序(User define routines )

       依次进入【开始】——【程序】——【ANSYS 14.5】——【Fluid Dynamics】,然后打开【CFX 14.5】,在弹出点击【Tools】,选择【command line】。

ANSYS 14.5 CFX User Fortran 安装设置教程

图16 选择命令行

       先通过更改目录进入到intel fortran安装目录的bin文件夹,我装在D盘,所以命令行命令依次为:

D:

cd D:\Program Files (x86)\Intel\Composer XE 2013\bin


ANSYS 14.5 CFX User Fortran 安装设置教程

图17 进入到intel fortran的bin文件夹

      然后输入如下命令,回车。

ifortvars.bat Intel64

      如果你的电脑是32位的,那么这里的命令就应该是:

ifortvars.bat ia32

      如果设置成功,命令窗口将会出现如下内容。


ANSYS 14.5 CFX User Fortran 安装设置教程

图18 CFX设置成功

      下面,我们来生成CFX操作需要的一些文件。先把目录切换到你的fortran源文件所在目录。 我的fortran源文件放在C盘根目录,cmd进入该目录后,输入如下命令:

cfx5mkext -64bit <filename .F>

      我的文件名是e_121_01.f,所以对应的命令为:

cfx5mkext -64bit e_121_01.f

      同样的,如果是32位的系统,那你的命令就该是:

cfx5mkext  <filename.F>

      上述命令执行完以后,如果成功的话,命令行将显示如下信息。

ANSYS 14.5 CFX User Fortran 安装设置教程

图19 编译成功

      同时,我们也会发现原来Fortran源文件所在目录多了一个名字为winnt-amd64的文件夹,文件夹下面有三个文件。

ANSYS 14.5 CFX User Fortran 安装设置教程

图20 编译生成的文件 

      至此,整个软件安装设置层面的工作就完成了,后面在CFX中直接调用编译通过的用户程序(User Fortran)就可以了。 


? Copyright Birdol.Com 2006-2014.

继续阅读《ANSYS 14.5 CFX User Fortran 安装设置教程》的全文内容...

分类: 技术分享 | Tags: ANSYSCFXwindows, | 添加评论(8)


最新评论:

  • 2015-01-03 10:55:06 AM,Michael : @xiaoyiqi:不好意思我现在也没搞这个了...
  • 2015-01-03 10:52:55 AM,Michael : @xiaoyiqi:照这么看好像到intel Fortran和到ansys 的bin文件夹执行ifortvars.bat貌似都可以的样子,我参考国外网站的教程说的是到intel Fortran 的bin文件夹执行那个命令的,当时自己好像是到ansys文件夹执行的....你可以都试一下吧,我电脑把那个卸载了现在....
  • 2015-01-01 21:54:52 PM,xiaoyiqi : 博主,你文章中的图17、图18中和你图17上面的写的命令不对应啊,写的命令是intel Fortran 的安装路径,图18中显示你输入的命令是ansys Inc,是ansys的安装路径。望博主解答。谢谢!
  • 2014-12-31 17:05:34 PM,xiaoyiqi : 博主,你好,在cfx中,我想用用户自定义程序定义某种边界条件,我现在只装了ansys cfx,还需要装哪些软件(fortune编程软件,fortune编译软件,具体软件名是什么),你有没有与使用子程序相关的例子或教程,本人菜鸟,本人邮箱396664354@qq.com感谢博主!子程序如下:
    #include "cfx5ext.h"
    dllexport(PT_WALL_INT)
    SUBROUTINE PT_WALL_INT(NLOC,NRET,NARG,RET,ARG,CRESLT,
    & CZ,DZ,IZ,LZ,RZ)
    CC
    CD User routine: Tabakoff-Rohan erosion & restitution model
    CC Created by N. Woggon Dec 2010
    CC
    CC --------------------
    CC Input
    CC --------------------
    CC
    CC NLOC - number of entities
    CC NRET - length of return stack
    CC NARG - length of argument stack
    CC ARG - argument values
    CC
    CC --------------------
    CC Modified
    CC --------------------
    CC
    CC --------------------
    CC Output
    CC --------------------
    CC RET - return values
    CC
    CC --------------------
    CC Details
    CC --------------------
    CC
    CC====================================================================================
    C
    C ------------------------------
    C Preprocessor includes
    C ------------------------------
    C
    #include "cfd_sysdep.h"
    #include "cfd_constants.h"
    C
    C ------------------------------
    C Argument list
    C ------------------------------
    C
    INTEGER NARG, NRET, NLOC
    C
    REAL ARG(NLOC,NARG), RET(NLOC,NRET)
    C
    CHARACTER*(4) CRESLT
    C
    INTEGER IZ(*)
    CHARACTER CZ(*)*(1)
    DOUBLE PRECISION DZ(*)
    LOGICAL LZ(*)
    REAL RZ(*)
    C
    C ------------------------------
    59
    C External routines
    C ------------------------------
    C
    C
    C ------------------------------
    C Local Parameters
    C ------------------------------
    C
    C
    C ------------------------------
    C Local Variables
    C ------------------------------
    C
    C ------------------------------
    C Stack pointers
    C ------------------------------
    C
    C=====================================================================================
    C
    C ---------------------------
    C Executable Statements
    C ---------------------------
    C
    C=====================================================================================
    C
    C Return variables:
    C -----------------
    C Perpendicular Restituion Coeff : RET(1,1)
    C Parralel Restituion Coeff : RET(1,2)
    C Particle erosion : RET(1,3)
    C
    C Argument variables
    C -------------------
    C
    C Particle impact angle : ARG(1,1)
    C Particle velocity : ARG(1,2)
    C
    C We know that NLOC is 1 for the particle user source routines!!!!
    C=====================================================================================
    C
    C-----------------------------------------------------------------------
    C Calculate the return variables
    C-----------------------------------------------------------------------
    C
    CALL WOGGON (RET(1,1),RET(1,2),RET(1,3),
    & ARG(1,1),ARG(1,2))
    C
    END
    SUBROUTINE WOGGON (CPER,CPAR,EROSION,ANGLE,VEL_PT)
    C
    C=====================================================================================
    C Calculate ROHAN erosion rate
    C=====================================================================================
    C
    C ---------------------------
    C Preprocessor includes/home/user/SharedLibraries
    C ---------------------------
    C
    #include "cfd_sysdep.h"
    #include "cfd_constants.h"
    C
    60
    C ------------------------------
    C Argument list
    C ------------------------------
    C
    REAL EROSION, ANGLE, VEL_PT(3), CPAR, CPER
    C
    C ------------------------------
    C Local variables
    C ------------------------------
    C
    REAL ANGLE_DEG, N, VEL, VEL1, F, EB, EV
    C
    C
    C
    C
    OPEN( UNIT = 20, FILE = "C:\Users\entidata.dat",ACCESS='APPEND')
    WRITE(20,'(4F16.4)') ANGLE, VEL_PT(1), VEL_PT(2), VEL_PT(3)
    CLOSE(UNIT = 20)
    C
    C
    C ------------------------------
    C Executable statements
    C ------------------------------
    C
    N = 0.4573
    VEL = SQRT(VEL_PT(1)**2 + VEL_PT(2)**2 + VEL_PT(3)**2)
    C
    C
    C
    VEL1 = 3.288*VEL
    F=2.0054*ANGLE-1.8095*ANGLE**2+0.4183*ANGLE**3+0.1207*ANGLE**4
    EROSION = F*VEL1**N/1000
    C
    C
    C
    EV=0.963+0.3957*ANGLE-2.2994*ANGLE**2+1.4276*ANGLE**3
    EB=0.2204+3.7169*ANGLE-6.6826*ANGLE**2+3.5283*ANGLE**3
    C
    IF(ANGLE .GE. 0 .AND. EB .LE. 1.2217305) THEN
    CPER=EV*SIN(ANGLE*EB)/SIN(ANGLE)
    CPAR=EV*COS(ANGLE*EB)/COS(ANGLE)
    ELSE
    CPER=1
    CPAR=1
    END IF
    C
    OPEN( UNIT = 10, FILE = "C:\Users\impdata.dat",ACCESS='APPEND')
    WRITE(10,'(7F16.6)')ANGLE, VEL, EV, EB, CPAR, CPER, EROSION
    CLOSE(UNIT = 10)
    C
    END
  • 2014-06-27 19:18:10 PM,曹体投柱 : 原来是这样
  • 2014-06-27 19:17:06 PM,蔡纣奈其 : 可是今天早上的小轮又给 降权了
  • 2014-06-10 09:37:36 AM,Michael : @足梦:按教程做下来就不会觉得复杂了....我都做了好几遍了.....
  • 2014-06-10 09:16:12 AM,足梦 : 很复杂的样子,可以试试玩一下。

相关文章:

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: