導航:首頁 > 源碼編譯 > wien2k編譯

wien2k編譯

發布時間:2022-06-14 02:12:55

⑴ 有沒有專門解答量子力學的軟體

專門解答量子力學的軟體有:vasp、CASTEP、MS、elk、ASW、abinit、Quantum-ESPRESSO、flapw

vasp由於優化演算法比較好,計算速度較快,計算時問題出現較少,需要控制的參數也不是很多。而且他還有比較獨特的paw勢,在dft平面波的軟體中,日漸趨於主流軟體。其功能也在逐漸完善。發展潛力很大。
abinit計算軟體,我感覺其功能還是很強大的(可以說其它第一性原理軟體能計算的性質,它基本都沒問題,而且它的gw和dfpt獨特功能),計算速度也不是很慢。只是用起來太麻煩,控制參數繁多,入門很慢。
至於再具體的,很多時候就得具體的問題,具體分析了。

MS中包括Visualizer、CASTEP、Dmol3、VAMP、 Discover、 Amorphous Cell、Compass等多個建模和計算軟體,可進行晶體、非晶電子結構的量子力學計算,也可進行分子的量子力學計算;可進行材料的分子動力學計算;可進行x-ray衍射計算;能夠處理稀土元素,功能強大,就是貴。有Linux和Windows版本,便於學習。 VASP 具有很好的贗勢,與CASTEP相似,使用平面波基組。 Wien2k是全電子計算的量子化學軟體,處理磁性材料較好。abinit、 Siesta是免費軟體,提供原代碼。處理重金屬不準,缺乏相應的贗勢。用於計算晶體的電子結構。 Gaussian主要用於分子、離子的計算,可處理激發態,精度高,耗資源。

flapw中強烈推薦elk,主要優點:代碼清晰,容易了解計算原理。後處理極為簡單,像畫能帶圖時,會自動給出高對稱點,使用自帶的elkband可以很容易得到能帶圖而不用復雜的後處理過程。同時可以處理的性質比較多。
缺點:文檔太少。只有一個輸入說明,不適合新手。不過官方論壇提問作者一般都會回答。再就是為方便後處理,輸出文件比較多,使用前最好看下給的相關例子。再就是目前不支持mpi(可以用openmp並行),對聲子不能用dfpt。

綴加球面波方法-ASW
這個軟體是在量子化學網上看到的,之前一直都在使用abinit,但是苦於我要計算的體系所含元素的贗勢不全,所以就嘗試使用ASW。但是目前至少在小木蟲上發現使用此軟體的人極少。ASW程序的執行文件需要通過郵件向volker Eyert申請。
我總結ASW的特點:計算速度快;輸入文件只有一個而且相對簡單;磁性計算比較全面:包括無磁、鐵磁、反鐵磁。當然個人認為它最大的一個優點就是作者編寫了很多計算和後期作圖的腳本,使用很方便,特別是處理分波態密度時相當輕松。另外目前也發現了一些問題:個人感覺ASW對計算體系的結構尤其是對稱性方面有很嚴格的限制,並不像VASP或是ABINIT那樣相對寬松,還有就是它的優化功能不是很全面,可能是我使用的還不是很熟練地原因。

abinit、MS.的功能非常強大。第一性原理能計算的性能方法,基本都可以計算。但相對與VASP來說,精度方面可能需要加強。VASP計算可以結合其它的程序計算更多的性能。如結合phonopy算聲子普。結合ATAT計算激發態的一些性能。

現在常用的第一性原理計算軟體中最容易上手的就是MS,雖然它有很多缺點,比如說贗勢不好,精度不高,源代碼不開放等等,但是對於一般的科研工作而言就夠用了,畢竟我們做計算的目的是尋求規律,解釋現象,探求本質,而不是一味追求高精度。精度再高也是理想狀態,也無法實現復雜實驗條件的模擬。至於文章中圖譜的效果、好看與否,更大程度上在於個人對於數據的理解程度、後續分析及數據處理,而不是軟體本身了。從這個角度講,ms則是一款比較實用的軟體,把時間和精力用於軟體的開發和學習還不如用來加深理論功底和數據分析!一點拙見而已。

