第二章:计算环境搭建——Linux基础命令、Python环境配置、Anaconda安装与使用、VASP/Quantum ESPRESSO等核心软件安装
好,咱们直接进入正题。这一章,说白了就是给你一台“裸机”,然后你把它武装成一台能跑高通量计算的利器。我见过太多新手,理论学得挺好,一上手装环境就卡壳。别急,跟着我的节奏来,保证你顺顺利利。
本章核心目标: 从零搭建一个可复用的材料计算工作站。你想想看,后面几十个章节的实操,全得靠这个环境。
2.1 Linux基础命令——你的“计算母语”
做高通量计算,Linux是绕不开的。Windows虽然也能用,但到了集群、超算中心,清一色都是Linux。我个人习惯用Ubuntu 20.04 LTS或22.04 LTS,稳定,社区支持好。
嗯,这里要注意:别一上来就想着图形界面。真正的计算高手,大部分时间都在黑乎乎的终端里。为什么?因为效率高,而且远程操作时图形界面根本跑不动。
2.1.1 你必须掌握的“生存命令”
我列个清单,这些命令你每天都会用到。我在项目中遇到过一位实习生,连ls和cd都分不清,结果把计算目录删了……嗯,那是另一个故事了。
| 命令 | 作用 | 我的常用技巧 |
|---|---|---|
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 install和pip install,结果依赖关系乱成一团。建议:优先用conda,conda没有的包再用pip。而且,别在base环境里装太多包。
2.4 VASP/Quantum ESPRESSO等核心软件安装
好,重头戏来了。VASP和QE是材料计算的两大金刚。VASP是商业软件,需要购买许可证;QE是开源的,免费。
2.4.1 VASP安装——编译才是硬功夫
VASP的安装,说白了就是编译源码。你从官网拿到源码包后,需要做这几步:
- 准备编译器: 我习惯用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
- 配置makefile.include: VASP的编译选项都在这个文件里。我一般从
arch/目录下复制一个模板,然后根据机器修改。比如:
cp arch/makefile.include.linux_intel makefile.include
- 编译:
make all # 编译VASP标准版、Gamma版和NEB版
编译成功后,你会得到vasp_std、vasp_gam和vasp_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 本章知识体系总览
为了让你对整个环境搭建有个全局认识,我画了张图。你看一眼,心里就有谱了。
这张图就是你的“施工蓝图”。从底层操作系统开始,一层层往上搭。每一层都稳了,上层才能跑得顺。
最后说一句: 环境搭建是最磨人的阶段,但也是最能锻炼人的。我当年第一次装VASP,编译了整整一天,报错十几次。但每解决一个错误,你对系统的理解就深一层。别怕报错,报错是老师。
公众号:蓝海资料掘金营,微信deep3321