lammps如何在windows編譯步驟

lammps如何在windows編譯步驟

ID:10547582

大小:39.50 KB

頁數(shù):3頁

時間:2018-07-07

lammps如何在windows編譯步驟_第1頁
lammps如何在windows編譯步驟_第2頁
lammps如何在windows編譯步驟_第3頁
資源描述:

《lammps如何在windows編譯步驟》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、LAMMPS如何在windows編譯步驟(翻譯整理Lammps上海大學(xué)上海市應(yīng)用數(shù)學(xué)與力學(xué)研究所,版權(quán)所有,據(jù)最新版06年6月份的,原說明在SRC/MAKE/WINDOWS目錄下)2004/11/20(該方法由JinMa(OkalahhomaStateUniversity)給出,聯(lián)系Jin.Ma@okstate.edu)編譯環(huán)境為微軟windows的VC++6.0,不帶MPI(并行處理)和FFT算法。創(chuàng)建一個空的win32控制臺工程(win32consoleproject),添加Src目錄下所有的.h文件和.cpp文件到工程。1.變量的重定義問題代碼中約有8

2、0處地方,變量出現(xiàn)重定義問題。大部分都出現(xiàn)在循環(huán)過程中,可以很容易修正。例如這樣的循環(huán):for(inti=0;i<5;i++){something}for(inti=0;i<5;i++{somethingelse}這種情況在Linux下的g++編譯環(huán)境中是允許的,但是在VC環(huán)境中會認(rèn)為第二次循環(huán)時變量i被重定義,因此變量的范圍是不同的。這在代碼中有很多,因此在編譯錯誤修正時只需要把定義整形變量i的定義放在語句中,而不是放在循環(huán)體中。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目錄內(nèi))包括進(jìn)工程中來,并且在mpi.cpp文件中注釋掉語句//#include(和Linux系統(tǒng)下的取時間有關(guān),windows不支持)同時注釋調(diào)所有和時間有關(guān)的語句,即函數(shù)MPI_Wtime()中的原始代碼,保持函數(shù)格式,讓內(nèi)容為空,并給予返回值為0(return0;)5.創(chuàng)建系統(tǒng)文件system.cp

4、p的修改由于輸入說明列表在linux和windows下的某些不同,在文件中system.cpp作如下修改行83:intiarg=2;(修改,默認(rèn)輸入的問題)行172:inflag=1;(增加改行不知道原因暫時)(原因:因?yàn)樵赿os行命令下運(yùn)行程序時,給出的變量數(shù)目在G++環(huán)境和VC++環(huán)境中有所不同,也可能和MPI相關(guān),這個不同只是其中之一,一旦上面說的修改成功,程序輸入命令的個數(shù)才正確)之后2005年1月修改。4-a.輸入文件問題(由TimLau補(bǔ)充,MIT,ttl@mit.edu在variable.cpp文件中進(jìn)行修改頭文件//#include"unis

5、td.h"#include"direct.h"#include"windows.h"另外修改usleep(100000)為Sleep(100)修改說明:因?yàn)楫?dāng)Sleep發(fā)生在毫秒時而usleep發(fā)生在微妙,所以這個值被1000分開。(不明白何意思)7.新版erfc錯誤新版本的LAMMPS程序會調(diào)用下列函數(shù)而報(bào)錯doubleerfc(double),該函數(shù)屬于GNU的C庫函數(shù),在VC環(huán)境是不存在的。有三種修改方法:一從其他的庫中尋找到函數(shù)erfc()二是因?yàn)樵摵瘮?shù)是被pair_modify表選項(xiàng)調(diào)用的,我們可以在該函數(shù)的表選項(xiàng)中把值設(shè)為0,避免調(diào)用該函數(shù)三是自

6、己動手寫該函數(shù)補(bǔ)充:在新版的目錄下有這樣的兩個文件erfc.h,erfc.cpp已經(jīng)被加入到工程中,只需要在所有使用到erfc()函數(shù)的文件頭中增加調(diào)用命令#include"erfc.h"即可。注意這兩個函數(shù)為經(jīng)仔細(xì)測試,需謹(jǐn)慎使用。8.重建工程,指定正確的輸入文件運(yùn)行程序,windows下的結(jié)果可能會和unix環(huán)境的結(jié)果有所不同,請注意。(JinMajin.ma@okstate.eduOklahomaStateUniversityMarch7,2005)最近增加:如果要增加MPI和FFT,則如下(由TimothyLau聯(lián)系ttl@MIT.EDU給出,相關(guān)步

7、驟參考之前的說明如果你想使用FFT,先在載源碼FFTW2.1.5,然后解壓(dump)全部的文件到和LAMMPS相同的目錄下,然后包括所有FFTW的文件(.c文件和.h文件)到工程中,接下來修改上述第三個關(guān)于FFTW的問題。在文件fft3d.h中修改為#ifndefFFT_FFTW#defineFFT_FFTW#endif你必須小心的檢查visualstidoe編譯中關(guān)于“WIN32”變量的定義,盡管visualstudio可能會自動定義它,涉及到文件fftw.h的行137處。如果你還要增加MPI功能,即在微軟visualvistdo環(huán)境下的,多核處理器或者

8、windows結(jié)點(diǎn)結(jié)構(gòu)(cluster)并行機(jī)上運(yùn)行

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。