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 theFragmentedMolecule
driver to be designed in a hierchical manner that mirrors the hierarchy of theChemicalSystem
andFragmentedSystem
classes. For theFragmentedMolecule
driver this means turning aFragmentedNuclei
object 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 theFragmentedNuclei
object and the latter live in theFragmentedMolecule
object.
- Charge and multiplicity
Relative to the
Nuclei
class theMolecule
class adds the charge and multiplicity. TheFragmentedMolecule
class is similar in that it adds to theFragmentedNuclei
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 theFragmentedNuclei
which enter into it could be either fragments or \(n\)-mers.
FragmentedMolecule Driver Design
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.