Window7-64位环境下安装SU2汇编.doc

上传人:牧羊曲112 文档编号:3981653 上传时间:2023-03-30 格式:DOC 页数:23 大小:3.49MB
返回 下载 相关 举报
Window7-64位环境下安装SU2汇编.doc_第1页
第1页 / 共23页
Window7-64位环境下安装SU2汇编.doc_第2页
第2页 / 共23页
Window7-64位环境下安装SU2汇编.doc_第3页
第3页 / 共23页
Window7-64位环境下安装SU2汇编.doc_第4页
第4页 / 共23页
Window7-64位环境下安装SU2汇编.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《Window7-64位环境下安装SU2汇编.doc》由会员分享,可在线阅读,更多相关《Window7-64位环境下安装SU2汇编.doc(23页珍藏版)》请在三一办公上搜索。

1、Window7 64位环境下SU2的安装SU2的安装也可以称之为SU2代码的编译,按照本文的方式可以编译出功能完整的SU2并行版本,同时本文也给出了包括cgns.lib、metis.lib、tecio.lib、msmpi.lib、parmetis.lib、SU2.lib以及SU2_CFD的静态库SU2_CFDLIB.lib等编译SU2所需静态库的安装。以前是在公司的16G内存的台式机上进行安装的,安装的版本是3.2,本文演示的是SU2最新版本4.3的安装,用的是个人笔记本,4G内存的,编译起来非常慢,编译一次SU2大概需要5个小时。具体安装步骤如下:1 安装Visual Studio 2012

2、。2 安装Intel C+编译器。特别说明,单独使用VS系列编译器是无法编译SU2的。因为SU2的源代码中用到了C99标准的变长数组,而这个特性VS系列编译器一直未支持,所以需要另外安装Intel C+编译器。我用的是Intel C+ Studio XE 2013 SP1,安装就按照默认设置,安装时会自动关联到VS环境。3 安装并行。我用的是MSMPI。MSMPISetup.exe下载地址:另外,安装MSMPI之前要安装Microsoft Visual C+ 2010 SP1 Redistributable Package,x86版和x64版可以都安装。下载地址:32位64位安装完成后,将MS

3、MPI可执行文件的路径加入环境变量。做法如下:在桌面上右键点击“计算机”,选“属性”,然后点击左边的“高级系统设置”,再点击下方的“环境变量”。在系统变量的变量那一栏里找到Path,点击那一栏选编辑,在弹出的“编辑系统变量”窗口中点击变量值,在最后面输入;C:Program FilesMicrosoft MPIBin,如图所示,然后按确定退出。4 安装Python和相关数值库Numpy、Scipy。SU2的并行、优化等功能都需要用到Python,所以需要安装Python和一些库。Python只需要安装32位版本即可,建议按照默认方式安装。Numpy、Scipy需要在安装好Python后再安装。

4、Python 2.7.8 win32版下载地址:https:/www.python.org/ftp/python/2.7.8/python-2.7.8.msiNumpy下载地址:Scipy下载地址:安装完Python后,在环境变量中加入Python的路径。做法如下:在桌面上右键点击“计算机”,选“属性”,然后点击左边的“高级系统设置”,再点击下方的“环境变量”。在系统变量的变量那一栏里找到Path,点击那一栏选编辑,在弹出的“编辑系统变量”窗口中点击变量值,在最后面输入;C:Python27,如图所示,然后按确定退出。测试一下是否已将Python加入环境变量以及相关的库是否已正确安装:点击开始

5、按钮,输入cmd,回车,在命令行窗口中,输入python,结果应该如下图所示。测试numpy安装,输入import numpy,回车,正确的话结果如下图所示。测试Scipy安装,输入import scipy,回车,正确的话结果如下图所示。5 编译安装所需的库:METIS,PARMETIS,CGNS,TECIO。METIS是非结构网格分区的代码,CGNS是通用的网格格式,几乎所有CFD软件都支持。TECIO用于生成二进制的Tecplot文件。(a) 编译METISMETIS和CGNS的编译都需要用到cmake,所以先下载cmake并安装。下载地址:http:/www.cmake.org/file

