I am trying to learn how to run ab initio molecular dynamics simulations from the Q-Chem manual (§9.9.5).
https://manual.q-chem.com/5.4/subsec_QCT.html
The more typical BOMD calculations described at the beginning of the section (§9.9.1) are performing fine, but there appears to be two issues that occur when I try to run the QCT version. The first is the job consistently fails after printing the table of the vibrational distribution, with the following error:
Q-Chem fatal error occurred in module /home/scratch/svnadmin/21813_zgan/qchem/aimdman/GetVelocFromHarmonicDistribution.C, line 375:
Number of phases specified in inputs != number of modes.
p0_41580: p4_error: interrupt SIGx: 6
This is consistent, despite my various attempts to adjust the input file. The only relevant occurrence of “phase” in the manual is briefly mentioned in §9.9.5, having to do with the choice of the phase of the QCT-active vibrational modes. I tried being explicit about which vibrational modes were QCT-active, following Example 9.35 in §9.9.5, and then specifying their phases, but the same error message occurs. Playing around with $qct_vib_distribution
also revealed the second issue, which is that the 100% of the trajectories are found in the highest vibrational quanta of every QCT-active vibrational mode, regardless of what aimd_temp
is set to. (In addition, I discovered that the values of $qct_vib_distribution
in a previous calculation are carried over to a future calculation if $qct_vib_distribution
is not called in the subsequent input file.)
These issues occurred when attempting to run the input provided in Example 9.33 as well as when attempting to run the input provided in the program package ($QC/samples/md/aiqct_hf_h2o.in
), both with and without the additional calls described in Example 9.35.
I also failed to find the module GetVelocFromHarmonicDistribution.C
in the installation directory, which I hoped would shed more light on the issue.
I’d appreciate any insight into this issue, as I believe the QCT MD calculations is desired for my current project.
Thanks in advance.
Input file based on Example 9.33:
$molecule
0 1
O
H 1 0.962006
H 1 0.962006 2 105.035374
$end
$rem
jobtype freq
method b3lyp
basis 6-31g
$end
@@@
$molecule
read
$end
$rem
jobtype aimd
method b3lyp
basis 6-31g
scf_convergence 6
time_step 20
aimd_steps 1250
aimd_temp 12
aimd_print 2
fock_extrap_order 6
fock_extrap_points 12
aimd_moments 1
aimd_nucl_sample_rate 5
aimd_nucl_vacf_points 1000
aimd_init_veloc quasiclassical
aimd_qct_vibseed 1
aimd_qct_velseed 2
aimd_qct_which_trajectory -100
aimd_qct_initpos -100
$end
$qct_active_modes
1 2 3
$end
$qct_vib_distribution
10 10 10
$end
$qct_vib_phase
1 1 1
$end
Input file based on $QC/samples/md/aiqct_hf_h2o.in
, executed after above input file:
$comment0
Sample input for QCT-MD simulation in two steps: 1.) Calculate harmonic frequencies, 2.) Do the actual MD simulation. If you have saved frequency files, you can also skip step #1 and just re-use the scratch files.
$end
$comment
Sample input for QCT-MD simulation in two steps:
1.) Calculate harmonic frequencies
2.) Do the actual MD simulation
If you have saved frequency files, you can also skip step #1 and just
re-use the scratch files.
The input for a QCT-MD job is essentially the same as for regular MD.
The only exceptions are:
- Set the aimd_init_veloc keyword to "quasiclassical"
- Every trajectory, although sampled from a random distribution,
has a unique number associated with it. Set aimd_qct_which_trajectory
to different values to sample different initial conditions.
$end
$molecule
0 1
O 0.000000 0.000000 0.520401
H -1.475015 0.000000 -0.557186
H 1.475015 0.000000 -0.557186
$end
$rem
jobtype freq
input_bohr true
method hf
basis 3-21g
$end
@@@
$comment
This runs trajectory "#1" at 12K.
$end
$molecule
read
$end
$rem
jobtype aimd
input_bohr true
method hf
basis 3-21g
scf_convergence 6
time_step 20 (in atomic units)
aimd_steps 20
aimd_init_veloc quasiclassical
aimd_temp 12
aimd_qct_which_trajectory 1
aimd_print 2
fock_extrap_order 6 Use a 6th-order extrapolation
fock_extrap_points 12 of the previous 12 Fock matrices
aimd_qct_velseed 1234567
aimd_qct_vibseed 1234567
$end