Skip to content

Initial Condition Generation

TeraChem can automatically sample initial conditions (positions and velocities) for nuclear dynamics from either Wigner or Husimi distributions in the harmonic approximation. This is selected with

run initcond

The procedure is:

  1. Compute the gradient at the input geometry. If the gradient is large enough to suggest the geometry is not a stationary point, the job aborts (this check can be disabled with mincheck false).
  2. Translate the geometry so that the center of mass is at the origin.
  3. Compute the Hessian by finite differences of the gradient (the number of displacement points and the displacement size are controlled by nderivpoints and displacement).
  4. Remove translation and rotation from the Hessian and diagonalize to obtain normal modes and frequencies.
  5. Sample a single set of nuclear positions and momenta from the Wigner (default) or Husimi distribution of the harmonic ground state at temperature initcondtemp.

To generate an ensemble of initial conditions, run multiple initcond jobs; TeraChem produces one geometry/velocity pair per invocation. The cached Hessian.bin in the scratch directory is reused on subsequent runs.

Output files

All written to the scratch directory:

File Contents
CentralGeometry.initcond.xyz Input geometry, translated so the center of mass is at the origin
Geometry.initcond.dat Central geometry plus per-atom masses used
Frequencies.initcond.dat Harmonic frequencies and normal-mode vectors (translation/rotation removed)
Geometry.initcond.xyz Sampled initial geometry
Velocities.initcond.xyz Sampled initial velocities
Hessian.bin Cached Hessian — reused on subsequent runs in the same scratch directory

The geometry and velocity files are in the format expected by coordinates and velocities in a subsequent MD run:

coordinates  Geometry.initcond.xyz
velocities   Velocities.initcond.xyz

Transition-state sampling

Initial-condition generation can also be used to sample dynamics from a transition state, in which case the imaginary mode needs special handling. This is controlled by initcondtssign:

Value Behavior on the imaginary mode
0 (default) Position and velocity along the imaginary mode are both zero — no sampling.
+1 or -1 Position and velocity are sampled from the harmonic distribution of an oscillator with the same magnitude frequency but treated as real; the sign of initcondtssign is applied to both so that all sampled conditions are on the same side of the saddle and move away from it.

Which sign corresponds to "toward reactants" vs "toward products" is system-specific and is best discovered by running a few trial trajectories far enough away from the TS to identify the destination basin.

Example

initcond.in
basis        6-31g*
method       b3lyp
coordinates  reactant_min.xyz
charge       0
spinmult     1

run          initcond
initcondtemp 300.0
husimi       false      # Wigner sampling (default)
nderivpoints 3
displacement 0.005
end

Summary of keywords

Keyword Type Default Description
initcondtemp float 0.0 Temperature (K) for sampling the harmonic distribution. 0.0 samples the harmonic ground state.
husimi bool false Sample from the Husimi distribution instead of the Wigner distribution
mincheck bool true Verify by gradient that the input geometry is a local minimum; set to false to skip when sampling a TS
initcondtssign int 0 TS sampling along the imaginary mode: 0 (no sampling), +1, or -1
ICMD bool false If true, automatically launch an MD trajectory using the sampled conditions after generation
nderivpoints int 3 Number of finite-difference points for the Hessian: 3, 5, or 7
displacement float 0.005 Finite-difference displacement in bohr
maxgradnorm float 0.001 Maximum gradient norm allowed at the input geometry when mincheck is on
thermo_temp float — Temperature used for thermodynamic-property analysis associated with the Hessian