6、s/v3.0/cmake-3.0.2-win32-x86.exe安装时候可以将cmake加入Path环境变量,方法如下图所示。安装好后测试一下,打开命令行界面,输入cmake回车,如果正常,结果如下图所示。下载METIS 5.1.0源代码。下载地址:http:/glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz解压后如图所示。打开命令行,进入metis源代码目录输入vsgen -G “Visual Studio 11”,回车,结果如图所示则在build文件夹生成如图所示内容。进入buildwindows目录中,打开METIS.

7、sln文件,如图所示。右键点击右边的解决方案METIS(9个项目),选择“属性”,弹出如下窗口。点击右上角的“配置管理器”,选择“活动解决方案平台”里的win32,点击“新建”,弹出如下窗口。在上方那个“键入或选择新平台”里选择x64,点击“确定”退出。这样编译的METIS库就是64位的。点击“关闭”再点击“确定”退出。右键点击“metis”,选择最下面的“属性”,在属性页里“C/C+”里的代码生成中找到“运行库”那一栏,将“多线程DLL(/MD)”改为“多线程(/MT)”,选确定退出。再右键点击“metis”,选择第一项“生成”,就会开始编译METIS库。因为SU2只用到了METIS库,所以

8、这里就只编译METIS库,不编译其它的METIS相关exe文件。编译中会有很多warning,不影响。编译成功的话应该和下图差不多。生成的metis库文件位置为D:metis-5.1.0buildwindowsx64Releasemetis.lib。这样metis库就编译完成了。(b) 编译PARMETIS下载PARMETIS源代码,选择的版本是parmetis-4.0.3。下载地址:parmetis directory | Karypis Lab解压到到D盘,如图所示。这里如果没有build,则新建一个文件夹,并将名字改为build。然后打开命令行cmd,进入build文件夹,输入cmake

9、 ./,如图所示。正确的话如图所示。同时在build文件夹下生成如下内容:点击生成的ParMETIS.sln文件,打开vs环境。设置过程类似上面的METIS。右键点击右边的“解决方案ParMETIS”,选择“属性”,然后选择“配置管理器”,按着METIS的配置方式,结果如下进入metis的属性,这里将运行库改为多线程(/MT),别的不做修改,运行即可。进入parmetis属性,在c/c+的常规选项中的附加包含目录上添加msmpi并行库的目录。如下所示。同样,在C/C+的代码生成中将运行库设置为多线程(/MT),如图所示。在库管理器的常规设置中,在附加依赖项中输入msmpi.lib,在附加库目录

10、中添加msmpi的库目录,如图所示。修改之后,确定,点击parmetis,则进行生成,生成的静态库的位置为:D: parmetis-4.0.3parmetis-4.0.3buildx64Release(c) 编译CGNS下载CGNS源代码,目前版本是cgnslib_3.2.1.tar.gz。下载地址:同样解压到D盘根目录。打开命令行cmd,进入该目录,输入cmake .,回车,如下图所示。正确的话,结果如下。点击生成的cgns.sln文件,打开vs环境。设置过程类似上面的METIS。右键点击右边的“解决方案cgns”,选择“属性”,然后选择“配置管理器”,进入如下界面。在“活动解决方案配置”里

11、面选择“Release”,在“活动解决方案平台”里选“新建”,在弹出的界面里,“键入或选择新平台”里选择“x64”,按“确定”退出,再分别点击“关闭”,“确定”确认修改并回到VS环境。右键点击右边的“cgns_static”,选择“属性”,在C/C+的代码生成里面,找到“运行库”那一项,将“多线程DLL”改为“多线程”,按“确定”退出。再次右键点击“cgns_static”,选择“生成”,就开始编译生成CGNS库文件。如果没有问题,结果应该如下所示。生成的CGNS库文件位置为 D:cgnslib_3.2.1x64Releasecgns.lib。这样CGNS的编译就完成了。(d) 下载TECIO

