> 技术文档 > 【2025 CP2K安装教程】Windows安装CP2K教程 CP2K环境配置 CP2K安装报错解决方案 如何选择CP2K版本 如何在 Windows 上编译 CP2K 支持Linux win mac

【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
  • 梯度校正(G​​GA)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 所需的其他软件包,这些软件包不包含在基本系统中,例如makeGNU 编译器

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 二进制文件

作为最后检查,你可以使用以下命令运行 C​​P2K 回归测试

make -j ARCH=local VERSION=ssmp test

这将超过 4000 个测试用例。测试结束时,会打印一份摘要,表明没有FAILED或测试。除了运行所有测试之外,您还可以通过传递以下命令 将WRONG测试限制在某些测试文件夹中:~/github/cp2k/cp2k/testsTESTOPTSmake

make -j ARCH=local VERSION=ssmp TESTOPTS=\"--restrictdir QS/regtest-gpw-1\" test

这将仅运行文件夹中的测试用例。您可以使用 ~/github/cp2k/cp2k/tests/QS/regtest-1TESTOPTS

~/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 二进制文件与上面的相同。 ssmppsmp

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)

Library Status Accelerates Backends NGC Container DBCSR Ready LS-SCF CUDA, HIP, OpenCL Included DBM Ready GW and RI methods CUDA, HIP. OpenCL - grid Ready GPW CUDA, HIP Included pw Ready SCCS CUDA, HIP Included COSMA Ready RPA CUDA, HIP Included SPLA Ready MP2 CUDA, HIP - SIRIUS Ready PW DFT CUDA, HIP Included ELPA Ready Diagonalization CUDA - DLA-Future Ready Diagonalization CUDA, HIP - cuSOLVERMp Ready (experimental) Diagonalization CUDA - SpFFT In progress GPW, SCCS CUDA, HIP - Two-electron integrals In progress HFX - - GEEP Planned QM/MM - - libxc Planned GPW - - One-electron integrals Planned GPW

六、与我联系——解决CP2K安装问题

可以为大家搭配适合自己笔记本的CP2K 组合;

了解清楚了CP2K之前的这些知识以后,如果嫌弃麻烦需要远程安装的友友可以联系!
PC端电脑通过
点击PC端分子对接软件合集——“能看到某宝对应的分子对接软件商品!!!。
手机淘宝通过:
点击手淘分子对接软件合集 “——能看到某宝对应的分子对接软件商品!!!