Skip to main content
. 2021 Nov 22;155(20):204801. doi: 10.1063/5.0059356

FIG. 3.

FIG. 3.

Layout and access pattern between selected existing and planned (marked by *) community quantum chemistry codes, QCEngine, and QCDB. Community codes (i) in a variety of languages are wrapped in QCSchema input/output by a QCEngine harness (ii) and (iv), which may be light (if the code has an API or structured output) or heavy (if only text output available). The QCDB harnesses (iii) and (v) add unifying and ease-of-use layers atop the QCEngine calls. Whereas analytic energies and derivatives are classified as programs (ii) and (iii) and call QC codes directly, multi-stage and post-processing jobs are written as procedures (iv) and (v) for composability and distributability and call programs in turn. The QCDB driver provides API access to both sets. Labels (a)–(d) correspond to the stages of unified input in Fig. 2.