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
FragmentedMoleculedriver. At this stage this primarily will entail ensuring that severed bonds are dealt with correctly.
- Hierarchical
Like the
FragmentedSystemdriver we again want theFragmentedMoleculedriver to be designed in a hierchical manner that mirrors the hierarchy of theChemicalSystemandFragmentedSystemclasses. For theFragmentedMoleculedriver this means turning aFragmentedNucleiobject into aFragmentedMolecule.
- 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 theFragmentedNucleiobject and the latter live in theFragmentedMoleculeobject.
- Charge and multiplicity
Relative to the
Nucleiclass theMoleculeclass adds the charge and multiplicity. TheFragmentedMoleculeclass is similar in that it adds to theFragmentedNucleiclass 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
FragmentedMoleculedriver should be designed so that the theFragmentedNucleiwhich enter into it could be either fragments or \(n\)-mers.
FragmentedMolecule Driver Design
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.