CP2K专题

CP2K Ehrenfest动力学:电子与原子核一起运动

以拉伸H₂实际运行零外场和脉冲驱动,完整输入、提交和轨迹提取命令,区别于固定核实时传播。

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

RT_PROPAGATION可以在固定原子核条件下传播电子;EHRENFEST_DYN则将电子和经典原子核耦合推进。本篇用两个H原子的短任务展示后者,重点是实际操作与输出读取。

1. 下载与看真实轨迹#

下载实际输入、原生结果与数据绘图包,保存为example.zip:

python3 -m zipfile -e example.zip .
cd cp2k-ehrenfest-H2
bash results.sh
bash read.sh
bash plot.sh

上述命令先读随包真实结果;CSV在data/,原生输出在reference-results/,图在figures/。默认使用集群ASE环境中的Python,可用YS_ANALYSIS_PYTHON指定含NumPy、ASE和Matplotlib的解释器。

H₂耦合动力学实际键长与总能量变化

本例初始H–H距离0.9 Å,故意取拉伸结构,初速度为0。没有外场时,核也会因初始受力而运动;加短脉冲后电子响应与核轨迹改变。三项计算仅传播0.483777 fs,用于演示操作,不表示得到真实光解、寿命或收敛吸收光谱。

2. 方法与完整输入#

PBE、DZVP-MOLOPT-GTH/GTH-PBE-q1,8 Å非周期盒、MT Poisson,200 Ry网格与40 Ry相对截断。基态EPS_SCF 1E-6,实时迭代EPS_ITER 1E-8。以有场0.5原子时间单位步长为例:

cat inputs/H2-pulse/input.inp
&GLOBAL
  PROJECT H2-EMD
  RUN_TYPE EHRENFEST_DYN
  PRINT_LEVEL LOW
  SEED 42
&END GLOBAL
&MOTION
  &MD
    ENSEMBLE NVE
    STEPS 40
    TEMPERATURE 0
    TIMESTEP [au_t] 0.5
  &END MD
  &PRINT
    &TRAJECTORY
      &EACH
        MD 1
      &END EACH
    &END TRAJECTORY
    &VELOCITIES
      &EACH
        MD 1
      &END EACH
    &END VELOCITIES
  &END PRINT
&END MOTION
&FORCE_EVAL
  METHOD QUICKSTEP
  &DFT
    BASIS_SET_FILE_NAME BASIS_MOLOPT
    POTENTIAL_FILE_NAME GTH_POTENTIALS
    &EFIELD
      ENVELOP GAUSSIAN
      INTENSITY 1E12
      POLARISATION 0 0 1
      WAVELENGTH 210
      &GAUSSIAN_ENV
        SIGMA [au_t] 2.0
        T0 [au_t] 5.0
      &END GAUSSIAN_ENV
    &END EFIELD
    &MGRID
      CUTOFF 200
      REL_CUTOFF 40
    &END MGRID
    &QS
      EPS_DEFAULT 1E-10
    &END QS
    &POISSON
      PERIODIC NONE
      POISSON_SOLVER MT
    &END POISSON
    &SCF
      EPS_SCF 1E-6
      MAX_SCF 100
      SCF_GUESS ATOMIC
    &END SCF
    &REAL_TIME_PROPAGATION
      EPS_ITER 1E-8
      INITIAL_WFN SCF_WFN
      MAT_EXP TAYLOR
      MAX_ITER 100
      PROPAGATOR ETRS
    &END REAL_TIME_PROPAGATION
    &XC
      &XC_FUNCTIONAL PBE
      &END XC_FUNCTIONAL
    &END XC
  &END DFT
  &SUBSYS
    &CELL
      ABC 8 8 8
      PERIODIC NONE
    &END CELL
    &COORD
      H 4 4 3.55
      H 4 4 4.45
    &END COORD
    &VELOCITY
      0 0 0
      0 0 0
    &END VELOCITY
    &KIND H
      BASIS_SET DZVP-MOLOPT-GTH
      POTENTIAL GTH-PBE-q1
    &END KIND
  &END SUBSYS
&END FORCE_EVAL

GLOBAL/RUN_TYPE EHRENFEST_DYN进入耦合动力学;MOTION/MD定义核步数、时间步、NVE;DFT/REAL_TIME_PROPAGATION定义电子传播器。两部分缺一不可。INITIAL_WFN SCF_WFN先求基态再作为实时传播起点,每一步并不是重新优化电子到瞬时基态的BOMD。

SUBSYS/VELOCITY显式给两原子零初速度,TEMPERATURE 0不引入随机热运动;后续出现非零核动能来自受力运动。两原子沿z放置,脉冲也沿z;此例INTENSITY 1E12是原生光强参数,采用W/cm²,WAVELENGTH 210采用nm。高斯包络σ=2 au、中心5 au是很短的数学脉冲,未按某种实验激光或真实分子反应标定。

3. 提交#

本例使用cp2k/2026.2-8173m,Intel Fortran2024.2.1与Intel MPI构建。新解压目录提交:

sbatch run.slurm

脚本申请56核整节点,以2个MPI进程、每进程1线程顺序运行三个小条件。真正电子结构与动力学计算放到Slurm任务,不在登录节点直接运行。结束后提取自己的输出:

bash read.sh work analysis-new
bash plot.sh analysis-new figures-new work

原生底层调用形式为:

module load cp2k/2026.2-8173m
export OMP_NUM_THREADS=1
mpirun -np 2 cp2k.psmp -i input.inp > native.log

本包自动准备H2-zero、H2-pulse和H2-pulse-halfstep三个工作目录。

4. 先确认基态,再读实时与轨迹#

grep 'SCF run converged' reference-results/H2-pulse/native.log
grep 'MD STEP:' reference-results/H2-pulse/native.log
head -n 12 reference-results/H2-pulse/H2-EMD-pos-1.xyz
head reference-results/H2-pulse/H2-EMD-1.ener
cat data/CP2K-Ehrenfest-H2-conditions.csv

pos-1.xyz坐标为Å,ener时间列为fs,势能和动能为Hartree。本例40个核步加初始帧,共41帧;半时间步80步加初始帧,共81帧。两个核坐标都有实际变化,不是固定核电子传播。

5. 怎样理解能量#

无场任务的E_pot+E_kin总跨度约2.4×10⁻⁸ Eh。加场时外场可以做功,不要求这两项之和保持常数;原子核质心也不能单独按无场守恒条件判断。不要把有场能量变化直接叫作数值漂移。

实际脉冲与无场的最大键长差约2.88×10⁻⁴ Å,只说明这组输入产生可辨认响应,不能据此推断反应已发生。

下一步见时间步与结果读取。输入参考CP2K官方Ehrenfest小例,本篇重新设置几何、边界、初速度、收敛和脉冲,并实际完成上述对照。

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

查看配图

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

100%查看原图 ↗