【2025 CP2K安装教程】Windows安装CP2K教程 CP2K环境配置 CP2K安装报错解决方案 如何选择CP2K版本 如何在 Windows 上编译 CP2K 支持Linux win mac
一、关于 CP2K
CP2K 是一个量子化学和固体物理软件包,可以对固态、液态、分子、周期性、材料、晶体和生物系统进行原子模拟。CP2K 为不同的建模方法(例如使用混合高斯和平面波方法GPW和GAPW 的DFT )提供了通用框架。支持的理论级别包括DFTB、LDA、GGA、MP2、RPA、半经验方法(AM1、PM3、PM6、RM1、MNDO等)和经典力场(AMBER、CHARMM等)。CP2K 可以进行分子动力学、赝动力学、蒙特卡洛、埃伦费斯特动力学、振动分析、核心能级光谱、能量最小化以及使用NEB或二聚体方法的过渡态优化的模拟。
二、核心特征功能
CP2K 是一款用于模拟固态、液态、分子和生物系统的程序。它尤其适用于大规模并行和线性缩放的电子结构方法以及最先进的从头算分子动力学 (AIMD) 模拟。
CP2K 针对基于赝势的混合高斯和平面波 ( GPW ) 方法进行了优化,但也能够运行全电子或纯平面波/高斯计算。其功能包括:
1. 使用 QUICKSTEP 模块的从头算电子结构理论方法
- 密度泛函理论(DFT)能量和力
- Hartree-Fock ( HF ) 能量和力
- Moeller-Plesset 二阶微扰理论(MP2)能量和力
- 随机相位近似(RPA)能量
- 气相或周期性边界条件(PBC)
- 基组包括各种标准高斯型轨道 (GTO)、赝势平面波 ( PW ) 以及混合高斯和(增强)平面波方法 ( GPW / GAPW )
- PW DFT功能(能量、力、应力),包括 LAPW(全电子)
- 范数守恒、可分离的 Goedecker-Teter-Hutter ( GTH ) 和非线性核心校正 (NLCC) 伪势,或全电子计算
- 局部密度近似(LDA)XC函数,包括 SVWN3、SVWN5、PW92 和 PADE
- 梯度校正(GGA)XC泛函,包括 BLYP、BP86、PW91、PBE和 HCTH120,以及元GGA XC泛函 TPSS
- 具有精确 Hartree-Fock 交换 ( HFX ) 的混合XC函数,包括 B3LYP、PBE0 和 MCY3
- 双混合XC泛函,包括B2PLYP和B2GPPLYP
- 通过 LibXC 实现的附加XC函数
- 通过DFT -D2 和DFT -D3 对势模型进行色散校正
- XC泛函(包括 B88-vdW、PBE -vdW 和 B97X-D)的非局部范德华校正
- DFT +U(哈伯德)校正
- 通过 Bloechl 或密度导出原子点电荷 ( DDAPC ) 进行DFT密度拟合,通过辅助密度矩阵方法 ( ADMM )进行HFX密度拟合,通过身份解析 ( RI )进行MP2 / RPA密度拟合
- 线性缩放 Kohn-Sham ( KS ) 矩阵计算的稀疏矩阵和预筛选技术
- 轨道变换(OT)或迭代子空间直接反演(DIIS)自洽场(SCF)最小化器
- 局部身份解析投影增强波方法(LRIGPW)
- 分子系统线性标度的绝对定域分子轨道SCF ( ALMO - SCF ) 能量
- 通过时间相关密度泛函微扰理论(TDDFPT)计算激发态
2. Ab-initio Molecular Dynamics
- Born-Oppenheimer分子动力学(BOMD)
- 埃伦斯特分子动力学(EMD)
- 初始波函数的PS外推
- 时间可逆的始终稳定预测校正(ASPC)积分器
- 近似Car-Parrinello like Langevin Born-Oppenheimer分子动力学(第二代Car-Parrinello分子动力学)
3. 混合量子-经典(QM/MM)模拟
- 实空间多重网格方法用于评估QM和MM部分之间的库仑相互作用
- 周期性边界条件的线性标度静电耦合处理
- 自适应QM / MM
4. 其他功能包括
- 单点能量、几何优化和频率计算
- 用于最小能量路径 (MEP) 计算的几种微移弹性带 ( NEB ) 算法 ( B- NEB、 IT- NEB、 CI- NEB、 D- NEB )
- 几何形状的全局优化
- 通过自洽连续溶剂化 ( SCCS ) 模型进行溶剂化
- 半经验计算包括AM1、RM1、PM3、MNDO、MNDO -d 、 PNNL 和PM6参数化、密度泛函紧束缚 ( DFTB ) 和自洽极化紧束缚 ( SCP-TB ),带或不带周期性边界条件
- 微正则系综 ( NVE ) 或正则系综 ( NVT ) 中的经典分子动力学 ( MD ) 模拟,采用 Nose-Hover 和通过速度重标 ( CSVR ) 恒温器的正则采样
- 元动力学,包括用于自由能计算的良好调节元动力学
- 经典力场(MM)模拟
- 蒙特卡罗(MC)KS - DFT模拟
- 静态(例如光谱)和动态(例如扩散)特性
- 用于伪势生成的 ATOM 代码
- 集成分子基础集优化
CP2K 没有实现传统的 Car-Parrinello 分子动力学 ( CPMD )
三、CP2K 下载安装推荐
1. 官网最新的历史版本
目前最新版本为2025 年 1 月 1 日发布的 CP2K 2025.1;
2. 使用 Spack 准备开发环境
通常官网推荐:HPC 包管理器Spack可用于为 CP2K 提供开发环境
目前已发布版本的源代码可在我们的GitHub 项目页面 上找到。请使用版本控制的 tarball ( cp2k-X.Y.tar.bz2
)。
另外,预编译的单节点、针对 Linux 支持的优化 CP2K 版本也可用。
2.1 也就是官网的原码可通过Git 获得,方式如下:
The Git (git
) program must be installed on your machine for this to work.
2.3 Initial checkout
最新和以前的所有版本都可以从CP2K GitHub存储库中获得。
To clone the current master:
git clone --recursive https://github.com/cp2k/cp2k.git cp2k
or to directly checkout a branch (check the CP2K GitHub project page for available branches):
git clone --recursive -b support/v2025.1 https://github.com/cp2k/cp2k.git cp2k
2.4 Keeping your clone up-to-date (Git >= 2.14)
在您的CP2K Git克隆上设置以下内容一次。它会告诉Git自动更新包含的子模块,并且总是使用rebase而不是merge。
cd cp2kgit config submodule.recurse truegit config pull.rebase true
设置此选项后,更新如下:
cd cp2kgit pull
如果你想全局设置选项(对你机器上的所有Git命令有效),你可以在Git config中使用——global参数:
git config --global submodule.recurse truegit config --global pull.rebase true
2.5 保持你的克隆是最新的(Git < 2.14)
在您的CP2K Git克隆上设置以下内容一次。它会告诉Git总是使用rebase而不是merge。
cd cp2kgit config pull.rebase true
设置此选项后,更新如下:
cd cp2kgit pullgit submodule update --recursive
以上是获取源码的方式;
四、 如何在 Windows 上编译 CP2K
1. 安装Linux基础系统
在Microsoft App Store 中搜索Ubuntu 22.04并下载该应用。按照 Windows 的安装说明操作,设置 Linux 用户名和密码。您的用户将通过sudo
命令获得管理员 (root) 权限。这些权限是安装系统软件包所必需的,但后面的 CP2K 安装则不需要。
这里说明:windows安装Linux的软件,需要安装载体来承载Linux系统,然后再Linux中安装该软件;
载体分为:WSL2子系统(使用人数最多);虚拟机VMware(学校中教学居多)、双系统(单独的服务器、超算、Linux主机 ---- 最求性能和批量计算者使用)
每个载体安装出来各有差异,具体可以参考Gromacs安装时的选则:
包含三个载体的差异:Gromacs 分子动力学 远程安装介绍 全网最详细的Gromacs安装前说明 该怎么选择合适的安装方式 Windows直接可用的Gromacs(预编译版)有什么危害?Gromacs安装需要准备什么?_gromacs安装教程windows-CSDN博客
2. 以Ubuntu 为例
更新 Ubuntu 安装
sudo apt updatesudo apt -y upgrade
安装构建 CP2K 所需的其他软件包,这些软件包不包含在基本系统中,例如make
GNU 编译器
sudo apt -y install makesudo apt -y install gcc g++ gfortran
sudo apt install
您还可以仅使用一个命令 安装所有这些包。
2.1 下载 CP2K
为 CP2K 创建安装文件夹并移动到新文件夹
mkdir -p github/cp2kcd github/cp2k
通过克隆当前主(开发)CP2K 版本的 GitHub 存储库来下载 CP2K
git clone --recursive https://github.com/cp2k/cp2k.git cp2k
或者下载 CP2K 发布版本,例如 2023.2
git clone --recursive -b support/v2023.2 https://github.com/cp2k/cp2k.git cp2k
2.2 为串行 CP2K 二进制文件构建 CP2K 工具链
使用以下工具构建 CP2K 工具链
cd cp2k/tools/toolchain./install_cp2k_toolchain.sh --mpi-mode=no
此构建步骤将需要一段时间,具体取决于可用的 CPU 核心数。完成此步骤后,请按照打印的说明进行操作。或者,运行更具体的
cd ../../cp tools/toolchain/install/arch/local.ssmp arch/
2.3 构建串行 CP2K 二进制文件
现在,一切都已准备好编译 CP2K
make -j ARCH=local VERSION=ssmp
CP2K 的制作过程会持续一段时间,并且会打印出大量的输出。成功完成 make 步骤后,您应该会在文件夹中找到 CP2K 二进制文件,exe/local/
可以使用以下命令列出:
exe/local/cp2k.ssmp -v
和命令
exe/local/cp2k.ssmp -v
将显示刚刚安装的 CP2K 二进制文件的详细信息。CP2K 的帮助信息如下:
exe/local/cp2k.ssmp -h
带扩展的二进制文件ssmp
是OpenMP并行的,默认情况下将使用与检测到的 CPU 核心数对应的OpenMP线程数运行(包括超线程,如果可用)。例如,可以使用以下方式将 OpenMP线程数调整为 2:
export OMP_NUM_THREADS=2
具有文件扩展名的二进制文件将自动仅使用一个OpenMP线程 sopt
运行。
还建议将增加到OMP_STACKSIZE
至少 16 MB
export OMP_STACKSIZE=16Mulimit -s 65000
并将其stacksize
设置为 65 MB(请使用 进行检查ulimit -a
)。
2.4 测试串行 CP2K 二进制文件
作为最后检查,你可以使用以下命令运行 CP2K 回归测试
make -j ARCH=local VERSION=ssmp test
这将超过 4000 个测试用例。测试结束时,会打印一份摘要,表明没有FAILED
或测试。除了运行所有测试之外,您还可以通过传递以下命令 将WRONG
测试限制在某些测试文件夹中:~/github/cp2k/cp2k/tests
TESTOPTS
make
make -j ARCH=local VERSION=ssmp TESTOPTS=\"--restrictdir QS/regtest-gpw-1\" test
这将仅运行文件夹中的测试用例。您可以使用 ~/github/cp2k/cp2k/tests/QS/regtest-1
TESTOPTS
~/github/cp2k/cp2k/tests/do_regtest.py -h
test
可以使用以下方式删除 生成的所有数据
make ARCH=local VERSION=ssmp testclean
然而
make ARCH=local VERSION=ssmp realclean
和
make distclean
make ARCH=local VERSION=ssmp
将分别从和 中的任何 中 删除所有数据make
。
2.5 构建并测试并行 CP2K 二进制文件
包含所有功能的MPI并行 CP2K 二进制文件的构建方式与串行版本非常相似。原则上,只有在 CPU 核心数量较多(8 个或更多)时,这种方法才有意义。扩展VERSION
必须ssmp
全部替换为。首先,如果需要,使用以下 psmp
命令将 CP2K 存储库重置为最新状态git clone
git clean -fdx
安装MPI / OpenMP并行 CP2K 二进制文件 所需的附加软件包。这里我们使用MPI实现MPICH
sudo apt -y install mpich bzip2 unzip zlib1g-dev
还需要安装一些用于数据压缩的系统包。cp2k.psmp
然后可以使用以下命令构建二进制文件 的 CP2K 工具链
cd tools/toolchain./install_cp2k_toolchain.sh --install-all --with-gcc=system --with-mpich=system --with-sirius=no
编译命令
cd ../..cp tools/toolchain/install/arch/local.psmp arch/make -j ARCH=local VERSION=psmp
和测试
source ~/github/cp2k/cp2k/tools/toolchain/install/setupmake -j ARCH=local VERSION=psmp test
替换ssmp
之后, CP2K 二进制文件与上面的相同。 ssmp
psmp
2.6 环境配置
加载 WSL 后,在使用 CP2K 之前,请不要忘记source
始终setup
使用
source ~/github/cp2k/cp2k/tools/toolchain/install/setup
将文件夹添加cp2k/exe/local
到二进制搜索中PATH
export PATH=$PATH:$HOME/github/cp2k/cp2k/exe/local
只需使用
cp2k.ssmp
和同样如此cp2k.sopt
。
CP2K MPI / OpenMP并行运行通过mpirun
或启动mpiexec
,例如
mpiexec -n 4 -genv OMP_NUM_THREADS=2 cp2k.psmp H2O-32.inp
将使用 4 个MPI等级,每个等级有 2 个OpenMPH2O-32.inp
线程(即它将消耗 8 个 CPU 核心)来运行可以在 cp2k 文件夹中找到的输入文件。 benchmarks/QS
该cp2k.popt
二进制文件仅支持MPI并行,并且每个MPI等级将自动只运行一个线程(例如),如果每个MPIcp2k.sopt
等级没有内存限制,这通常是 CP2K 性能最高效的使用方式。因此,以下命令
mpiexec -n 4 -genv OMP_NUM_THREADS=1 cp2k.psmp H2O-32.inpmpiexec -n 4 cp2k.popt H2O-32.inp
基本等价。
2.7 核心:验证CP2K是否安装好
GPU版本如下:
输入命令:
cp2k.psmp --version
看到:
得到:
SIRIUS 7.6.1, git hash: https://api.github.com/repos/electronic-structure/SIRIUS/git/ref/tags/v7.6.1
CP2K version 2025.1
Source code revision git:9635df4
cp2kflags: omp libint fftw3 libxc libgrpp elpa elpa_nvidia_gpu parallel scalapack mpi_f08 cosma xsmm dbcsr_acc plumed2 spglib sirius libvori libbqb offload_cuda spla_gemm_offloading libvdwxc hdf5
其中 offload_cuda、elpa_nvidia_gpu、cosma 模块标志着CUDA 的GPU加速版安装成功;
CPU MPI并行版本如下:
进行计算测试:
五、CP2K 的 GPU 支持(Nvidia)
六、与我联系——解决CP2K安装问题
可以为大家搭配适合自己笔记本的CP2K 组合;
了解清楚了
CP2K之前的这些知识以后,如果嫌弃麻烦需要远程安装的友友可以联系!
PC端电脑通过
点击PC端分子对接软件合集——“能看到某宝对应的分子对接软件商品!!!。
手机淘宝通过:
点击手淘分子对接软件合集 “——能看到某宝对应的分子对接软件商品!!!