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.
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]¶
Show JSON schema
{ "title": "PrefactorConfig", "type": "object", "properties": { "all_free_atoms": { "default": false, "description": "Account for all free atoms when determining the prefactor.", "title": "All Free Atoms", "type": "boolean" }, "filter_scheme": { "default": "fraction", "description": "Determines how to filter the atoms for use in the prefactor calculation.", "enum": [ "cutoff", "fraction" ], "title": "Filter Scheme", "type": "string" }, "filter_fraction": { "default": 0.9, "description": "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.", "title": "Filter Fraction", "type": "number" }, "min_displacement": { "default": 0.25, "description": "Minimum displacement for an atom to be included in the Hessian calculation. Used only with filter_scheme 'cutoff'.", "title": "Min Displacement", "type": "number" }, "within_radius": { "default": 3.3, "description": "Atoms within this radius of moving atoms are included in the Hessian. Used only with filter_scheme 'cutoff'.", "title": "Within Radius", "type": "number" }, "default_value": { "default": 0.0, "description": "Calculate prefactor if zero, otherwise use given value instead of doing a full prefactor calculation.", "title": "Default Value", "type": "number" }, "min_value": { "default": 1000000000.0, "description": "Minimum value for a reasonable prefactor.", "title": "Min Value", "type": "number" }, "max_value": { "default": 1e+21, "description": "Maximum value for a reasonable prefactor.", "title": "Max Value", "type": "number" }, "configuration": { "default": "reactant", "description": "Configuration for which the eigenfrequencies will be determined in a prefactor job.", "enum": [ "reactant", "saddle", "product" ], "title": "Configuration", "type": "string" }, "rate_estimation": { "default": "htst", "description": "Rate estimation method used for the prefactor calculation.", "title": "Rate Estimation", "type": "string" } } }
- Config:
use_attribute_docstrings: bool = True
- Fields:
- field configuration: Literal['reactant', 'saddle', 'product'] = 'reactant'¶
- Options:
reactantsaddleproduct.
Configuration for which the eigenfrequencies will be determined in a prefactor job.
- field default_value: float = 0.0¶
Calculate prefactor if zero, otherwise use given value instead of doing a full 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 upfilter_fractionof the total motion.
- field filter_scheme: Literal['cutoff', 'fraction'] = 'fraction'¶
Options: -
cutoff: includes atoms that move more thaneon.schema.PrefactorConfig.min_displacement-fraction: includes atoms that make upeon.schema.PrefactorConfig.filter_fractionof the total motion, prioritizing the atoms that move the mostDetermines how to filter the atoms for use in the prefactor calculation.