Eastsheng's Wiki

Alamode 安装与测试

2025-12-30 23:07:16

测试环境:WSL2: Ubuntu 22.04

采用conda安装

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
# 1. 创建python环境alamode并激活
conda create --name alamode -c conda-forge python=3
conda activate alamode
# 安装依赖
sudo apt update
sudo apt install libeigen3-dev
conda install -c conda-forge spglib

wget https://archives.boost.io/release/1.90.0/source/boost_1_90_0.tar.gz
tar -zxvf boost_1_90_0.tar.gz
cd boost_1_90_0
./bootstrap.sh --with-libraries=all --with-toolset=gcc
./b2 toolset=gcc
sudo ./b2 install --prefix=/usr
sudo ldconfig

mkdir alamode && cd alamode

# 2. 下载alamode
git clone https://github.com/ttadano/alamode.git
cd alamode
git checkout develop

# 3. Build by CMake
# 确认当前目录下有CMakeLists.txt文件
# 确保第一行的 cmake_minimum_required(VERSION 3.1)版本,可修改3.1至3.5
# ../tools/CMakeLists.txt中的版本号也要修改
mkdir _build && cd _build
cmake -DUSE_MKL_FFT=no -DSPGLIB_ROOT=$CONDA_PREFIX ..
make -j

# 4. 设置环境变量
# alamodem
export PATH="/home/xxx/softwares/alamode/alamode/_build/alm:$PATH"
export PATH="/home/xxx/softwares/alamode/alamode/_build/anphon:$PATH"
export PATH="/home/xxx/softwares/alamode/alamode/_build:tools:$PATH"
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$CONDA_PREFIX/lib64:$LD_LIBRARY_PATH

本地安装

略[1] [2]

计算声子例子

  1. 准备POSCARSPOSCAR(扩胞后的超胞)、si_alm1.in,执行alm
1
2
3
4
# POSCAR SPOSCAR si_alm1.in
alm si_alm.in > si_alm.log1
# 产生si.pattern_HARMONIC文件。# 该文件包含笛卡尔坐标中的位移模式。

  1. 计算位移配置的原子力
1
2
3
4
5
6
7
8
# --mag选项以埃为单位指定位移长度。
# 可以指定--QE、--VASP、--xTAPP、--OpenMX、--LAMMPS的具有平衡原子位置的输入文件
cp ~/softwares/alamode/alamode/tools/displace.py ./
cp ~/softwares/alamode/alamode/tools/GenDisplacement.py ./
cp -r ~/softwares/alamode/alamode/tools/interface ./

python displace.py --VASP=POSCAR.orig --mag=0.01 -pf si.pattern_HARMONIC
# 产生disp1.POSCAR
  1. 进行VASP自洽计算
1
2
3
cp disp1.POSCAR POSCAR
# 准备INCAR KPOINTS POTCAR,可以采用vaspkit生成
mpirun -np 4 vasp_std
  1. 通过extract.py收集位移数据和力数据
1
2
3
4
cp ~/softwares/alamode/alamode/tools/extract.py ./
python extract.py --VASP=POSCAR.orig vasprun*.xml > DFSET_harmonic
# 产生DFSET_harmonic文件
# 该文件合并了所有配置的原子位移和相应的原子力,这些文件将在以下拟合过程中用作DFSET
  1. 拟合估计力常数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1 更新 si_alm.in
&general
PREFIX = si222
MODE = optimize # <-- here
NAT = 64; NKD = 1
KD = Si
/

&optimize
DFSET = DFSET_harmonic
/
# 2 产生si222.fcs、si222.xml等文件
alm si_alm.in > si_alm.log2

  1. 计算声子色散和声子DOS

准备si_phband.insi_phdos.in文件,结构中用晶胞结构,注意&cell为原胞,单位是Bohr,具体可设置如下

1
2
3
4
5
6
7
8
anphon si_phband.in > si_phband.log
anphon si_phdos.in > si_phdos.log
# 产生si.bands、si.dos文件
cp ~/softwares/alamode/alamode/tools/plotband.py ./
cp ~/softwares/alamode/alamode/tools/plotdos.py ./
python plotband.py si.bands
python plotdos.py --emax 550 --nokey si.dos

参考

[1] https://alamode.readthedocs.io/en/latest/install.html

[2] https://mp.weixin.qq.com/s/MoVJSyGZHy6KmbSh6QA0Pw

Tags: Alamode