12、SU2的默认输出格式是TECPLOT ASCII格式,但对于大型网格,输出格式选择TECPLOT BINARY更好,不仅文件小而且打开速度也快很多。tecio.zip下载地址:由于编译中要用到相关头文件,所以还要下载tecio的源代码,下载地址:虽然上面的tecio库文件是2014版而源代码是2013版的,不过测试中暂时没有问题。Tecio库无需编译。这里将tecio.zip文件解压到D盘根目录,而tecio2013.tar也解压到D盘根目录,结果如下图。至此,所需的第三方库已准备完成。6 编译SU2并行程序SU2的源代码从官网上下载,下载地址:SU2, the open-source CFD

13、 code下载后解压出来,放在D盘。进入SU2_IDE/VisualStudio文件夹,打开SU2.sln文件。会出现点“确定”即可。接着显示点击“更新”。读取完成后,显示如下:右键点击SU2_SMC,选择“移除”,删除不可用的SU2_SMC和SU2_PRT项目。右键点击“解决方案SU2”,选择Intel Composer XE 2013 SP1,点击Use Intel C+,按“确定”确认。这样就将编译器设置为Intel C+。右键点击“解决方案SU2”,选择“属性”,选择“配置管理器”,将左上方的“活动解决方案配置”改为“Parallel”,将中间的SU2_GEO和SU2_SOL的配置改为

14、“Release-MPI”,如下图,点击“关闭”再点击“确定”退出。接下来要具体配置右边的7个项目。除了第一个SU2.lib项目外,下面6个项目的配置方式完全一样,所以就以SU2_CFD项目进行说明,其余项目按照同样方式设置。首先配置SU2.lib项目。先检查头文件和源文件是否齐全,不齐全的话将common中include的内容添加到头文件,将common中双src的内容添加到源文件。右键点击“SU2.lib”,选择“属性”,进入属性页面。点击“Intel Performance Libraris”,将“Use Intel IPP”设置为NO。点击“C/C+”中的“General”,在“Add

15、itional Include Directories”中加入METIS,CGNS,MSMPI,TECIO的include目录路径。点击最右端的倒三角,选择“编辑”,进入如下界面:点击右上方的按钮,再点击右边的“.”,然后选择METIS的include文件夹路径,在选择窗口中进入该文件夹,如下图所示,再点击“选择文件夹”。以上述方式分别再添加CGNS,MSMPI,TECIO,PARMETIS的include文件夹路径。添加完成结果如下图所示。按“确定”退出。接着点击“Code Generation”,确认“Runtime Library”选择为“Multi-threaded”,如果是其它内容就

16、改为这个。在点击“Command Line”,删除下面“其他选项”里已有的文字,填入如下内容/DHAVE_METIS /DHAVE_MPI /DHAVE_CGNS /DHAVE_TECIO /DHAVE_PARMETIS /DNO_MUTATIONPP /traceback 再展开“Librarian”,选择“General”,点击右边的“Additional Dependencies”,将原先内容改为metis.lib;cgns.lib;tecio.lib;msmpi.lib;parmetis.lib,如图所示。在“Additional Library Directories”里面加入MET

17、IS,CGNS,MSMPI,TECIO,PARMETIS的lib文件夹路径。过程和上面添加include文件夹路径类似。添加完的结果如图所示,再点击“确定”。至此,SU2.lib的属性设置完成,点击“确定”保存设置。然后编译测试一下。右键点击“SU2.lib”,选择“生成”开始编译。编译过程比较慢,请耐心等待。编译成功的话,结果如下图。如果编译失败的话,根据提示将代码里面使用的and,改为&,或者在头文件里面加上#define and &,再次运行则通过了。(b) 编译SU2_CFDLIB在vs2012中新建项目,选择Win32中的Win32项目,这里将名称设为SU2_CFDLIB(名称没有规

