导航:首页 > 源码编译 > 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编译相关的资料

热点内容
阿里用的什么数据库服务器 浏览:337
玩剑网用哪个攻略app 浏览:76
javamysql数据库操作 浏览:225
眉山参加少儿编程培训 浏览:986
androidaes加密java 浏览:816
蜜字的app叫什么 浏览:544
程序员配乐 浏览:453
做一个解压屋 浏览:619
品牌衣服用什么app 浏览:151
python3链接数据库 浏览:55
教课书英语是什么app 浏览:884
环液式压缩机 浏览:479
android控件事件 浏览:967
云服务器的镜像选择什么 浏览:755
python如何设置cplex 浏览:10
linux的mv命令详解 浏览:359
怎么把安装好的python放在桌面上 浏览:121
mysql退出当前命令 浏览:743
现在还有什么手机好用的app 浏览:326
java字符处理函数 浏览:278