超算小站 超算小站
首页
  • 注册账号
  • 登录系统
  • 熟悉系统
  • 配置环境
  • 数据管理
  • 作业管理
  • 集群软件环境:

    • 01.编译环境
    • 02.基础库
    • 03.应用软件
    • 04.工具软件
    • 05.常用语言环境
    • 06.使用进阶
  • 入门课程

    • 01.超算历史
    • 02.VPN登录
    • 03.Mobaxterm工具
    • 04.Linux基本命令
    • 05.Module环境变量管理工具
    • 06.Vim文本编辑器使用
    • 07.Slurm作业管理系统
HPC&AI
  • 01.登录问题
  • 02.编译问题
  • 03.作业问题
  • 04.存储和数据问题
  • 05.GPU问题
资料下载
归档
关于我
🚀试用
首页
  • 注册账号
  • 登录系统
  • 熟悉系统
  • 配置环境
  • 数据管理
  • 作业管理
  • 集群软件环境:

    • 01.编译环境
    • 02.基础库
    • 03.应用软件
    • 04.工具软件
    • 05.常用语言环境
    • 06.使用进阶
  • 入门课程

    • 01.超算历史
    • 02.VPN登录
    • 03.Mobaxterm工具
    • 04.Linux基本命令
    • 05.Module环境变量管理工具
    • 06.Vim文本编辑器使用
    • 07.Slurm作业管理系统
HPC&AI
  • 01.登录问题
  • 02.编译问题
  • 03.作业问题
  • 04.存储和数据问题
  • 05.GPU问题
资料下载
归档
关于我
🚀试用
  • 编译环境

  • 基础库

  • 应用软件

    • alamode 编译安装教程
      • 简介
      • 安装
        • 配置编译环境
        • 安装依赖库
        • 安装ALAMODE
      • 配置环境
      • 简易脚本安装
    • ANGSD 编译安装教程
    • BEAST安装使用教程
    • BerkeleyGW-2.1 安装教程
    • COMSOL安装教程
    • CP2K编译安装教程
    • gromacs编译安装教程
    • jfeff安装说明
    • LAMMPS编译安装教程
    • MIgcm编译安装教程
    • MOLPRO安装使用说明
    • nciplot安装说明
    • ovito安装说明(windows+linux)
    • swash编译安装教程
    • UV-CDAT 安装教程
    • VASP编译安装教程
    • 如何使用WRF
    • VASP6.x编译安装教程
  • 工具软件

  • 常用语言环境

  • 使用进阶

  • 软件中心
  • 应用软件
mrzhenggang
2020-11-16
目录

alamode 编译安装教程

# alamode编译安装教程

# 简介

ALAMODE是一个开源软件,用于分析固体的晶格非谐性和晶格导热系数。通过使用外部DFT软件包,如VASP和Quantum ESPRESSO,您可以使用ALAMODE直接提取谐波和非简谐力常数。利用计算出的非简谐力常数,你还可以根据第一原理估算晶格热导率、声子线宽和其他非谐声子性质。

官网文档:https://alamode.readthedocs.io/en/latest/ (opens new window)

下载地址:https://sourceforge.net/projects/alamode/ (opens new window)

安装说明:https://alamode.readthedocs.io/en/latest/install.html (opens new window)

# 安装

# 配置编译环境

编译环境需要:

  1. 编译器
  2. MPI编译器
  3. cmake命令
  4. MKL库

我们在TH-HPC集群使用如下编译环境:

# 使用module命令加载相关模块(以Intel Compiler 2016为例)
module add cmake/3.12.0-gcc4.8
module add Intel_compiler/16.0.3
module add MKL/16.0.3
module add MPI/Intel/IMPI/5.1.3.210

# 进入用户跟目录!!!( 后面的一些目录配置,默认在用户根目录下完成的 )
cd ~
1
2
3
4
5
6
7
8

提示

不同系统加载编译环境方式不同,请根据系统用户手册加载相关编译环境。也可以用GNU Compiler等编译器。

# 安装依赖库

# boost

不需要编译库,只需要配置头文件的软连接。

# boost
# 前往https://www.boost.org/users/history/version_1_64_0.html
# 下载boost_1_64_0.tar.bz2
# 拷贝到用户根目录