18、定,可以随便取名),目录为E:SU2SU2-4.3.0SU2_CFD。双击Win32项目进入Win32 应用程序向导,在应用程序类型中勾选静态库,同事将附加选项中的预编译头、安全开发生命周期(SDL)检查两个选择取消,点击确定,则进去静态库编译环境。右击解决方案SU2_CFDLIB,右击头文件,添加现有项,选择SU2_CFD中的include中的内容,右击源文件,选择SU2_CFD中的src中的内容,余下的过程和SU2.lib完全一样,右键点击SU2_CFDLIB进行编译即可。存储路径为:D:SU2SU2-4.3.0SU2_CFDSU2_CFDLIBx64Release(c)设置另外6个项目前

19、面已经提到,这6个项目的具体设置过程基本一样,所以就以SU2_CFD为例进行说明。其余的项目需要额外添加SU2_CFDLIB.lib静态库。右键点击“SU2_CFD”,选择“属性”,设置相应的属性。SU2_CFD的设置大部分和SU2.lib一样,可以参考上文进行设置。有所区别的是“Linker”里面的2个地方:选择“Input”,点击右边的“Additional Dependencies”,点击右边的小倒三角,选择“编辑”,将其中的mpi.lib改为msmpi.lib,如果没有tecio.lib就加入,添加parmetis.lib,并删掉cxx.lib,如图所示,点击“确定”保存。另外一处,选

20、择“System”,在右边的后面都填上一个较大的数,这些参数是控制windows下程序运行堆和栈的大小,单位是字节。这里4个都填10000000,如果要算较大的网格,建议填入更大的数。这样SU2_CFD的属性设置就完成了。属性配置完成后,除了添加头文件和源文件外,还需要将处理一下源文件,将新的源文件添加到Source Files里面并删除有问题的项目。先左键点击“SU2_CFD”将其展开,右键点击“Source Files”,选择“添加”,“已有项”,进入D:trunkSU2_CFDsrc目录,选择所有cpp文件,点击“添加”。接下来,检查每一个cpp文件,有些cpp文件已经不存在了,会出现如

21、下提示将所有出现该问题的项删去。保存后就可以编译SU2_CFD项目了。右键点击“SU2_CFD”,选择“生成”进行编译。前面已经提过,编译SU2_CFD的过程非常慢,而且和电脑的内存配置有很大关系,所以请尽量使用高配置的电脑进行编译。编译成功后结果类似下图。新版本的代码里面使用了and、or、not等,我是将其改为&、|、!,再次运行则通过了。其它几个项目采用和SU2_CFD同样的方法进行设置。所有生成的exe文件都在D:trunkSU2_IDEtrunkbinWindows64-bitParallel文件夹下。剩余五个项目,需要额外添加SU2_CFDLIB.lib静态库。下边只给出图示,不再

22、赘述。(a)c/c+中General中(b)c/c+中Command Line中(c)Linker中general中(d)Linker中Input中7 建立SU2运行环境在D盘根目录新建一个SU2文件夹,将上面那6个exe文件复制进去。再将D:trunkSU2_PY中的所有内容也复制进去。还要将D:teciotecio.dll也复制到SU2文件夹中。这样SU2文件夹中的内容如下:在系统环境变量的Path中加入D:SU2(D前面先输入英文分号),再新建一个环境变量SU2_RUN,变量值填写D:SU2。8 测试测试SU2并行程序是否正确,这里采用代码自带算例QuickStart中的NACA0012进行4核并行计算验证,QuickStart文件内容如下。用命令行进入QuickStart。输入parallel_computation.py -f inv_NACA0012.cfg -n 4,如图所示。回车,运行过程如下。 在QuickStart文件夹下生产计算结果如下。采用tecplot查看流程结果flow.dat如图所示。这样,SU2就可以在Windows环境下正常使用了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号