第二章:计算环境搭建——Linux基础命令、Python环境配置、Anaconda安装与使用、VASP/Quantum ESPRESSO等核心软件安装

好,咱们直接进入正题。这一章,说白了就是给你一台“裸机”,然后你把它武装成一台能跑高通量计算的利器。我见过太多新手,理论学得挺好,一上手装环境就卡壳。别急,跟着我的节奏来,保证你顺顺利利。

本章核心目标: 从零搭建一个可复用的材料计算工作站。你想想看,后面几十个章节的实操,全得靠这个环境。

2.1 Linux基础命令——你的“计算母语”

做高通量计算,Linux是绕不开的。Windows虽然也能用,但到了集群、超算中心,清一色都是Linux。我个人习惯用Ubuntu 20.04 LTS或22.04 LTS,稳定,社区支持好。

嗯,这里要注意:别一上来就想着图形界面。真正的计算高手,大部分时间都在黑乎乎的终端里。为什么?因为效率高,而且远程操作时图形界面根本跑不动。

2.1.1 你必须掌握的“生存命令”

我列个清单,这些命令你每天都会用到。我在项目中遇到过一位实习生,连lscd都分不清,结果把计算目录删了……嗯,那是另一个故事了。

命令 作用 我的常用技巧
ls -lh 列出文件详情 -h参数,文件大小一目了然
cd ~ 回到用户主目录 我习惯用cd -回到上一个目录
pwd 显示当前路径 迷路时第一件事就是敲这个
mkdir -p 创建多级目录 比如mkdir -p project/vasp/relax,一步到位
cp -r 递归复制文件夹 千万别忘了-r,否则会报错
rm -rf 强制删除 ⚠️ 慎用!我曾经手滑删过整个计算目录……
grep 文本搜索 查输出文件里的能量,grep 'E0' OUTCAR,秒出结果
tar -xzvf 解压.tar.gz文件 装软件必备,参数顺序别搞错

我的小技巧: 把常用命令写成别名。比如在~/.bashrc里加一句 alias ll='ls -lh',以后敲ll就行,省事。

2.1.2 文件权限——别让权限卡住你的计算

刚接触Linux时,我总被“Permission denied”搞疯。后来才明白,Linux里每个文件都有三组权限:所有者、所属组、其他人。

举个例子,你从网上下载了一个VASP的二进制文件,结果运行时报权限错误。这时候:

chmod +x vasp_std   # 给文件添加可执行权限

搞定。如果你想让所有人都能运行:

chmod 755 vasp_std   # rwxr-xr-x

⚠️ 避坑指南: 我曾经在集群上把整个/home目录权限改成了777,结果被管理员骂了一顿。记住:chmod 777是最后的手段,别乱用。

2.2 Python环境配置——计算的“万能胶水”

Python在材料计算里扮演什么角色?说白了,就是粘合剂。VASP算出来的数据,用Python处理;高通量任务的调度,用Python写脚本;甚至有些计算软件本身就是Python写的。

我建议你装Python 3.8以上版本。为什么?因为很多材料计算的库(比如pymatgen、ase)已经放弃Python 2了。

2.2.1 检查系统自带的Python

先看看你的系统里有没有Python:

python3 --version
# 或者
python --version

如果版本太老(比如2.7),别直接用系统自带的。我遇到过有人用系统Python装包,结果把系统搞崩了。嗯,那场面……

2.2.2 用pip管理包

pip是Python的包管理器。装包很简单:

pip3 install numpy scipy matplotlib

但这里有个坑:直接pip install可能会把包装到系统目录,导致权限问题。我建议加个--user参数:

pip3 install --user pymatgen

这样包会装到你的用户目录下,安全又省心。

核心建议: 别用系统Python做计算。用Anaconda,下面马上讲。

2.3 Anaconda安装与使用——环境管理的“瑞士军刀”

Anaconda是我最推荐的Python发行版。为什么?因为它自带conda,可以创建隔离的虚拟环境。你想想看,项目A需要Python 3.6和TensorFlow 1.x,项目B需要Python 3.10和PyTorch 2.0。如果没有虚拟环境,这两个项目会打得头破血流。

2.3.1 安装Anaconda

去官网下载Linux版的.sh安装包。然后:

bash Anaconda3-2023.07-Linux-x86_64.sh