tar xvf boost_1_64_0.tar.bz2
mkdir include; cd include
ln -s ../boost_1_64_0/boost .
cd ..
1
2
3
4
5
6
7
8
9

# eigen

不需要编译库,只需要配置头文件的软连接

# eigen
# 前往https://gitlab.com/libeigen/eigen/-/archive/3.3.3/eigen-3.3.3.tar.bz2
# 下载eigen-3.3.3.tar.bz2
# 拷贝到用户根目录

tar xvf eigen-3.3.3.tar.bz2
cd include
ln -s ../eigen-3.3.3/Eigen .
cd ..
1
2
3
4
5
6
7
8
9

# spglib

这个库需要编译安装,并配置环境变量。后续需要用到相关头文件和库进行编译链接。

# spglib
# 前往https://github.com/spglib/spglib/tags
# 下载spglib-1.16.0.tar.gz
# 拷贝到用户根目录
tar zxvf spglib-1.16.0.tar.gz
cd spglib-1.16.0
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX="" ..
make
make DESTDIR=$HOME/software/spglib-1.16.0 install
export SPGLIB_ROOT=$HOME/software/spglib-1.16.0
1
2
3
4
5
6
7
8
9
10
11

注意

设置了安装目录为:$HOME/software/spglib-1.16.0,用户可以自行选择安装目录,随意即可,注意设置相同安装目录为SPGLIB_ROOT即可。

# 安装ALAMODE

官网说明提示,安装alamode软件需要安装三个部分:

  1. alm
  2. anphon
  3. tools

下面依次安装相关部分。

# 解压缩

# alamode
# 前往https://sourceforge.net/projects/alamode/
# 下载alamode-1.1.0.tar.gz
# 拷贝到用户跟目录
tar zxvf alamode-1.1.0.tar.gz
cd alamode-1.1.0
1
2
3
4
5
6

# alm

稍微修改一下Makefile文件,编译即可生成alm文件。

cd alm/
cp Makefile.linux Makefile
1
2

修改Makefile文件,说明如下:

  1. 默认使用 CXX=icpc,这是 Intel Compiler 编译 C++ 程序的编译器命令。
  2. 请将-L$(SPGLIB_ROOT)/lib改为-L$(SPGLIB_ROOT)/lib64。其中SPGLIB_ROOT刚才在安装spglib时候已经设置过,改为lib64是因为我们下载的最新spglib库的库目录文件夹不是lib而是lib64。

然后,执行make命令即可:

make -j  # 并行编译
1

说明:

  1. -j是并行编译,即使用当前环境中的所有CPU核心一起编译,可以加快编译速度。

# anphon

基本步骤与编译alm相似,修改Makefile文件后编译即可。

cd ../anphon/
cp Makefile.linux Makefile
1
2

修改Makefile文件,说明如下:

  1. 我们选择使用Intel的IMPI作为MPI编译器,使用icpc命令作为C++编译器,因此需要将mpicxx改为mpiicpc。如果是其他版本的MPI编译器,通常命令就是mpicxx无需更改。

    #MPICXX = mpicxx
    MPICXX = mpiicpc
    
    1
    2
  2. 编译过程发现需要 fftw 库的头文件,我们选择 Intel Compiler 中的 MKL 库提供的 fftw 库的接口,在INCLUDE中添加路径即可,如下:

    #INCLUDE = -I../include
    INCLUDE = -I../include  -I$(HOME)/include -I$(MKLROOT)/include/fftw
    
    1
    2

然后,执行make命令即可:

make -j  # 并行编译
1

# tools

基本步骤与编译alm相似,修改Makefile文件后编译即可。

cd ../tools/

1
2

修改Makefile文件,说明如下:

  1. 我们继续使用icpc命令作为编译器,因此修改 Makefile 文件参数,如下:

    #Intel compiler
    CXX = icpc
    
    # OSX (gcc)
    #CXX = g++-8
    
    1
    2
    3
    4
    5

然后,执行make命令即可:

make -j  # 并行编译
1

# 配置环境

安装完成后,可以配置环境,方便下次使用:

