SEAMM MDI#
A reusable MDI (MolSSI Driver Interface) driver facility for SEAMM. It lets a SEAMM step launch a quantum-chemistry (or other) engine once and drive it for many energy/force evaluations over the MDI protocol, instead of relaunching the external code for every geometry. This is a large win for the inexpensive codes (semiempirical methods, forcefields) whose run time is dominated by start-up.
The central class is MDIEngine, a small, unit-aware driver:
from seamm_mdi import MDIEngine
with MDIEngine(build_argv, elements=[8, 1, 1]) as engine:
engine.set_coordinates(xyz, units="Å")
energy = engine.energy(units="kcal/mol")
forces = engine.forces(units="kcal/mol/Å")