Designing the FragmentedMolecule Driver

This page captures the design process of the FragmentedMolecule driver component of GhostFragment.

What is the FragmentedMolecule Driver?

The first step of the Designing GhostFragment’s FragmentedSystem Driver required creating a FragmentedMolecule object. The responsibility for creating that object was punted to the FragmentedMolecule driver. The FragmentedMolecule driver is responsible for taking a ChemicalSystem as input and returning a FragmentedMolecule object.

FragmentedMolecule Driver Considerations

Accuracy

Designing GhostFragment’s FragmentedSystem Driver punted most of the responsibility for ensuring the set of fragments captures all important interactions to the FragmentedMolecule driver. At this stage this primarily will entail ensuring that severed bonds are dealt with correctly.

Hierarchical

Like the FragmentedSystem driver we again want the FragmentedMolecule driver to be designed in a hierchical manner that mirrors the hierarchy of the ChemicalSystem and FragmentedSystem classes. For the FragmentedMolecule driver this means turning a FragmentedNuclei object into a FragmentedMolecule.

Capping

Severing a covalent bond leads to very large perturbations. The severed bond must be dealt with in some manner.

  • Capping must be done before charges/multiplicities can be assigned.

  • By doing the capping at the Molecule-level we are able to distinguish between the “real” atoms (those which are also part of the supersystem) and the caps, since the former live in the FragmentedNuclei object and the latter live in the FragmentedMolecule object.

Charge and multiplicity

Relative to the Nuclei class the Molecule class adds the charge and multiplicity. The FragmentedMolecule class is similar in that it adds to the FragmentedNuclei class a set of charges and multiplicities, namely the charge and multiplicity of each fragment.

\(n\)-mers

From the perspective of the GMBE, there is no real destinction between fragments and \(n\)-mers. Ultimately, the coefficients we need for the final energy expression simply depend on the overlaps of the final subsystems we want to run computations on. The FragmentedMolecule driver should be designed so that the the FragmentedNuclei which enter into it could be either fragments or \(n\)-mers.

FragmentedMolecule Driver Design

../../_images/fragmented_molecule_driver.png

Fig. 6 The architecture of the FragmentedMolecule Driver.

The architecture of the FragmentedMolecule Driver. shows the architecture of the FragmentedMolecule driver. Following from consideration Hierarchical, the inputs to the driver is a FragmentedNuclei object. The input fragments will in general contain broken bonds. As stated in consideration Capping we need to address the broken bonds before we can accurately assign charges and multiplicities to the fragments. Once we have capped fragments, the final step in creating a FragmentedMolecule object is to assign the charges and multiplicities to the fragments, satisfying Charge and multiplicity.