export PATH=$HOME/alamode-1.1.0/alm:$PATH
export PATH=$HOME/alamode-1.1.0/anphon:$PATH
export PATH=$HOME/alamode-1.1.0/tools:$PATH
export LD_LIBRARY_PATH=$HOME/install/spglib-1.16.0/lib64:$LD_LIBRARY_PATH
1
2
3
4

# 简易脚本安装

通过以上过程,即可编译好alamode软件,我们将所有相关命令写成make-alamode.sh脚本,用户需要将相关压缩包和该脚本放在同一目录下(不一定是用户根目录,脚本中有调整目录的参数),然后适当修改编译脚本(如编译器加载的命令基本一肯定需求修改),再然后执行source make-alamode.sh即可编译成功。脚本内容如下:

#!/bin/bash -e
# file: make-alamode.sh
echo "Script for alamode install."
IMPI=yes  # 'yes' to use mpiicpc

# ----------------
# Need Change!!!
# ----------------
# cmake / icpc / mpi
module add cmake/3.12.0-gcc4.8
module add Intel_compiler/16.0.3
module add MKL/16.0.3
module add MPI/Intel/IMPI/5.1.3.210
# ----------------

# get current directory
export CMD=`pwd`

# ----------------
# boost
# ----------------
# wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.bz2
tar xvf boost_1_64_0.tar.bz2
mkdir include;
cd include
ln -s ../boost_1_64_0/boost .
cd ..

# ----------------
# eigen
# ----------------
# wget https://gitlab.com/libeigen/eigen/-/archive/3.3.3/eigen-3.3.3.tar.bz2
tar xvf eigen-3.3.3.tar.bz2
cd include
ln -s ../eigen-3.3.3/Eigen .
cd ..


# ----------------
# spglib
# ----------------
# wget https://codeload.github.com/spglib/spglib/tar.gz/v1.16.0
tar zxvf spglib-1.16.0.tar.gz
cd spglib-1.16.0
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX="" ..
make
make DESTDIR=$CMD/install/spglib-1.16.0 install
export SPGLIB_ROOT=$CMD/install/spglib-1.16.0
cd ../..

# ---------------------
# alamode
# ---------------------
# wget https://sourceforge.net/projects/alamode/files/alamode-1.1.0.tar.gz/download
tar zxvf alamode-1.1.0.tar.gz
cd alamode-1.1.0

# ====================
# # alm
# ====================
# wget https://sourceforge.net/projects/alamode/files/alamode-1.1.0.tar.gz/download
cd alm/
cp Makefile.linux Makefile

# change parameters
sed -i "s%\$(HOME)%$CMD%" Makefile # change 'include' directory
sed -i "s/lib/lib64/" Makefile # change 'spglib/lib' directory

# compile
make -j

# ====================
# # anphon
# ====================
cd ../anphon/
cp Makefile.linux Makefile

# change parameters
if [[ $IMPI == 'yes' ]];then 
  sed -i "s/mpicxx/mpiicpc/" Makefile 
fi

sed -i "s/-openmp/-qopenmp/" Makefile
sed -i "s%INCLUDE =%INCLUDE = -I$CMD/include -I\$(MKLROOT)/include/fftw%" Makefile # fftw include

# compile
make -j

# ====================
# # tools
# ====================
cd ../tools/

# change parameters
sed -i "s/#CXX = icpc/CXX = icpc/" Makefile # change compiler
sed -i "s/CXX = g++-8/#CXX = g++-8/" Makefile
sed -i "s%\$(HOME)%$CMD%" Makefile # change 'include' directory

# compile
make -j
cd ../..

# ----------------
# env
# ----------------

echo
echo "You should add the following lines to use alamode in any path:"
echo
echo "	export PATH=$CMD/alamode-1.1.0/alm:\$PATH"
echo "	export PATH=$CMD/alamode-1.1.0/anphon:\$PATH"
echo "	export PATH=$CMD/alamode-1.1.0/tools:\$PATH"
echo "	export LD_LIBRARY_PATH=$SPGLIB_ROOT/lib64:\$LD_LIBRARY_PATH"
echo
echo "Please add the compiler envrionment too."

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
PETSc 编译安装教程
ANGSD 编译安装教程

← PETSc 编译安装教程 ANGSD 编译安装教程→

Theme by Vdoing | Copyright © 2015-2024 Zheng Gang | MIT License | 津ICP备2021008634号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×