一路按回车,默认选项就行。安装完后,记得:

source ~/.bashrc   # 让conda命令生效

验证一下:

conda --version

我的习惯: 安装时选择“不自动激活base环境”。这样每次打开终端,不会自动进入conda环境,清爽很多。设置方法:conda config --set auto_activate_base false

2.3.2 创建虚拟环境

我一般会为每个项目创建一个独立环境。比如:

conda create -n vasp_env python=3.9
conda activate vasp_env   # 进入环境

在这个环境里,你想装什么包都行,不会影响其他项目。退出环境用:

conda deactivate

列出所有环境:

conda env list

2.3.3 用conda安装材料计算常用库

激活环境后,一键安装:

conda install -c conda-forge pymatgen ase numpy scipy matplotlib

-c conda-forge是指定从conda-forge频道安装,这个频道的包更新快、兼容性好。

⚠️ 避坑指南: 我曾经在同一个环境里混用conda installpip install,结果依赖关系乱成一团。建议:优先用conda,conda没有的包再用pip。而且,别在base环境里装太多包。

2.4 VASP/Quantum ESPRESSO等核心软件安装

好,重头戏来了。VASP和QE是材料计算的两大金刚。VASP是商业软件,需要购买许可证;QE是开源的,免费。

2.4.1 VASP安装——编译才是硬功夫

VASP的安装,说白了就是编译源码。你从官网拿到源码包后,需要做这几步:

  1. 准备编译器: 我习惯用Intel oneAPI套件,它对VASP优化得很好。安装命令:
wget https://registrationcenter-download.intel.com/akdlm/irc_nas/19079/l_BaseKit_p_2023.0.0.25537_offline.sh
sudo sh l_BaseKit_p_2023.0.0.25537_offline.sh
  1. 配置makefile.include: VASP的编译选项都在这个文件里。我一般从arch/目录下复制一个模板,然后根据机器修改。比如:
cp arch/makefile.include.linux_intel makefile.include
  1. 编译:
make all   # 编译VASP标准版、Gamma版和NEB版

编译成功后,你会得到vasp_stdvasp_gamvasp_ncl三个二进制文件。

我的经验: 第一次编译VASP时,我卡在“BLAS/LAPACK库找不到”这个错误上整整两天。后来发现是环境变量没设对。记住:source /opt/intel/oneapi/setvars.sh这步不能省。

2.4.2 Quantum ESPRESSO安装——相对友好

QE的安装比VASP简单一些。你可以从GitHub下载源码:

git clone https://github.com/QEF/q-e.git
cd q-e
./configure
make all

或者直接用包管理器安装(但版本可能较旧):

sudo apt install quantum-espresso

我个人推荐源码编译,因为可以针对你的CPU架构做优化。比如:

./configure --enable-openmp
make -j4   # 用4个核并行编译

2.4.3 验证安装

装完后,跑个简单的测试:

VASP测试:

mpirun -np 4 vasp_std   # 在4个核上运行
# 查看OUTCAR,看有没有"General timing"信息

QE测试:

pw.x < input.in > output.out
# 查看output.out,看有没有"JOB DONE"字样

小提示: 我习惯把编译好的二进制文件放到/usr/local/bin或者~/bin目录下,然后加到PATH里。这样在任何目录下都能直接调用。

2.5 本章知识体系总览

为了让你对整个环境搭建有个全局认识,我画了张图。你看一眼,心里就有谱了。

计算环境搭建知识体系 Linux操作系统 基础工具:Linux命令 + Python 环境管理:Anaconda + 虚拟环境 核心计算软件:VASP / Quantum ESPRESSO 验证:跑测试案例 第1层 第2层 第3层 第4层 第5层 Ubuntu 20.04/22.04 ls, cd, grep, chmod conda create, activate 编译安装 / 包管理器 OUTCAR / output.out

这张图就是你的“施工蓝图”。从底层操作系统开始,一层层往上搭。每一层都稳了,上层才能跑得顺。

最后说一句: 环境搭建是最磨人的阶段,但也是最能锻炼人的。我当年第一次装VASP,编译了整整一天,报错十几次。但每解决一个错误,你对系统的理解就深一层。别怕报错,报错是老师。


公众号:蓝海资料掘金营,微信deep3321