CP2K专题

CP2K原生PIMD与珠数选择

从真实路径积分轨迹学习PINT、虚时间珠子、PILE恒温、输出文件与珠数对照,给出完整输入和终端步骤。

更新于 2026-11-09约 6 分钟阅读按任务与环境选择适用配置
阅读本篇目录

研究轻核、低温振动或同位素效应时,核的量子分布可能影响结果。CP2K原生PINT可以用环聚合物珠子表示量子粒子。本篇先用具有解析参考的三维谐振子模型,把输入、运行、输出与珠数选择串起来。

1 下载完整输入并运行#

下载原生PIMD、珠数与完整续算操作包,保存为cp2k-pimd.zip。解压后可用sbatch job.slurm提交普通CPU作业;以下命令用于已经通过Slurm分配的CPU计算环境。

CPU分区按56核整节点申请与计费。包内job.slurm已设置单节点、1个Slurm任务、每任务56核;案例脚本在该分配中按各自所需的少量核心运行,每个CP2K进程仍为1线程。

python3 -m zipfile -e cp2k-pimd.zip .
cd cp2k-pimd
bash setup.sh
bash run.sh
bash verify.sh
bash plot.sh

操作包先运行14个珠数、质量与种子条件,再做连续2000步与800+1200步的完整续算对照。每个独立条件为1个MPI进程、1线程,外层按已分配的物理核心并行,最多12个条件同时运行。结果在results/,图片在plots/。同一输入已完成时会复用结果;修改物理设置后请建立新的工作目录。

环境为CP2K2026.2 CPU模块cp2k/2026.2-8173m,Intel ifx2024.2.1、IntelMPI2021.13、MKL2024.2,配套分析使用已有Python/NumPy环境。

2 珠子代表什么#

P=1给出该模型的经典极限;P=8或32表示同一个粒子在虚时间方向由8或32个珠子表示。它们共同用于采样量子平衡分布,粒子的代表位置可取珠子质心;珠子围绕质心的展宽反映量子离域的一部分。

同一个量子粒子在P1、P8、P32时的真实珠子位置快照,三个坐标方向保持相同长度比例

本例是一个质量1 u或2 u的粒子,处在U=½K(x²+y²+z²)中,K=0.05 Ha/Bohr²。模型在空间中由外部谐振势约束,用于理解路径积分。自己的材料或分子计算需要替换为相应的DFT或可靠势能方法。可选取一份input.inp复制到新目录,在作业脚本加载同一模块后,用cp2k.psmp -i input.inp -o output.log运行。配套run/verify脚本用于本文固定对照,新的体系应按原子数和目标量调整分析。

3 一份实际执行的完整输入#

下面为质量1 u、P=8、种子101的inputs/mass1-P8-s101/input.inp:

&GLOBAL
 PROJECT mass1-P8-s101
 RUN_TYPE PINT
 PRINT_LEVEL MEDIUM
 SEED 20261109
&END GLOBAL
&MOTION
 &PINT
  DT 0.25
  HARM_INT EXACT
  NRESPA 1
  NUM_STEPS 40000
  P 8
  PROC_PER_REPLICA 1
  TEMP 300
  TRANSFORMATION NORMAL
  &PILE
   TAU [fs] 10
  &END PILE
  &INIT
   LEVY_POS_SAMPLE TRUE
   LEVY_SEED 101
   THERMOSTAT_SEED 101
  &END INIT
  &PRINT
   &ENERGY
    FILENAME =pint-energy.dat
    &EACH
     PINT 1
    &END EACH
   &END ENERGY
   &CENTROID_POS
    FILENAME =centroid.xyz
    UNIT angstrom
    &EACH
     PINT 10
    &END EACH
   &END CENTROID_POS
   &CENTROID_GYR
    FILENAME =gyration.xyz
    UNIT angstrom
    &EACH
     PINT 10
    &END EACH
   &END CENTROID_GYR
  &END PRINT
 &END PINT
 &PRINT
  &RESTART_HISTORY OFF
  &END RESTART_HISTORY
  &RESTART
   BACKUP_COPIES 0
   &EACH
    PINT 10000
   &END EACH
  &END RESTART
  &TRAJECTORY
   FORMAT XYZ
   FILENAME bead-pos
   &EACH
    PINT 10
   &END EACH
  &END TRAJECTORY
  &FORCES
   FORMAT XYZ
   FILENAME bead-force
   UNIT hartree/bohr
   &EACH
    PINT 10
   &END EACH
  &END FORCES
 &END PRINT
