Prefactor

Changed in version 2.12: Fixed Hessian size validation bug where min2Freqs was never checked. Fixed float precision in QQ-HTST physical constants.

The prefactor job computes the harmonic transition state theory (hTST) rate prefactor using the Vineyard formula. This relates vibrational frequencies at a minimum and saddle point to determine the attempt frequency for a transition.

The prefactor job requires pre-computed minimum and saddle point structures. It uses the Hessian to obtain vibrational frequencies at each stationary point. With more than one calculator group and an empty checkpoint_path, that Hessian evaluates the displaced structures in one batch.

Usage

[Main]
job = prefactor

[Prefactor]
rate_estimation = htst
filter_scheme = fraction
filter_fraction = 0.9

The filter_scheme controls which frequencies contribute to the prefactor. Setting filter_fraction = 0.9 includes frequencies within 90% of the full range, filtering out very high-frequency modes that may be numerical artifacts.

Configuration

[Prefactor]
pydantic model eon.schema.PrefactorConfig[source]
Fields:
  • all_free_atoms (bool)

  • filter_scheme (Literal['cutoff', 'fraction'])

  • filter_fraction (float)

  • min_displacement (float)

  • within_radius (float)

  • default_value (float)

  • min_value (float)

  • max_value (float)

  • configuration (Literal['reactant', 'saddle', 'product'])

  • rate_estimation (str)

field all_free_atoms: bool = False

Account for all free atoms when determining the prefactor.

field filter_scheme: Literal['cutoff', 'fraction'] = 'fraction'

Options: - cutoff: includes atoms that move more than eon.schema.PrefactorConfig.min_displacement - fraction: includes atoms that make up eon.schema.PrefactorConfig.filter_fraction of the total motion, prioritizing the atoms that move the most

Determines how to filter the atoms for use in the prefactor calculation.

field filter_fraction: float = 0.9

When using filter_scheme fraction, includes the atoms that move the most, limited to the number that make up filter_fraction of the total motion.

field min_displacement: float = 0.25

Minimum displacement for an atom to be included in the Hessian calculation. Used only with filter_scheme ‘cutoff’.

field within_radius: float = 3.3

Atoms within this radius of moving atoms are included in the Hessian. Used only with filter_scheme ‘cutoff’.

field default_value: float = 0.0

Calculate prefactor if zero, otherwise use given value instead of doing a full prefactor calculation.

field min_value: float = 1000000000.0

Minimum value for a reasonable prefactor.

field max_value: float = 1e+21

Maximum value for a reasonable prefactor.

field configuration: Literal['reactant', 'saddle', 'product'] = 'reactant'
Options:
  • reactant

  • saddle

  • product.

Configuration for which the eigenfrequencies will be determined in a prefactor job.

field rate_estimation: str = 'htst'

Rate estimation method used for the prefactor calculation.