注意gfortran编译会出现各种问题不好解决
注意有的代码缺少inc头文件 找完整代码
vasplib 安装 make没有定义clean 需要手动删除o文件和预处理过的F文件,特别注意删除F文件
yum 安装的openmi 更改mpif90的wrapper文件使用FC=ifort 编译后至少小例子可以正常使用
vasp 并行 串行版本的区分主要通过 编译器预处理fpp 或者用cpp
注意MPI版本的CPP选项 -DMPI 定义MPI对应代码中的条件编译#ifdef MPI 如果不使用并行部分的CPP选项mpif90 编译的是同时串行运行多遍而不是并行
使用vasp自代fft
FFT3D = fftmpi.o fftmpi_map.o fft3dfurth.o fft3dlib.o
使用fftw3 前面目标文件为vasp生成 最后a文件为fftw3的静态链接库
FFT3D = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o /home/zhanfei/mylib/fftw/lib/libfftw3.a
scalapack可以注视掉不用
为了省事BLAS LAPACK使用-mkl 配合ifort使用
BLAS或者LAPACK=-lblas -llapack 使用动态链接库 lapack的gfortran静态版会出现符号错误
scalapack使用静态库
SCA=/home/pla/build/scalapack-2.0.2/libscalapack.a
使用yum安装的mpif90
export OMPI_FC=ifort
编译历史问题
1 WARNING: CNORMN: search vector ill defined
原因 使用了ifort + -lblas -llapack ifort 总结ifort谨慎使用系统自带动态链接库
集群编译问题
1 i386 x86-64 原因openblas出现了连接器ld i386 x86_64 问题
ld: warning: i386:x86-64 architecture of input file `../libopenblas_penrynp-r0.2.15.a(ctrsm_ilnucopy.o)' is incompatible with i386 output
2 lapack错误 lapack无法正确被davidsion.o调用
解决方法降低优化级别,简化编译选项
FFLAG= -I$(MKLROOT)/include #编译选项只包含mkl
OFLAG= #不使用O1 O2 O3 系列优化选项
#BLAS=libblas.a liblapack.a libtmglib.a -lblas -llapack
BLAS= -L$(MKLROOT)/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread -lm
WARNING: Sub-Space-Matrix is not hermitian in DAV 2
-5.381221554134391E+050
Error EDDDAV: Call to ZHEGV failed. Returncode = 10 2 18
davidson.o : davidson.F
$(CPP)
$(FC)$(FFLAGS) -O1 -c $*$(SUFFIX)
feupdateenv is not implemented and will always fail解决办法-limf 参考https://software.intel.com/en-us ... mpiler/topic/298872
vasp常用工具vtst的script http://theory.cm.utexas.edu/svn/vtstscripts/
一些关于周期体系的杂记常用数据库
ICSD Findit
AFLOW http://aflowlib.org/
Crystallography Open Database http://www.crystallography.net/cod/
网络资料vasp常见错误wiki http://www.error.wiki/VASP
常用名词对应的空间群
金红石octahedrite Rutile p42/mnm编号136
错误日志
ERROR EDDDAV: Call to ZHEGV failed. Returncode = 10 2 16 解决1并行参数设置不合理比如mpirun -n 8 时候设置NCORE=1 解决2LSCALAPACK = .FALSE. ERROR The old and the new charge density differ 解决ISYM = 0 参考http://www.error.wiki/The_old_and_the_new_charge_density_differ
|