lammps如何在windows編譯步驟

lammps如何在windows編譯步驟

ID:10547582

大?。?9.50 KB

頁數(shù):3頁

時間:2018-07-07

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

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

1、LAMMPS如何在windows編譯步驟(翻譯整理Lammps上海大學上海市應用數(shù)學與力學研究所,版權所有,據最新版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)境中會認為第二次循環(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目錄內)包括進工程中來,并且在mpi.cpp文件中注釋掉語句//#include(和Linux系統(tǒng)下的取時間有關,windows不支持)同時注釋調所有和時間有關的語句,即函數(shù)MPI_Wtime()中的原始代碼,保持函數(shù)格式,讓內容為空,并給予返回值為0(return0;)5.創(chuàng)建系統(tǒng)文件system.cp

4、p的修改由于輸入說明列表在linux和windows下的某些不同,在文件中system.cpp作如下修改行83:intiarg=2;(修改,默認輸入的問題)行172:inflag=1;(增加改行不知道原因暫時)(原因:因為在dos行命令下運行程序時,給出的變量數(shù)目在G++環(huán)境和VC++環(huán)境中有所不同,也可能和MPI相關,這個不同只是其中之一,一旦上面說的修改成功,程序輸入命令的個數(shù)才正確)之后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發(fā)生在毫秒時而usleep發(fā)生在微妙,所以這個值被1000分開。(不明白何意思)7.新版erfc錯誤新版本的LAMMPS程序會調用下列函數(shù)而報錯doubleerfc(double),該函數(shù)屬于GNU的C庫函數(shù),在VC環(huán)境是不存在的。有三種修改方法:一從其他的庫中尋找到函數(shù)erfc()二是因為該函數(shù)是被pair_modify表選項調用的,我們可以在該函數(shù)的表選項中把值設為0,避免調用該函數(shù)三是自

6、己動手寫該函數(shù)補充:在新版的目錄下有這樣的兩個文件erfc.h,erfc.cpp已經被加入到工程中,只需要在所有使用到erfc()函數(shù)的文件頭中增加調用命令#include"erfc.h"即可。注意這兩個函數(shù)為經仔細測試,需謹慎使用。8.重建工程,指定正確的輸入文件運行程序,windows下的結果可能會和unix環(huán)境的結果有所不同,請注意。(JinMajin.ma@okstate.eduOklahomaStateUniversityMarch7,2005)最近增加:如果要增加MPI和FFT,則如下(由TimothyLau聯(lián)系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環(huán)境下的,多核處理器或者

8、windows結點結構(cluster)并行機上運行

當前文檔最多預覽五頁,下載文檔查看全文

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

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