使用Quantum-ESPRESSO中,與Abinit一樣,都是開源的多功能第一性原理計算包,同樣支持GW的計算,並且帶有SISSA自主研發的TDDFPT,雖然現在發布的還是有很多功能限制和缺陷。另外,聲子計算方面,比Abinit要簡便,可以直接像給出k點一樣給出q網格。事實上,DFPT方法的發明者就是Quantum-ESPRESSO的作者。另外,QE與其他一些軟體包都有介面,可以協調工作,比如萬尼爾方程。
計算速度也比較快,計算參數設置靈活但是不復雜,並且郵件列表裡人不少,編譯時也非常簡單,基本不用自己設置什麼參數。最大的問題就是贗勢庫過分不完整,很多時候只能靠著轉換別的軟體的贗勢,或者自己生成贗勢,這對不了解理論或者贗勢的新手非常致命。另外不同的功能分散在不同的可執行文件中,剛開始入門時可能容易犯暈~

flapw中的wien2k也是很不錯的。優點主要在於:
1、有圖形界面,上手相對容易,輸入和後續處理都有比較好的腳本處理,都很方便。
2、手冊對各個參數介紹很全,還有mailinglist可以查詢和討論。
3、對很多物理性質直接模擬,比如光學性質,譜,聲子譜等。
4、軟體價格很便宜,好像是$400,可以在大型伺服器上並行,處理上百個原子是沒有問題的,當然計算量相對贗勢程序要大。
5、常用的各種交換關聯勢都已經集成,GW方法已經集成只是還沒有釋放。

Quantum-ESPRESSO, 個人認為對初學者最大的障礙是沒有好的manual. 如果以前沒有用過其他的第一性原理軟體對於參數的設置就比較難以理解. 不過, 確實如souledge 所說郵件列表非常活躍, 問了幾次問題都能有人熱心的解答. 實在不行了跟軟體的作者聯系, 會學到很多東西.
個人比較看好 Quantum-ESPRESSO, 作為開源軟體最大的優勢就是能吸納最新的研究成果, 並且自己有更大的主動權.

⑵ 求高手翻譯一段英文。。

希望能幫到你。

在本節中,我們簡要地描述科學雲計算AMI的。虛擬機映像,作為雲計算的藍圖專門配置的同時,HPC科學計算應用的實例。簡單地說,它是一個最小的64位Fedora 13的Linux發行版,增強的工具,通常需要進行科學計算,如Fortran 95和C ++編譯器,數值庫(如BLAS,ScaLAPACK的),MPI(1.4.3) PBS,PVFS,等。我們的第二代SCC AMI的多項改進,在原來的原型[24]:AMI捆綁幾個廣泛應用於材料科學的代碼,通常需要高性能計算能力的關系。
包括電子結構代碼(ABINIT[32],量子ESPRESSO[33]的Car-Parrinello[34],和WIEN2k[19]的分子動力學代碼LAMMPS[35]和GROMACS[36]),並興奮狀態碼(AI2NBSE[37],EXC!婷[38],FEFF9[17],海洋[39],RT-SIESTA[40],的章魚[41]),和量子化學istry代碼(NWChem[42] ),但在這里,我們目前唯一的台式商標的FEFF9和WIEN2k。 64位Linux操作系統更適合於科學計算,比其32位predeces,游標的原型[16]。現在本機的圖像存儲在亞馬遜的彈性塊存儲(EBS)[43]系統,而不是舊的S3[28]的基礎設施,在實例啟動時間減少20%-50%(見2.4節)。的需求,新的SCC AMI可以載入到不同的「實例
類型「。速度較慢,但更便宜的情況下,可以使用簡單的任務,同時提供更高的性能母機更多苛刻的計算tions.In的特別,在4.2節中,我們將討論新的EC2「群集實例」[44],這是非常重要的HPC。

⑶ wien2k k點並行需要編譯並行的wien嗎

當某一地區乾旱時,我要帶上許多清涼的水,飛到乾旱地區,讓乾旱地區的人們飲用,然後,我帶著水,邊飛邊撒,下一場及時雨.
當某一地方大堤塌陷時,我要身扛幾百萬泥石袋,火速趕到,拯救沿海人民.
當某一地區發生超級大地震時,我要用健美的臂膀,把壓在人們身上的碎石塊,通通搬走.還要念魔法,讓這一帶恢復原狀,讓人們身上的傷口,快癒合.
當發生搶劫案時,我就會飛到壞蛋面前,一把揪住他的衣服,讓壞蛋束手就擒.如若壞蛋不服,我就要使出超人派絕招—無敵連環拳,讓壞蛋心服口服.
當發生不能預知的海嘯時,我要用超能力變成一張無敵大膜,阻止海水前行,如果有人在劃船的話,我就把頭發變成鉤子,鉤住小船,然後把
小船拉到安全地帶.這樣,就不會有人員傷亡了.

