| 4 | 1/1 | 返回列表 |
| 查看: 3410 | 回復(fù): 5 | |||||||||
| 當(dāng)前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||||||||
pengjun74銀蟲 (初入文壇)
|
[交流]
Ubuntu下安裝lammps單機版(no MPI,no FFT)幾點心得 已有2人參與
|
||||||||
|
說明一下:我用的是ubuntu12,自動更新到13(去系統(tǒng)自帶的“軟件中心”安裝谷歌拼音輸入法,方便后面操作)。下載的lammps為2014年5月份的。 1.更改系統(tǒng)默認的shell 由于ubuntu系統(tǒng)默認的shell是dash,它更小巧、更快。但是聽說安裝一些腳本時容易出錯,因此還是改為bash。 查看系統(tǒng)默認的shell, ls -l /bin/sh 重新配置dash, sudo dpkg-reconfigure dash 然后選擇[no],終端會自己刪除dash,并更改為bash。 2.預(yù)安裝 sudo apt-get install csh sudo apt-get install build-essential lammps要求ubuntu系統(tǒng)的(用于將ubuntu當(dāng)作debain系統(tǒng)?): sudo add-apt-repository ppa:gladky-anton/lammps sudo apt-get update 3.安裝編譯器 由于電腦CPU是Intel的,所以選擇intel的icc和ifort,聽說會比其他編譯器快很多(主要差別在浮點運算?)。下載地址: https://software.intel.com/en-us ... oftware-development,獲得序列號。我下載安裝的是icc2013_sp1.2.144,ifort2013_sp1.2.144版的。 先裝(命令集), sudo apt-get install g++ 去解壓包的目錄下,我的是cd /home/bill/icc sudo ./install.sh ifort的安裝與此相同。 設(shè)置環(huán)境變量,使之生效。 gedit .bashrc 打開.bashrc后,在末尾加上 # l_ccompxe_2013_sp1.2.144 # l_fcompxe_2013_sp1.2.144 這兩行只是用來注釋的 source /opt/intel/bin/compilervars.sh ia32 加這一條可同時使icc,ifort,icpc生效,而不用分別添加。因為compilervars.sh本身就包含了它們的鏈接。 保存,關(guān)閉。 source .bashrc 測試確認一下:輸入which icc,再which icpc,which ifort 卸載和安裝前面的步驟相同,只需在安裝菜單中選“卸載”。 4.MPI和FFT 我是用單機算的,因此沒裝MPI,它是用來不同平臺之間并行計算的。對于單機,還有一個多核并行計算的問題,即openMP。由于intel的編譯器已包括了它,所以不用專門去安裝。這里也把網(wǎng)上的安裝MPI和FFT的貼過來吧: (1)先去軟件中心下載mpich2,這樣省事。cd mpich2-1.0.2p1(去解壓包的目錄)./configure --prefix= /opt/mpich2-gnu(配置,好像這個命令是要求要有g(shù)nu的)make(會出來好多選項)再make install(安裝)。 (2)去官網(wǎng)下載,http://www.fftw.org/download.html,解壓后,cd fftw-2.1.5,./configure --prefix=/opt/mathlib/fftw215-gnu --enable-float,make,make install。 5.編譯lammps (1)MPI庫:去官網(wǎng)下載安裝包,http://lammps.sandia.gov/download.html#tar,常選“發(fā)展包”。 去lammps/src/STUBS/目錄下,將Makefile中的g++改為icc,保存。該目錄是關(guān)于MPI的。 cd /home/bill/lammps/src/STUBS/ make 生成libmpi_stubs.a,是用于非并行的“偽MPI庫”,還有 mpi.o是整體編譯lammps時用于鏈接的“中間目標文件”。 (2)額外庫:poems是C語言寫的,可用icc來編譯;meam和reax是用fortran語言寫的,可用ifort編譯。 cd /home/bill/lammps/lib/poems make -f Makefile.icc 即開始用icc來編譯poems了。會在lammps/lib/poems目錄下會生成一個libpoems.a庫文件,用于編譯整個lammps時調(diào)用,還有一個Makefile.lammps,用于引導(dǎo)編譯時相關(guān)庫的調(diào)用,另外還有若干*.o的“中間目標文件”。(舊版的lammps是直接去MAKE下的Makefile.*加路徑,現(xiàn)在則通過各個“額外包”的Makefile.lammps來改,這樣操作更方便、集中) cd /home/bill/lammps/lib/meam make -f Makefile.ifort 即開始用ifort編譯meam了。會在lammps/lib/meam目錄下生成libmeam.a,Makefile.lammps,*.o。將其Makefile.lammps改為 meam_SYSINC = meam_SYSLIB = -lifcore -lsvml -liompstubs5 -limf meam_SYSPATH = -L/opt/intel/composerxe/lib/ia32 第二行有四個庫,-lifcore調(diào)用libifcore.a庫,為ifort編譯器所需;-lsvml 調(diào)用libsvml.a庫,是short vector math library;-liompstubs5(舊版的ifort是-lompstub,若裝的是新版的ifort用它就會出錯)調(diào)用libompstub.a庫,它與OMP的一個子程序相關(guān),用它(intel編譯器已經(jīng)預(yù)裝了)就不用另外安裝OMP了;-limf調(diào)用libimf.a庫,是一個數(shù)學(xué)庫。 第三行為安裝的intel編譯器的庫(鏈接*.o時候用的?)的地址。 reax的安裝與meam的步驟相同。 (3)選擇和修改Makefile文件:編譯之前先去修改負責(zé)編譯整個lammps的Makefile文件。lammps/src/目錄下有個Makefile.sh,用于引導(dǎo)Makefile.*的選擇,這些備選的Makefile文件都在lammps/src/MAKE目錄下。比如在src目錄下輸make linux,則編譯時將使用Makefile.linux文件來編譯整個lammps。我只要做串行計算,因此選擇的是Makefile.serial這個文件。在用它進行編譯之前,先對它作一點修改。1.編譯器部分兩處改為icc。2.如果安裝了MPI和FFT,則要修改MPI和FFT相應(yīng)的部分,比如 MPI_INC = -I/opt/mpich/include -DMPICH_SKIP_MPICXX MPI_PATH = -L/opt/mpich/lib MPI_LIB = -lmpich -lpthread FFT_INC = -I/opt/fftw/include -DFFT_FFTW FFT_PATH = -L/opt/fftw/lib FFT_LIB = -lfftw3f 3.如果要使用JPEG的功能(in文件中有相應(yīng)的輸出JPEG圖片的命令),則要修改相應(yīng)的部分。 修改完后,保存。 (4)整體編譯lammps:該準備的都準備好后(主要是庫文件和Makefile文件),就可以開始編譯整個lammps了。 回到lammps/src/目錄下(其實前一步也還是在這個目錄下) cd /home/bill/lammps/src/ 查看各包的選擇狀態(tài),make package-status 選擇和剔除各包,我選的是 make yes-all,然后 make no-gpu make no-kim make no-mpiio make no-voronoi make no-user-atc make no-user-awpmd make no-user-colvars make no-user-cuda make no-user-lb make no-user-qmmm 總共安裝了22+8=30個包。其中27個平常的(user-omp需要openMP,單核并行),3個額外包(poems,meam和reax)。 剔除了4+6=10個特殊包。其中g(shù)pu需要cuda(有兩個cuda需要注意區(qū)分),voronoi需要voro++,user-atc需要blas和lapack庫,user-awpmd需要openMPI(多核并行)。 最后即可開始編譯lammps了, cd /home/bill/lammps/src/ make clean-all make serial 編譯成功后會在該目錄下生成名為lmp_serial.exe(后綴可能看不到)的可執(zhí)行文件?蓮(fù)制、剪切、更改名字,復(fù)制到其他地方的同樣可進行計算。 6.用編譯好的lammps來進行計算 將in.*即in文件(可能會帶一個data.*文件)與lmp_serial.exe放在同一個目錄下。若用的是lammps/examples里的in文件,則需要先把dump命令前的#去掉,還可以按需要把輸出的步子比如50改為10等。 先去該目錄下, cd /home/bill/Compute 在該目錄下, ./lmp_serial < in.name 即開始計算了,生成數(shù)據(jù)文件dump.*,包含位置等信息,以及日志log.cite,log.lammps等,記錄命令的運行情況。 7.對計算結(jié)果進行可視化 (1)安裝VMD(visual Molecular Dynamics):預(yù)裝 sudo apt-get install build-essential csh sudo apt-get install csh sudo apt-get install libstdc++5(安裝編譯器也要用到它?) 下載,http://www.ks.uiuc.edu/Developme ... cgi?PackageName=VMD,解壓。 如果要更改安裝位置,則先去目錄/home/bill/vmd-1.9.1/下,找到并修改configure文件, install_bin_dir="/home/bill/lammps-18Apr14/src"(startup script一個啟動腳本,引導(dǎo)作用) install_library_dir="/home/bill/vmd-1.9.1/bin/$install_name"(executables一個可執(zhí)行文件,一個用于實際運行的文件) 如果默認安裝路徑/usr/local/bin/vmd(啟動腳本),則上面不用改。 改好后進行配置, cd /home/bill/vmd-1.9.1 ./configure (出現(xiàn)幾個選項,using configure.options: LINUX OPENGL FLTK TK ACTC CUDA IMD LIBSBALL XINERAMA XINPUT LIBTACHYON VRPN NETCDF TCL PTHREADS SILENT ICC) ./configure LINUX(選LINUX) 配置好后,開始安裝, cd src(或者cd /home/bill/vmd-1.9.1/src) sudo make install 試試 vmd 命令,直接在終端輸“vmd”,結(jié)果出現(xiàn) rlwrap: Command not found. 但仍然可以運行,并出現(xiàn)vmd的兩個窗口界面。 去軟件中心搜“rlwrap”,下載、安裝即可。若運行vmd還是出現(xiàn)那個問題,就去/usr/local/bin下找名為vmd的啟動腳本,修改它。 先用命令改其權(quán)限。 sudo chmod g+rw /usr/local/bin/vmd 再打開該文檔,查找與rlwrap有關(guān)的字段,有兩處亂碼,是需要slash才能正確顯示的符號。不想安裝slash就要把以下亂碼刪除。 -b(){}[],&^%#;|\\ 為了留個記錄,可把原句注釋掉(在該行最開頭加個符號#),再在下面加上沒有亂碼的語句。 再用chmod命令把文件的屬性改回來(也可以不改),運行vmd試試。 (2)先把前面計算得到的dump.*文件改為vmd所要求的.lammpstrj格式,可直接在dump文件名后加此后綴。 運行vmd:在終端輸入vmd,打開軟件的主界面和圖示界面。 載入分子或原子:點開主界面的“File→New Molecules”,會彈出一個名為“Molecule File Browser”的菜單。先在Determine file type下選擇LAMMPS Trajectory,再點Browser,去合適的目錄下尋找.lammpstrj格式的文件,最后點Load,即可導(dǎo)入分子或原子。 改變顯示方式:在主菜單下Graphics→Representations,會彈出Graphical Representations。Drawing Method下選,VDW,此時原子顯示為小球。更改球的半徑,Sphere Scale調(diào)為0.5或0.4。 將模擬過程保存為動畫:主菜單Extensions→Visualization→Movie Maker,會彈出一個名為VMD Movie Generator的菜單。先在Movie Settings下選擇Trajectory即輸出軌跡(此菜單下還可決定是否刪除在制作動畫過程中生成的一系列圖片),再點Set working directory設(shè)置輸出動畫的地址。如果要輸出GIF格式的圖片,則Fornat→Animated GIF(ImageMagick);如果要輸出mpeg格式的視頻,則Format→mpeg-1(ppmtompeg)。最后Make Movie,開始制作。在使用這兩個功能之前,需要先安裝相應(yīng)的插件(可通過軟件中心):ImageMagick用以輸出GIF,NetPBM用以輸出mpeg。 |
資源收集 | 分子動力學(xué) | MD分子動力學(xué) | 科研 |
lammps學(xué)習(xí) | 分子動力學(xué) |
銀蟲 (初入文壇)
銀蟲 (初入文壇)
| 4 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 328求調(diào)劑,英語六級551,有科研經(jīng)歷 +3 | 生物工程調(diào)劑 2026-03-16 | 10/500 |
|
|---|---|---|---|---|
|
[教師之家] 焦慮 +8 | 水冰月月野兔 2026-03-13 | 12/600 |
|
|
[考研] 314求調(diào)劑 +8 | 無懈可擊的巨人 2026-03-12 | 8/400 |
|
|
[考研] 085601專碩,總分342求調(diào)劑,地區(qū)不限 +5 | share_joy 2026-03-16 | 5/250 |
|
|
[考研] 化工學(xué)碩306求調(diào)劑 +10 | 42838695 2026-03-12 | 10/500 |
|
|
[考研] 收復(fù)試調(diào)劑生 +4 | 雨后秋荷 2026-03-18 | 4/200 |
|
|
[考研] 材料專碩274一志愿陜西師范大學(xué)求調(diào)劑 +6 | 薛云鵬 2026-03-13 | 6/300 |
|
|
[考研] 070300化學(xué)319求調(diào)劑 +6 | 錦鯉0909 2026-03-17 | 6/300 |
|
|
[考研] 278求調(diào)劑 +5 | 煙火先于春 2026-03-17 | 5/250 |
|
|
[考研] 334求調(diào)劑 +3 | 志存高遠意在機?/a> 2026-03-16 | 3/150 |
|
|
[考研] 材料與化工專碩調(diào)劑 +5 | heming3743 2026-03-16 | 5/250 |
|
|
[考研] 藥學(xué)383 求調(diào)劑 +3 | 藥學(xué)chy 2026-03-15 | 4/200 |
|
|
[考研] 一志愿211 0703方向310分求調(diào)劑 +3 | 努力奮斗112 2026-03-15 | 3/150 |
|
|
[考研] 304求調(diào)劑 +3 | 曼殊2266 2026-03-14 | 3/150 |
|
|
[考研] 070300化學(xué)學(xué)碩求調(diào)劑 +6 | 太想進步了0608 2026-03-16 | 6/300 |
|
|
[考研] 求老師收留調(diào)劑 +4 | jiang姜66 2026-03-14 | 5/250 |
|
|
[考研] 255求調(diào)劑 +3 | 李嘉慧, 2026-03-12 | 4/200 |
|
|
[考研] 085600材料與化工 309分請求調(diào)劑 +7 | dtdxzxx 2026-03-12 | 8/400 |
|
|
[考研] 0817化學(xué)工程與技術(shù)考研312分調(diào)劑 +3 | T123 tt 2026-03-12 | 3/150 |
|
|
[考研] 081200-11408-276學(xué)碩求調(diào)劑 +3 | 崔wj 2026-03-12 | 4/200 |
|