High-Level Interface
The high-level interface takes advantage of QCSchema
data structures for input and output and defines an easy way to run
the QC computations through QCEngine.
The high-level interface uses the core-interface under the hood.
See the ManyBodyInput QCSchema class for the input options ManyBodyKeywords.
Details on forming fragmented Molecule s are at
molecule input
The high-level interface defines a ManyBodyComputer class in
computer.py whose input is ManyBodyInput schema and whose output is
ManyBodyResult schema.
It provides qcmanybody.v2.computer.ManyBodyComputer.from_manybodyinput() to run through
QCEngine.
See test_highlevel_interface_example() in
test_example.py
for a working example.
The ManyBodyComputer provides the missing link from the core interface
to run QC computations. A strategy that Psi4 uses is to define its own
ManyBodyComputer (inheriting from the high-level interface) that
runs QC computations the way Psi4 wants to while still using all the
validation and structure provided by the QCSchema I/O classes.
Note
QCManyBody import paths without QCSchema/Pydantic version specification (i.e.,
qcmanybody.models vs models.v1 and models.v2 and qcmanybody.computer vs. v1.computer and ``v2.computer)
are always pointing to v1 for continuity. This will be true until QCManyBody depends on QCElemental >=v0.70.0.
For technical constraints, these docs always reference v2 classes. See Docs v0.5.2 for QCSchema v1-based documentation.