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
The procedure is:
- 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). - Translate the geometry so that the center of mass is at the origin.
- Compute the Hessian by finite differences of the gradient (the number of
displacement points and the displacement size are controlled by
nderivpointsanddisplacement). - Remove translation and rotation from the Hessian and diagonalize to obtain normal modes and frequencies.
- 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:
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
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 |