⑷ wien2k的安裝設置

ifort/icc
Ver:11.083 ./configure -c++=icpc -cc=icc -f77=ifort -f90=ifort --prefix=/home/soft/mpi/mpich-1.2.7-intel
make
make install vi ~/.bashrc
添加如下:
##############MPICH###########
export PATH=/home/soft/mpi/mpich-1.2.7-intel/bin:$PATH
################intel compiler###################
. /home/soft/intel/Compiler/11.0/083/bin/intel64/ifortvars_intel64.sh
. /home/soft/intel/Compiler/11.0/083/bin/intel64/iccvars_intel64.sh
###############intel mkl###################
export LD_LIBRARY_PATH=/home/soft/intel/mkl/10.1.2.024/lib/em64t/:$LD_LIBRARY_PATH tar zxf fftw-2.1.5.tar.gz
cd fftw-2.1.5/
export F77=ifort
export CC=icc
./configure --prefix=/home/soft/mathlib/fftwv215-mpich --enable-mpi
make
make install 進入安裝用戶目錄
su - mjhe
mkdir ~/WIEN2k_09
cp WIEN_2k.tar ~/WIEN2k_09 cd ~/WIEN2k_09
tar xf WIEN2k_09.tar
./expand_lapw ./siteconfig_lapw
其中幾個編譯參數需要修改: (可以參考如下)
specify a system
K Linux (Intel ifort 10.1 compiler + mkl 10.0 )
specify compiler
Current selection: ifort
Current selection: icc
specify compiler options, BLAS and LAPACK
Current settings:
O Compiler options: -FR -mp1 -w -prec_div -pc80 -pad -align -DINTEL_VML -traceback
L Linker Flags: $(FOPT) -L/home/soft/intel/mkl/10.1.2.024/lib/em64t/ -pthread -i-static
P Preprocessor flags '-DParallel'
mkl的庫用靜態的:
R R_LIB (LAPACK+BLAS): /home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_lapack.a /home/soft/intel/mkl/10.1.2.024/lib/em64t/libguide.a /home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_core.a /home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_em64t.a
configure Parallel execution
Shared Memory Architecture? (y/n):n
Remote shell (default is ssh) = ssh
Do you have MPI and Scalapack installed and intend to run
finegrained parallel? (This is usefull only for BIG cases)!
(y/n) n
Current selection: mpiifort
Current settings:
採用靜態庫
RP RP_LIB(SCALAPACK+PBLAS): -lmkl_intel_lp64 /home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_scalapack_lp64.a /home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_sequential.a /home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_blacs_lp64.a /home/soft/mathlib/fftwv215-mpich/lib/libfftw_mpi.a /home/soft/mathlib/fftwv215-mpich/lib/libfftw.a -lmkl /home/soft/intel/mkl/10.1.2.024/lib/em64t/libguide.a
//
RP RP_LIB(SCALAPACK+PBLAS): -lmkl_intel_lp64 /home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_scalapack_lp64.a /home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_sequential.a /home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_blacs_lp64.a -L/data1/soft/lib/lib/ -lfftw_mpi -lfftw -lmkl /data1/soft/intel/mkl/10.0.3.020/lib/em64t/libguide.a
FP FPOPT(par.comp.options): $(FOPT)
MP MPIRUN commando : mpirun -np _NP_ -machinefile _HOSTS_ _EXEC_
Dimension Parameters
該部分可以採用默認值,也可以設置為(4GB以上內存)
PARAMETER (NMATMAX= 30000)
PARAMETER (NUME= 1000)
進入編譯部分:
Compile/Recompile
A Compile all programs (suggested)
主要在編譯mpi並行版本的5個可執行文件時會出錯,因此編譯後需要檢查以下文件是否存在:
./SRC_lapw0/lapw0_mpi
./SRC_lapw1/lapw1_mpi
./SRC_lapw1/lapw1c_mpi
./SRC_lapw2/lapw2_mpi
./SRC_lapw2/lapw2c_mpi ./userconfig_lapw
editor shall be: vi
其餘都回車
修改.bashrc,注釋以下這行:
#ulimit -s unlimited
修改parallel_options
setenv WIEN_MPIRUN 「mpirun -machinefile _HOSTS_ -np _NP_ _EXEC_」 用root用戶打開apache服務
service apache2 start
在普通用戶下執行
w2web
將打開7890埠作為wien2k的web界面 進行串列計算:
以系統自帶算例TiC為例:
cd TiC
mkdir TiC
cp ../TiC.struct .
生成原子信息:
instgen_lapw
初始化算例:
init_lapw –b
計算:
run_lapw
可以看到程序的輸出結果在*.output中,如有錯誤可以在TiC.dayfile中查詢。
進行並行計算:
測試並行環境是否設置:
testpara_lapw
測試算例計算狀態:
testpara1_lapw
testpara2_lapw
根據.machines文件不同決定進行k點或mpi並行計算:
K點:
granularity:1
1:node31:1
1:node31:1
1:node32:1
1:node32:1
lapw0:node31:2 node32:2
extrafine:1
mpi:
granularity:1
1:node31:2
1:node32:2
lapw0:node31:2 node32:2
extrafine:1
計算:
run_lapw -p cat wien2k.pbs
###########################################################################
# #
# Script for submitting parallel wien2k_09 jobs to Dawning cluster. #
# #
###########################################################################
###########################################################################
# Lines that begin with #PBS are PBS directives (not comments).
# True comments begin with # (i,e., # followed by a space).
###########################################################################
#PBS -S /bin/bash
#PBS -N TiO2
#PBS -j oe
#PBS -l nodes=1:ppn=8
#PBS -V
#############################################################################
# -S: shell the job will run under
# -o: name of the queue error filename
# -j: merges stdout and stderr to the same file
# -l: resources required by the job: number of nodes and processors per node
# -l: resources required by the job: maximun job time length
#############################################################################
#########parallel mode is mpi/kpoint############
PARALLEL=mpi//表示採用mpi並行或k點並行
echo $PARALLEL
################################################
NP=`cat ${PBS_NODEFILE} | wc -l`
NODE_NUM=`cat $PBS_NODEFILE|uniq|wc -l`
NP_PER_NODE=`expr $NP / $NODE_NUM`
username=`whoami`
export WIENROOT=/home/users/mjhe/wien2k_09/
export PATH=$PATH:$WIENROOT:.
WIEN2K_RUNDIR=/scratch/${username}.${PBS_JOBID}
export SCRATCH=${WIEN2K_RUNDIR}
#creat scratch dir
if [ ! -a $WIEN2K_RUNDIR ]; then
echo Scratch directory $WIEN2K_RUNDIR created.
mkdir -p $WIEN2K_RUNDIR
fi
cd $PBS_O_WORKDIR
###############creating .machines################
case $PARALLEL in
mpi)
echo granularity:1 >.machines
for i in `cat $PBS_NODEFILE |uniq`
do
echo 1:$i:$NP_PER_NODE >> .machines
done
printf lapw0:>> .machines
#####lapw0 用mpi並行#############
for i in `cat ${PBS_NODEFILE}|uniq`
do
printf $i:$NP_PER_NODE >>.machines
done
#################################
####lapw0用mpi並行 報錯的算例用以下 mpi error lapw0########
# printf `cat ${PBS_NODEFILE}|uniq|head -1`:1>>.machines
#############end#################
printf /n >>.machines
echo extrafine:1>>.machines
;;
kpoint)
echo granularity:1 >.machines
for i in `cat $PBS_NODEFILE`
do
echo 1:$i:1 >> .machines
done
printf lapw0:>> .machines
#####lapw0 用mpi並行#############
for i in `cat ${PBS_NODEFILE}|uniq`
do
printf $i:$NP_PER_NODE >>.machines
done
#################################
####lapw0用mpi並行 報錯的算例用以下 mpi error lapw0########
# printf `cat ${PBS_NODEFILE}|uniq|head -1`:1>>.machines
#############end#################
printf /n >>.machines
echo extrafine:1>>.machines
;;
esac
#################end creating####################
####### Run the parallel executable WIEN2K#########
instgen_lapw
init_lapw -b
clean -s
echo ##################start time is `date`########################
run_lapw -p
echo ###################end time is `date`########################
rm -rf $WIEN2K_RUNDIR
########################END########################
一般需要修改的地方已用粗體標出
該腳本可以實現算例的初始化,必須在存在*.struct的前提下進行。 CB65
Shanghai 2382:16GB 147GB SAS
1000Gb/mpich v1.2.7
TiO2算例:
NMATMAX=30000
2進程k點,mpi並行lapw0、k點並行lapw1、lapw2模塊
4m44s
4進程k點,mpi並行lapw0、k點並行lapw1、lapw2模塊
4m30s
8進程k點,mpi並行lapw0、k點並行lapw1、lapw2模塊
6m29s
2進程mpi,mpi並行lapw0、lapw1、lapw2模塊
7m53s
4進程mpi,mpi並行lapw0、lapw1、lapw2模塊
6m56s
8進程mpi,mpi並行lapw0、lapw1、lapw2模塊
9m5s
標准測試算例:
官方提供的測試算例:
串列:
test_case
export OMP_NUM_THREADS=1
time x lapw1 –c
SUM OF WALL CLOCK TIMES: 135.0 (INIT = 1.0 + K-POINTS = 133.9)
export OMP_NUM_THREADS=4
time x lapw1 –c
SUM OF WALL CLOCK TIMES: 62.0 (INIT = 1.0 + K-POINTS = 61.0)
export OMP_NUM_THREADS=8
time x lapw1 –c
SUM OF WALL CLOCK TIMES: 56.2 (INIT = 1.0 + K-POINTS = 55.2)
並行:
time x lapw1 –p
test_case
2 kpoint:
test_case.output1: SUM OF WALL CLOCK TIMES: 62.0 (INIT = 1.0 + K-POINTS = 61.0)
test_case.output1_1: SUM OF WALL CLOCK TIMES: 138.5 (INIT = 1.0 + K-POINTS = 137.5)
4 kpoint:
test_case.output1: SUM OF WALL CLOCK TIMES: 62.0 (INIT = 1.0 + K-POINTS = 61.0)
test_case.output1_1: SUM OF WALL CLOCK TIMES: 134.9 (INIT = 1.0 + K-POINTS = 133.9)
mpi-benchmark
2process:
mpi-benchmark.output1_1: TIME HAMILT (CPU) = 134.1, HNS = 116.4, HORB =0.0, DIAG=697.5
mpi-benchmark.output1_1: TOTAL CPU TIME: 950.0 (INIT = 1.9 + K-POINTS = 948.1)
mpi-benchmark.output1_1: SUM OF WALL CLOCK TIMES: 1138.9 (INIT =2.2 + K-POINTS =1136.7)
4process:
mpi-benchmark.output1_1: TIME HAMILT (CPU) = 67.8, HNS = 70.5, HORB = 0.0, DIAG = 420.6
mpi-benchmark.output1_1: TOTAL CPU TIME: 560.7 (INIT = 1.8 + K-POINTS = 558.9)
mpi-benchmark.output1_1: SUM OF WALL CLOCK TIMES: 643.2 (INIT = 2.2 + K-POINTS = 640.9)
8process:
mpi-benchmark.output1_1: TIME HAMILT (CPU) = 40.4, HNS = 44.9, HORB = 0.0, DIAG = 422.0
mpi-benchmark.output1_1: TOTAL CPU TIME: 509.3 (INIT = 1.9 + K-POINTS = 507.4)
mpi-benchmark.output1_1: SUM OF WALL CLOCK TIMES: 614.3 (INIT = 2.2 + K-POINTS = 612.0)
16process:
mpi-benchmark.output1_1: TIME HAMILT (CPU) = 22.6, HNS = 32.5, HORB = 0.0, DIAG = 140.5
mpi-benchmark.output1_1: TOTAL CPU TIME: 197.5 (INIT = 1.9 + K-POINTS = 195.7)
mpi-benchmark.output1_1: SUM OF WALL CLOCK TIMES: 1190.0 (INIT =2.8 + K-POINTS =1187.2)
可以用grep TIME *output1* 顯示計算時間

閱讀全文

與wien2k編譯相關的資料

熱點內容
android控制項事件 瀏覽:965
雲伺服器的鏡像選擇什麼 瀏覽:754
python如何設置cplex 瀏覽:8
linux的mv命令詳解 瀏覽:357
怎麼把安裝好的python放在桌面上 瀏覽:119
mysql退出當前命令 瀏覽:741
現在還有什麼手機好用的app 瀏覽:324
java字元處理函數 瀏覽:274
指紋用於應用加密什麼意思 瀏覽:998
怎麼取消蘋果手機的appid密碼 瀏覽:997
門禁系統錄制卡怎麼加密 瀏覽:753
ssm看源碼哪本書好 瀏覽:933
linux查看網卡的命令 瀏覽:497
basic語言演算法 瀏覽:13
怎麼快捷刪除無用文件夾 瀏覽:475
你家離學校源碼用英語回答 瀏覽:504
電腦如何用伺服器地址 瀏覽:652
php轉化為二進制 瀏覽:738
程序員到國企感受 瀏覽:863
js二分搜索演算法 瀏覽:658