Create a MolecularConfiguration

Goal

Define a molecule and its quantum chemistry settings as a MolecularConfiguration for use in Kvantify Qrunch calculations.

Prerequisites

  • Basic familiarity with molecular geometry and basis sets

  • Optional: An .xyz file containing your molecule

Creation Methods

Choose one of the following methods to build a MolecularConfiguration:

import qrunch as qc

molecular_configuration = qc.build_molecular_configuration(
    [
        ("H", 0.0, 0.0, 0.0),
        ("Li", 1.5474, 0.0, 0.0),
    ],
    basis_set="sto3g",
)
from pathlib import Path
import qrunch as qc

molecular_configuration = qc.build_molecular_configuration(
    molecule=Path.cwd() / "path/to/molecules/h2.xyz",
    basis_set="sto3g",
)

Optional Settings

Adjust charge, spin difference, or coordinate units (default is Angstrom: units=”angstrom”). Use these with either method above:

import qrunch as qc

molecular_configuration = qc.build_molecular_configuration(
    molecule=[
        ("H", 0.0, 0.0, 0.0),
        ("Li", 1.5474, 0.0, 0.0)
    ],
    basis_set="sto3g",
    charge=1,
    spin_difference=3,
    units="bohr",
)

Basis Set Options

You can also supply basis sets as enums or per-atom-type dictionaries:

As enum:

from qrunch.chemistry.molecule.basis_sets import BasisSet
import qrunch as qc

molecular_configuration = qc.build_molecular_configuration(
    molecule=[("H", 0.0, 0.0, 0.0), ("Li", 1.5474, 0.0, 0.0)],
    basis_set=BasisSet.STO3G,
)

As dictionary:

from qrunch.chemistry.molecule.atom import Atom
from qrunch.chemistry.molecule.basis_sets import BasisSet
import qrunch as qc

basis_set = {
    Atom("Li"): BasisSet.STO3G,
    Atom("H"): BasisSet.PCSEG0,
}

molecular_configuration = qc.build_molecular_configuration(
    molecule=[("H", 0.0, 0.0, 0.0), ("Li", 1.5474, 0.0, 0.0)],
    basis_set=basis_set,
)

Verify the Result

  • Print the MolecularConfiguration to check that atoms, basis sets, charge, spin difference, and units are as expected.

  • Use it directly in a problem builder.

Troubleshooting

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

  • File not found: Ensure the path to your .xyz file is correct.

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

See Also

  • API reference: qrunch.chemistry.molecule.MolecularConfiguration

  • API reference: qrunch.chemistry.molecule.Molecule

Next Step

You can use the molecular_configuration to build a ground-state problem: