乐于分享
好东西不私藏

CP2K编译安装教程

CP2K编译安装教程
可远程协助安装,联系微信号cat6495。 支持服务器,超算,个人电脑(Win、MAC、Linux),支持离线、无root权限、登录节点CPU型号异于服务节点等各种情况以及各种发行版系统如CentOS,Ubuntu,Rocky Linux等编译安装
本次教程系统版本Ubuntu22.04 CP2K版本2025.1
1. 安装编译环境和其它工具
sudo apt install build-essential gfortran vim unzip unp wget
2. 下载cp2k源码包和外部库
wget https://github.com/cp2k/cp2k/releases/download/v2025.1/cp2k-2025.1.tar.bz2
外部库版本要和cp2k版本对应,可以去$cp2kdir/tools/toolchain/install/scirpts目录查看具体库版本,然后去https://www.cp2k.org/static/downloads/网站下载对应版本库的源码包随后把下载好的库复制到$cp2kdir/tools/toolchain/build目录
这里提供一段代码用于快速提取外部库的版本号
#!/bin/bashCP2K_SCRIPT_DIR="$cp2kdir/tools/toolchain/scripts"OUTPUT_FILE="cp2k_dependencies_versions.txt""$OUTPUT_FILE"find "$CP2K_SCRIPT_DIR" -type d -name "stage[0-9]*" | while read -r stagedir; do    find "$stagedir" -type f -name "install_*.sh" | while read -r script; do        libname=$(basename "$script" | sed 's/install_$.*$\.sh/\1/' | tr '_' '-')        grep -E -o '^[[:space:]]*[^#]*_ver[[:space:]]*=[[:space:]]*"[^"]+"' "$script" | while read -r line; do            var_name=$(echo "$line" | awk -F= '{print $1}' | awk '{sub(/^[ \t]+/, ""); sub(/[ \t]+$/, ""); print}')            version=$(echo "$line" | awk -F\" '{print $2}')            lib_from_var=$(echo "$var_name" | sed 's/_ver$//')            combined_name=$(echo "$libname$lib_from_var" | tr ' ' '\n' | sort -u | tr '\n' '-' | sed 's/-$//')            echo "$combined_name$version" >> "$OUTPUT_FILE"        done    donedonesort -u "$OUTPUT_FILE" -o "$OUTPUT_FILE"
3.编译外部依赖库和cp2k
unp cp2k-2025.1.tar.bz2cd ./cp2k-2025.1/tools/toolchain./install_cp2k_toolchain.sh --with-openmpi=install  --with-sirius=no --with-plumed=install  --with-quip=install --with-superlu=install --with-pexsi=install  --with-ptscotch=install#等待外部库编译完成,然后编译cp2ksource /home/user/soft/cp2k-2025.1/tools/toolchain/install/setupcp /home/user/soft/cp2k-2025.1/tools/toolchain/install/arch/* ../../archmake -j $(nproc) ARCH=local VERSION="ssmp psmp" 等待跑码完成即编译成功
4. 环境变量配置
将变量写到~/.bashrc或交作业脚本
source /home/user/soft/cp2k-2025.1/tools/toolchain/install/setupexport PATH=/home/user/soft/cp2k-2025.1/exe/local:${PATH}
6. 运行
mpirun -np N cp2k.popt filename.inp