vasp 5.4.4 个人安装记录(gnu编译器编译)

vasp 5.4.4 个人安装记录(gnu编译器编译)


网上的教程以intel编译器编译居多,不过我一直找不到能用的intel编译器资源,折腾了好久也没装上,后来就想着用Linux自带的gnu编译器安装,比intel编译器安装方便一些。(作者系统版本Ubuntu 22.04.1 LTS)

安装步骤
  1. 安装gfortran与python2

    sudo apt install gfortran -y
    sudo apt install python2
    
  2. 下载blas, cblas, lapack, scalapack, 并解压所有文件

    # 你也可以自己下载最新版
    wget www.netlib.org/blas/blas.tgz 
    wget www.netlib.org/blas/blast-forum/cblas.tgz
    wget www.netlib.org/lapack/lapack-3.4.2.tgz
    wget github.com/Reference-ScaLAPACK/scalapack/archive/refs/tags/v2.2.0.tar.gz
    

    解压所有文件

    tar -zxvf 你需要解压的文件
    
  3. 进入BLAS文件夹,编译blas

    gfortran -c  -O3 *.f  # 编译所有的 .f 文件,生成 .o文件
    ar rv libblas.a *.o  # 链接所有的 .o文件,生成 .a 文件
    sudo cp libblas.a /usr/local/lib/ # 将库文件复制到系统库目录
    
  4. 进入CBLAS文件夹,编译cblas

    cp Makefile.LINUX Makefile.in
    # 修改Makefile.in文件,添加gfortran编译选项-fallow-argument-mismatch,不然可能会因为强制类型转换报error(新版本编译器更严格)
    cp ../BLAS-3.10.0/libblas.a  testing  # 将上一步编译成功的 libblas.a 复制到 CBLAS目录下的testing子目录
    make # 编译所有的目录
    sudo cp lib/cblas_LINUX.a /usr/local/lib/libcblas.a # 将库文件复制到系统库目录下
    
  5. 进入lapack文件夹,准备编译lapack以及lapacke

    cp make.inc.example make.inc # 也可以去INSTALL目录下寻找其他合适的make.inc
    

    修改Makefile中依赖的lib

    #lib: lapacklib tmglib
    lib: blaslib variants lapacklig tmglib
    

    修改make.inc文件

    # 建议添加gfortran编译选项-fallow-argument-mismatch,不然可能会因为强制类型转换报error(新版本编译器更严格)
    #BLASLIB      = ../../librefblas.a
    #LAPACKLIB    = liblapack.a
    #TMGLIB       = libtmglib.a
    #LAPACKELIB   = liblapacke.a
    
    BLASLIB  = /usr/local/lib/libblas.a
    CBLASLIB = /usr/local/lib/libcblas.a
    LAPACKLIB = liblapack.a
    TMGLIB = libtmglib.a
    LAPACKELIB = liblapacke.a
    

    修改lapack_testing.py文件,将第一行的python改为python2

    开始编译

    make # 编译所有的lapack文件
    cd lapacke # 进入lapacke 文件夹,这个文件夹包含lapack的C语言接口文件
    make # 编译lapacke
    sudo  cp include/*.h /usr/local/include/ #将lapacke的头文件复制到系统头文件目录
    cd .. #返回到 lapack-3.4.2 目录
    sudo cp *.a /usr/local/lib/ # 将生成的所有库文件复制到系统库目录
    

    重新修改make.inc文件

    BLASLIB      = ../../librefblas.a
    LAPACKLIB    = liblapack.a
    TMGLIB       = libtmglib.a
    LAPACKELIB   = liblapacke.a
    
    #BLASLIB  = /usr/local/lib/libblas.a
    #CBLASLIB = /usr/local/lib/libcblas.a
    #LAPACKLIB = liblapack.a
    #TMGLIB = libtmglib.a
    #LAPACKELIB = liblapacke.a
    

    编译librefblas.a文件

    make
    sudo cp *.a /usr/local/lib/
    
  6. 进入scalapack文件夹,安装scalapack

    cp SLmake.inc.example SLmake.inc
    # 建议在SLmake.inc添加gfortran编译选项-fallow-argument-mismatch,不然可能会因为强制类型转换报error(新版本编译器更严格)
    make
    sudo cp *.a /usr/local/lib
    
  7. 安装好依赖库后,便可以进入vasp文件夹,编译安装vasp

    cp arch/makefile.include.linux_gnu makefile.include
    # 建议在makefile.include添加gfortran编译选项-fallow-argument-mismatch,不然可能会因为强制类型转换报error(新版本编译器更严格
    make all
    
  8. 编译完毕后便可以在vasp文件夹下的bin文件夹找到vasp可执行文件,将你的vasp/bin添加到PATH即可

    echo "export PATH=/你的vasp安装位置/vasp.5.4.4/bin/:$PATH" >> ~/.bashrc
    source ~/.bashrc
    
参考链接

https://www.jianshu.com/p/33c4aea6117b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值