ASE integration¶
ASE is the standard Python toolbox
for atomic-scale simulation — geometry optimisation, molecular
dynamics, vibrational analysis, structure I/O. vibe-qc provides a
VibeQC ASE Calculator that lets you plug the vibe-qc electronic
structure into any ASE workflow.
from ase.build import molecule
from ase.optimize import BFGS
from vibeqc.ase import VibeQC
atoms = molecule("H2O")
atoms.calc = VibeQC(method="rhf", basis="6-31g*")
BFGS(atoms).run(fmax=0.01)
print(atoms.get_potential_energy()) # eV
Supported methods¶
The method parameter selects the electronic-structure driver:
|
Driver |
Open-shell |
|---|---|---|
|
|
No |
|
|
Yes |
|
|
No (set |
|
|
Yes |
If the Atoms.magmoms attribute is non-zero, vibe-qc automatically
selects the U* variant and sets the multiplicity accordingly.
Forces¶
All four methods above expose analytic nuclear gradients. ASE’s
get_forces() returns them in eV/Å as usual.
f = atoms.get_forces()
Periodic calculations via ASE¶
ASE also handles periodic cells. Integration with
run_rhf_periodic / run_rks_periodic is a planned
extension — for now, translate the Atoms to a
PeriodicSystem manually as shown in the
tutorials.