&END MOTION
&FORCE_EVAL
 METHOD FIST
 &MM
  &FORCEFIELD
   DO_ELECTROSTATICS FALSE
   &CHARGE
    ATOM H
    CHARGE 0
   &END CHARGE
   &NONBONDED
    &LENNARD-JONES
     ATOMS H H
     EPSILON 0.0
     SIGMA [angstrom] 1
     RCUT [angstrom] 4
    &END LENNARD-JONES
   &END NONBONDED
  &END FORCEFIELD
  &POISSON
   PERIODIC NONE
   &EWALD
    EWALD_TYPE NONE
   &END EWALD
  &END POISSON
 &END MM
 &EXTERNAL_POTENTIAL
  ATOMS_LIST 1
  FUNCTION 0.5*K*(X^2+Y^2+Z^2)
  PARAMETERS K
  VALUES 0.05
 &END EXTERNAL_POTENTIAL
 &SUBSYS
  &CELL
   ABC 20 20 20
   PERIODIC NONE
  &END CELL
  &TOPOLOGY
   CONNECTIVITY OFF
  &END TOPOLOGY
  &KIND H
   ELEMENT H
   MASS 1.0
  &END KIND
  &COORD
   H 0.1 0.1 0.1
  &END COORD
 &END SUBSYS
&END FORCE_EVAL

RUN_TYPE PINT进入路径积分;P决定珠数;TEMP=300设置物理温度;DT=0.25以fs为单位,40000步为10 ps。前2 ps用于平衡,后8 ps分为8个1 ps时间块做统计。

TRANSFORMATION NORMAL采用正规模坐标,HARM_INT EXACT用于珠子间谐和弹簧的积分;本例配套PILE恒温,TAU=10 fs设置质心恒温时间常数。LEVY_POS_SAMPLE生成初始珠子分布,两个随机种子101、202分别采样。RESTART_HISTORY OFF控制历史文件数量,周期性完整检查点仍按RESTART设置输出。

PROC_PER_REPLICA=1在这里配合每个条件一个MPI进程,珠子的力计算由该进程依次完成。P决定虚时间离散精度,申请CPU核心数则决定并行方式;配套脚本在不同参数条件之间并行。

4 输出文件怎么看#

source env.sh
ls results/cases/mass1-P8-s101/*bead-pos*.xyz
head -n 6 results/cases/mass1-P8-s101/pint-energy.dat
"$YS_PY" - <<'PYCODE'
import numpy as np
x = np.load('results/cases/mass1-P8-s101/fields.npz')
print('记录帧数:', len(x['steps']))
print('位置数组:', x['positions_A'].shape)
print('最后时间 / fs:', x['time_fs'][-1])
PYCODE

bead-pos-pos-1-1.xyz、...-2-1.xyz等分别对应不同珠子;centroid.xyz给出质心,gyration.xyz给出珠子围绕质心的回转半径。本例位置数组形状为(4001,P,3),第二轴为珠子序号,末轴为xyz分量。位置和力每10步记录一次,0–40000步共4001帧;能量每一步输出,共40001行。

能量文件列为步数、时间fs、热力学动能估计量、virial动能估计量、扩展体系温度、物理势能、守恒量和每步耗时。量子动能应选择相应估计量,并结合误差分析;不要只把扩展珠子速度的经典动能当作核的量子动能。

5 怎样确定珠数#

本例对质量1 u计算P=1、4、8、16、32,每个P使用两个独立种子。应同时看珠数离散误差与有限采样误差,而不是只看某一条轨迹最后一帧。珠数和质量的实际结果见核量子效应与同位素对照。

PIMD在扩展相空间采样静态量子分布,积分时间用于采样过程。讨论真实时间的扩散、振动关联等动力学量时,应选择并验证相应的动力学方法。完整检查点接续见PIMD续算,不同温度之间的交换见温度副本交换。

参考:CP2K PINT、PILE、INIT。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