lammps如何在windows编译步骤

lammps如何在windows编译步骤

ID:10547582

大小:39.50 KB

页数:3页

时间:2018-07-07

lammps如何在windows编译步骤_第1页
lammps如何在windows编译步骤_第2页
lammps如何在windows编译步骤_第3页
资源描述:

《lammps如何在windows编译步骤》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、LAMMPS如何在windows编译步骤(翻译整理Lammps上海大学上海市应用数学与力学研究所,版权所有,据最新版06年6月份的,原说明在SRC/MAKE/WINDOWS目录下)2004/11/20(该方法由JinMa(OkalahhomaStateUniversity)给出,联系Jin.Ma@okstate.edu)编译环境为微软windows的VC++6.0,不带MPI(并行处理)和FFT算法。创建一个空的win32控制台工程(win32consoleproject),添加Src目录下所有的.h文件和.cpp文件到工程。1.变量的重定义问题代码中约有8

2、0处地方,变量出现重定义问题。大部分都出现在循环过程中,可以很容易修正。例如这样的循环:for(inti=0;i<5;i++){something}for(inti=0;i<5;i++{somethingelse}这种情况在Linux下的g++编译环境中是允许的,但是在VC环境中会认为第二次循环时变量i被重定义,因此变量的范围是不同的。这在代码中有很多,因此在编译错误修正时只需要把定义整形变量i的定义放在语句中,而不是放在循环体中。2.fft问题在文件fft3d.h的开头增加#ifndefFFT_NONE#defineFFT_NONE#endif取消FFT功

3、能的编译,即不编译文件3.input文件的修改在input文件中修改下面的语句//#include"unistd.h"(注销)#include"direct.h"(增加)4.处理MPI问题把文件mpi.h和mpi.cpp(在STUBS目录内)包括进工程中来,并且在mpi.cpp文件中注释掉语句//#include(和Linux系统下的取时间有关,windows不支持)同时注释调所有和时间有关的语句,即函数MPI_Wtime()中的原始代码,保持函数格式,让内容为空,并给予返回值为0(return0;)5.创建系统文件system.cp

4、p的修改由于输入说明列表在linux和windows下的某些不同,在文件中system.cpp作如下修改行83:intiarg=2;(修改,默认输入的问题)行172:inflag=1;(增加改行不知道原因暂时)(原因:因为在dos行命令下运行程序时,给出的变量数目在G++环境和VC++环境中有所不同,也可能和MPI相关,这个不同只是其中之一,一旦上面说的修改成功,程序输入命令的个数才正确)之后2005年1月修改。4-a.输入文件问题(由TimLau补充,MIT,ttl@mit.edu在variable.cpp文件中进行修改头文件//#include"unis

5、td.h"#include"direct.h"#include"windows.h"另外修改usleep(100000)为Sleep(100)修改说明:因为当Sleep发生在毫秒时而usleep发生在微妙,所以这个值被1000分开。(不明白何意思)7.新版erfc错误新版本的LAMMPS程序会调用下列函数而报错doubleerfc(double),该函数属于GNU的C库函数,在VC环境是不存在的。有三种修改方法:一从其他的库中寻找到函数erfc()二是因为该函数是被pair_modify表选项调用的,我们可以在该函数的表选项中把值设为0,避免调用该函数三是自

6、己动手写该函数补充:在新版的目录下有这样的两个文件erfc.h,erfc.cpp已经被加入到工程中,只需要在所有使用到erfc()函数的文件头中增加调用命令#include"erfc.h"即可。注意这两个函数为经仔细测试,需谨慎使用。8.重建工程,指定正确的输入文件运行程序,windows下的结果可能会和unix环境的结果有所不同,请注意。(JinMajin.ma@okstate.eduOklahomaStateUniversityMarch7,2005)最近增加:如果要增加MPI和FFT,则如下(由TimothyLau联系ttl@MIT.EDU给出,相关步

7、骤参考之前的说明如果你想使用FFT,先在载源码FFTW2.1.5,然后解压(dump)全部的文件到和LAMMPS相同的目录下,然后包括所有FFTW的文件(.c文件和.h文件)到工程中,接下来修改上述第三个关于FFTW的问题。在文件fft3d.h中修改为#ifndefFFT_FFTW#defineFFT_FFTW#endif你必须小心的检查visualstidoe编译中关于“WIN32”变量的定义,尽管visualstudio可能会自动定义它,涉及到文件fftw.h的行137处。如果你还要增加MPI功能,即在微软visualvistdo环境下的,多核处理器或者

8、windows结点结构(cluster)并行机上运行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。