alamode的安装

该网站的链接
这里记录下安装alamode的过程,以便以后的继续使用(只叙述我安装的过程),用的是ubuntu

1.依赖安装(编译器等)

  1. Intel编译器集群并行版本安装
    包含了所需的C++ compilerLAPACK library,MPI library (OpenMPI, MPICH2, IntelMPI, etc.),FFTW library

    image.png

    这里按着提示安装,安装完之后写一下环境变量就行,环境变量如下(我这里装在了/home/zhangsan/intel1目录下):

    # intel2020 
    source /home/zhangsan/intel1/compilers_and_libraries_2020.4.304/linux/bin/compilervars.sh intel64
    source /home/zhangsan/intel1/compilers_and_libraries_2020.4.304/linux/bin/ifortvars.sh intel64
    source /home/zhangsan/intel1/compilers_and_libraries_2020.4.304/linux/bin/iccvars.sh intel64
    export LD_LIBRARY_PATH=/home/zhangsan/intel1/compilers_and_libraries_2020.4.304/linux/mkl/lib/intel64_lin:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=/home/zhangsan/intel1/lib/intel64_lin:$LD_LIBRARY_PATH
    

    记得

    source .bashrc
    
  2. Boost C++ library和 Eigen3 library
    这连个安装相同放在了一起

    • 比如你的用户家目录叫zhangsan,你的home目录等同于$(home) == /home/zhangsan
    • 那么新建/home/zhangsan/ect的目录把解压完的两个包放进去,
    • 然后再创建一个/home/zhangsan/include目录
    • 最后做个软链接
      $ ln -s /home/zhangsan/etc/boost_1_75_0/boost /home/zhangsan/include/boost
      $ ln -s /home/zhangsan/etc/eigen-3.3.9/Eigen /home/zhangsan/include/Eigen
      
  3. spglib安装

    • 解压完后也放到/home/zhangsan/ect
    • 然后安装到/home/zhangsan/include/spblib目录下,命令如下:
      $ cd /home/zhangsan/etc/spglib
      $ mkdir build && cd build
      $ cmake -DCMAKE_INSTALL_PREFIX="" ..
      $ make
      $ make DESTDIR=/home/zhangsan/include/spglib install
      
    • 添加进环境变量
      # spglib
      export LD_LIBRARY_PATH=/home/one/include/spglib/lib:$LD_LIBRARY_PATH
      

2.编译alamode

  1. 先这个软件下下来,用git比较方便
    git clone https://github.com/ttadano/alamode.git
    
    然后解压后依旧放到/home/zhangsan/etc/吧,有中二强迫症。
  2. 编译三个东西alm;anphon;tools
    • alm
      进入到/home/zhangsan/etc/alamode/alm目录,然后cp Makefile.linux Makefile
      然后修改Makefile的前几行,如下:
      CXX = icpc  #注意icpc有没有
      CXXFLAGS = -O2 -xHOST -qopenmp -std=c++11 # 注意是不是qopenmp
      INCLUDE = -I../include -I$(HOME)/include -I/home/zhangsan/include/spblib/include # 大力出奇迹直接给spblib的绝对路径
      
      CXXL = ${CXX}
      LDFLAGS = -mkl -L/home/zhangsan/include/spglib/lib -lsymspg # 大力出奇迹直接给spblib的绝对路径
      
      然后编译
      make -j
      
    • anphon
      进入到/home/zhangsan/etc/alamode/anphon目录,然后cp Makefile.linux Makefile
      然后修改Makefile的前几行,如下:
       MPICXX = mpiicpc #是不是mpiicpc
       CXXFLAGS = -O3 -xHOST -qopenmp -D_FE_BUBBLE -std=c++11 #是不是qopenmp 这里-D_FE_BUBBLE我看别人帖子上加的
       INCLUDE = -I../include -I/home/zhangsan/include -I/home/zhangsan/include/spglib/include -I/home/zhangsan/intel1/compilers_and_libraries_2020.4.304/linux/mkl/include -I/home/zhangsan/intel1/compilers_and_libraries_2020.4.304/linux/mkl/include/fftw #直接暴力给满
      
       LINKER = ${MPICXX}
       LDFLAGS = -mkl -L/home/zhangsan/include/spglib/lib -lsymspg #直接绝对路径
      
      然后编译
      make -j
      
    • tools
      #Intel compiler
      CXX = icpc #是不是icpc
      
      # OSX (gcc)
      #CXX = g++-9
      
      # OSX (clang)
      #CXX = g++
      
      # OSX
      #CXX = clang++
      
       CXXFLAGS = -O2 -std=c++11
      
      # Add the directory containing boost header files here
      INCLUDE = -I../include -I/home/zhangsan/include #直接绝对路径
      
      然后编译
      make -j
      
    • 安装完后环境变量中指定命令
      # alamode
      alias alm=/home/one/etc/alamode/alm/alm
      alias anphon=/home/one/etc/alamode/anphon/anphon
      
      记得
      source .bashrc
      

诡异问题

有些迷的地方是:我用两个alamode包编译alm编译成功anphon可能会失败,反之亦然,我的方法是直接把编译成功的拼凑起来,然后就是完整的了。

你可能感兴趣的:(alamode的安装)