| 查看: 6070 | 回复: 22 | |||||||||
| 【奖励】 本帖被评价10次,作者lmylmy增加金币 8 个 | |||||||||
| 本帖产生 1 个 模拟EPI ,点击这里进行查看 | |||||||||
[资源]
Windows下编译安装MuSic code
|
|||||||||
|
最近学习了版主ghcacj关于Music的帖子,受益良多,终于成功的在Linux下重复了Tina主页提供的IRMOF1吸附甲烷的例子,在此对版主ghcacj的无私奉献表示感谢。 安装过程中发现,最新的Intel Fortran XE用了编译Music是有点问题的,不可避免的出现了“段错误”,所以不推荐使用,我最终是用来11.0的版本才解决了“段错误”的问题。 我最初曾经尝试过在windows下编译安装Music code,那时候经验不多,后来放弃了。但是经过此次在linux下的安装经验,终于解决了原先的一些问题。现在可以正常的在Windows7操作系统下编译运行Music了,也成功的重复了IRMOF1吸附甲烷的例子。 现将在windows下安装的一些经验分享给大家,这也是对版主ghcacj帖子的一个小小补充。这对于一些不熟悉linux的网友还是有可取之处的。Music中的每个文件的具体内容和含义,请参见版主ghcacj的帖子,这里只描述具体的安装编译过程。 1. 所需程序 (1)Visual Studio 2008: 只需要安装其中的C++组件即可(如果你不需要其他的应用,完全安装需要很大的磁盘空间)。VS2008可以用学校的邮箱在微软网页上申请到免费的版本,目前应该是VS2010了,具体的可以在网上查找一下; (2)Intel Visual FORTRAN Complier 11.0.072:最新的XE版有点小问题,会出现段错误,不建议使用。11.0这个版本网上也很容易找到; (3)Windows下的perl:strawberry-perl-5.12.3.0,用来运行makemake,生产编译用的makefile文件。可以从其官方网页下载,是免费的 (http://strawberryperl.com/ ); (4)Windows下的Make:GNUwin32 Make-3.81,用了执行makefile文件,可以从其官方网页下载,也是免费的 (http://gnuwin32.sourceforge.net/packages.html )。 GNUMake和perl都是很小的软件,安装之后,可以在系统环境变量中path中添加C:\strawberry\perl\bin;C:\Program Files\GnuWin32\bin这两条路径,注意用分号与原先的项隔开,这样可以避免运行的时候输入完整的路径。这里给的路径是默认安装的路径,如果选择了其他路径,要做相应的修改。 2. 编译 (编译过程和版主ghcacj介绍的在linux下的方法类似,只是稍有不同。) (1)MuSic源代码的获取:直接从Snurr Research Group的主页下载,下载之前先需要先给Snurr教授发封邮件。http://zeolites.cqe.northwestern.edu/software.php ; (2)将MuSic源代码解压到D:\music目录下,(或者你喜欢的工作目录),解压之后其中应该包含[ctrlfiles], [drivers], [src], [tests]和[utils] 5个目录以及GPL和license 2个文件; (3)编辑makemake文件 首先需要修改 [scr]目录中的makemake文件,修改项如下(假设你用的是UltraEdit编辑器,可以显示行号,此处的行号指的是修改之前的行号): 第120行: FC = defaultCompiler >>> FC = ifort (! 设定ifort为默认编译器) 第149行:F90FLAGS = -g -debug all -check all # -O3 # -DSPME # untested options >>> F90FLAGS = /heap-arrays:64 /fpp /fpe:3 /fast /debug:full /check:noarg_temp_created /O3 # -DSPME # untested options 第150行:F77FLAGS = # -O3 >>> F77FLAGS = /heap-arrays:64 /fpp /fpe:3 /fast /debug:full /check:noarg_temp_created /O3 (!添加适当的编译选项) 第209行:%.o : %.F90 >>> %.obj : %.F90 (!windows下编译过程中的目标文件为*.obj,linux下的为*.o) 第211行:%.o : %.F >>> %.obj : %.F 第221行:$objectfile =~ s/(.*?\.)F90/$1o/i; >>> $objectfile =~ s/(.*?\.)F90/$1obj/i; 第222行:$objectfile =~ s/(.*?\.)F/$1o/; >>> $objectfile =~ s/(.*?\.)F/$1obj/; 第235行:$(FC) $(DEBUG_FLAGS) $(OFLAGS) $(LINKERFLAGS) $(OBJECTS) -o ../$(CMD) >>> $(FC) $(DEBUG_FLAGS) $(OFLAGS) $(LINKERFLAGS) $(OBJECTS) /o ../$(CMD) 第238行:$(FC) $(DEBUG_FLAGS) $(OFLAGS) $(OBJECTS) -o ../$(CMD) >>> $(FC) $(DEBUG_FLAGS) $(OFLAGS) $(OBJECTS) /o ../$(CMD) 第241行:/bin/rm -f *.o *.i *.il *.mod a.out make.log >>> /bin/rm -f *.obj *.i *.il *.mod a.out make.log 第244行:rm -f *.o *.i >>> rm -f *.obj *.i 第266行:$objfile = $rootname.".o"; >>> $objfile = $rootname.".obj"; 第270行:print OUTFILE (" $$sortedfiles[$f]{modarray}[$i].o" ; >>>print OUTFILE (" $$sortedfiles[$f]{modarray}[$i].obj" ; 另外从第157至199行的内容可以删除,对我们没什么用处,保留也可以,没有影响。 (4)编译 (编译了tinu网页上给出的5个代码:music_mapmaker.F90, music_mapdisplay.F90, music_md.F90, music_gcmc.F90, music_post.F90) 以music_mapmaker.F90为例: 从[drivers]中将music_mapmaker.F90复制到[src]中,将文件名改为music.F90,网页上说明F必须大写,这可能与linux下实施区分字母大小有关。 从开始--程序--intel fortran的目录中进入带fortran编译环境的命令提示符窗口(cmd窗口),我用的是IA-32模式。 在此cmd窗口中进入工作目录,比如 d:\music\src 输入 perl makemake 回车 (!生产一个新的makefile文件) 输入 make 回车,编译开始 编译结束后在music目录中会生成一个post.exe文件,将其重新命名为mapmaker.exe。至此,完成一个完整的编译过程。 将[src]目录中的music.F90以及编译过程中生存*.obj *.mod文件全部删除,按照以上的步骤编译下一个代码。 最终得到mapmaker.exe,mapdisplay.exe,md.exe,gcmc.exe和post.exe 这5个可执行文件。 3. 运行 首先从tinu的主页上下载IRMOF1吸附CH4的例子 Pmap make : http://www.see.ed.ac.uk/~tduren/ ... orial/make_pmap.tar gcmc : http://www.see.ed.ac.uk/~tduren/research/music/Tutorial/gcmc.tar (1)将make_pmap.tar解压到 d:\make_pmap, 在其中发现4个文件夹[atoms], [molecules], [pmaps]和 [run], 新开一个cmd窗口,进入 d:\make_pmap\run 设置环境变量 windows下与linux少有不同,就是将set_path中的内容稍加修改: set ATOMSDIR=d:\make_pmap\atoms 回车 set MOLSDIR=d:\make_pmap\molecules 回车 set PMAPDIR=d:\make_pmap\pmaps 回车 如果不想逐条输入,也可以建一个*.bat的批处理文件将上面的内容写进去,然后执行。 环境变量设定好之后,就可以开始运行,生产Pmap文件,将mapmaker.exe复制到[run],然后在cmd中执行: mapmaker.exe ctr.map.IRMOF1.CH4 > pmap.log (!> pmap.log 会生成一个记录文件,其中包含了一些有用的信息,不加也行,建议加上) 运行结束后会生成IRMOF1.CH4.UFF.pmap文件,~50M,备用。 (2)将gcmc.tar解压到 d:\gcmc, 其中也包含4个文件夹[atoms], [molecules], [pmaps]和 [run], 将先前得到的IRMOF1.CH4.UFF.pmap文件复制到 [pmaps]中,将gcmc.exe和post.exe复制到[run]中。 新开一个cmd窗口,进入 d:\gcmc\run 设置环境变量: set ATOMSDIR=d:\gcmc\atoms 回车 set MOLSDIR=d:\gcmc\molecules 回车 set PMAPDIR=d:\gcmc\pmaps 回车 然后执行gcmc.exe gcmc.Methane.IRMOF1 > gcmc.log 运行结束后,生产各15个*.res和*.con文件。 (3)继续进行post得到isotherm数据 d:\gcmc\run 中的post.ctr文件有个小错误,要修改一下 第8行:IRMOF.Methane.con # basename for config files >>> IRMOF1.Methane.con # basename for config files 继续在先前的cmd窗口中执行(若新开cmd窗口,要再次设定环境变量) post.exe post.ctr > post.log 运行结束后会得到isotherm.Methane文件,其中包含了isotherm的信息。 至此全部运行结束,至于将吸附数值由total转换成excess,可以在excel中完成,可参见版主ghcacj的相关帖子。 ************************** 欢迎讨论! [ Last edited by lmylmy on 2011-7-14 at 01:25 ] |
» 收录本帖的淘帖专辑推荐
材料计算模拟实用技巧 | 多孔材料 | 有机场效应晶体管及有机太阳能电池 | MS & VASP |
condensed matter physics | 感兴趣的问题 | xp经典收藏 |
» 猜你喜欢
参与限项
已经有4人回复
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
北核录用
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
autodock与gromacs在Windows下的安装
已经有10人回复
如何安装FORTRAN软件
已经有23人回复
有谁有在Windows 7运行的Fortran软件吗,分享分享呗 万分感谢
已经有3人回复
Lammps在fedora14下并行安装出错
已经有3人回复
visual fortran
已经有4人回复
在苹果操作系统下,fortran 用什么编译系统?
已经有12人回复
gromacs编译安装
已经有11人回复
大家用的MUsic是什么版本的
已经有8人回复
Linux下编译F程序的问题
已经有4人回复
安裝完VS2010與IVF11.1.072後在cmd下指令編譯程序時出現錯誤
已经有4人回复
关于perl在windowsxp下安装的一个问题
已经有4人回复
Windows下的免费C/C++编译环境下载
已经有40人回复
各位高手,怎么在windows下编译LAMMPS?
已经有4人回复
Code::Blocks IDE for Fortran windows上的完整使用心得
已经有12人回复
在linux下编FORTRAN程序
已经有14人回复
【求助】windows下intel MKL的安装和使用
已经有3人回复
【求助】分子模拟的学习路径
已经有23人回复
【求助】关于VS2008的环境变量的设置
已经有8人回复
【求助】请问有使用Flexible Atomic Code(FAC)程序包的虫虫吗
已经有13人回复
2楼2011-07-14 10:04:34
3楼2011-07-14 11:25:58
4楼2011-07-14 11:50:53
5楼2011-07-20 22:12:01
6楼2011-07-21 08:46:02
8楼2011-09-01 15:18:28
10楼2012-04-27 17:46:47
★★★★★ 五星级,优秀推荐
|
生成的ctr.map.IRMOF1.CH4.UFF.pmap文件大小为0,请问是什么原因?运行过程中没有提示错误。 -------------------------------------- 环境变量设定好之后,就可以开始运行,生产Pmap文件,将mapmaker.exe复制到[run],然后在cmd中执行: mapmaker.exe ctr.map.IRMOF1.CH4 > pmap.log (!> pmap.log 会生成一个记录文件,其中包含了一些有用的信息,不加也行,建议加上) 运行结束后会生成IRMOF1.CH4.UFF.pmap文件,~50M,备用。 -------------------------------- |
11楼2012-06-12 01:15:36
12楼2013-02-21 02:58:10
13楼2013-02-21 20:20:13
14楼2013-05-05 15:27:21
15楼2013-06-05 18:18:30
16楼2013-06-06 08:43:26
17楼2013-07-29 17:35:04
18楼2014-05-22 09:51:09
19楼2014-05-22 09:59:50
20楼2014-05-22 10:58:55
21楼2015-04-05 00:30:58
22楼2015-07-03 21:59:14
23楼2015-12-02 00:14:40
简单回复
2011-07-21 15:57
回复
五星好评 谢谢分享
niliu9楼
2011-12-04 22:36
回复
五星好评 
感谢分享!!

感谢分享!!












; >>>
回复此楼