Given the above input, TorsionDrive starts to iteratively fill and refine the data of all grid points using constrained energy minimizations, denoted by the arrows in Figure . Each constrained optimization is specified by an initial molecular structure and a target set of dihedral angle constraints, and the result is an optimized structure that matches the constraints with the other degrees of freedom relaxed. Within this workflow, TorsionDrive specifies the optimizations and processes the output data, and the actual optimizations are carried out via interfaces to other software packages. Multiple constrained optimizations that are specified at the same step in the workflow can be carried out in parallel. In standalone operation mode, TorsionDrive uses the Work Queue distributed computing framework to take advantage of parallel resources. When TorsionDrive is used as part of the QCArchive ecosystem, it works as an API to specify the constrained optimization inputs while QCArchive is responsible for job management; this is described in detail in Section 4.