Create a ReactionConfiguration

Goal

Define a sequence of molecular geometries and shared quantum-chemistry settings as a ReactionConfiguration for use in Kvantify Qrunch calculations.

Prerequisites

  • Basic familiarity with molecular geometry and basis sets

  • Optional: an .xyz file containing multiple geometries (multi-frame concatenated XYZ)

What Is a ReactionConfiguration?

A ReactionConfiguration packages an ordered list of geometries (images) that represent a path or scan (e.g., different bond lengths) plus the settings (basis set, charge, spin difference, units) that apply to all images.

Creation Methods

Choose one of the following ways to build a ReactionConfiguration:

Supply a Python list where each item is one geometry, itself a list of (symbol, x, y, z) tuples.

import qrunch as qc

reaction_configuration = qc.build_reaction_configuration(
    reaction=[
        [("H", 0.0, 0.0, 0.0), ("H", 0.72, 0.0, 0.0)],
        [("H", 0.0, 0.0, 0.0), ("H", 0.74, 0.0, 0.0)],
        [("H", 0.0, 0.0, 0.0), ("H", 0.76, 0.0, 0.0)],
    ],
    basis_set="sto3g"
)

Pass a path to an XYZ file that contains multiple geometries (concatenated frames):

from pathlib import Path
import qrunch as qc

reaction_configuration = qc.build_reaction_configuration(
    reaction=Path("path/to/reaction_scan.xyz"),
    basis_set="sto3g",
 )

See Create a MolecularConfiguration for how to create a Molecule. Then pass a list of them:

import qrunch as qc

reaction_configuration = qc.build_reaction_configuration(
    reaction=molecules,
    basis_set="sto3g",
)

Optional Settings

See Create a MolecularConfiguration for how to set optional settings.

Basis Set Options

See Create a MolecularConfiguration for how to supply basis sets as enums or per-atom-type dictionaries.

Notes on Inputs

  • Images: ordering matters — it’s the path you intend to sample.

Verify the Result

  • Print the ReactionConfiguration to check that number of geometries, atoms, basis sets, charge, spin difference, and units are as expected.

  • Use the reaction_configuration directly in a problem builder.

Troubleshooting

  • File not found: Ensure the path to your multi-frame .xyz exists and is readable.

  • Invalid basis set name provided.: Verify that the basis set name is supported.

  • Unknown atom symbol: Check spelling and capitalization ("Li" not "li").

  • Inconsistent image sizes: All images should have the same atom ordering and count.

See Also

  • Create a MolecularConfiguration — for details on basis, charge, spin, and units options (identical semantics)

  • API reference: qrunch.chemistry.molecule.Molecule

  • API reference: qrunch.chemistry.reaction.ReactionConfiguration

Next Step

You can use the molecular_configuration to build a reaction path problem: Construct a Reaction-Path Problem