Site is the object that represents any general interaction site in a molecular simulation. Sites have been designed to be as general as possible, making no assumptions about representing atoms or beads, or having mass or charge. That is, a Site can represent an atom in an atomistic system, a bead in a coarse-grained system, and much more.
In general, a site in a molecular simulation can be of following types (braces represent potential form):
In this post We will try to explain what each of these sites
mean in terms of modeling them. From that we will try to derive the properties and methods for common abstract representation of a site.
An atom is the fundamental form of a site with an element, mass and charge and other properties.
Properties of an Atom
:
Property preceedence when used with AtomType
:
A bead is like an Atom without an Element, commonly used in coarse-grained simulations.
Properties of a Bead
:
Property preceedence when used with AtomType
:
Low Priority: Classmethod method to form a bead from group of Atoms.
A virtual Site is a Site for which position is determined based on the position of individual atoms constituting the Virtual Site.
Properties for VirtualSite
:
We either have a site groups in the class itself or a VirtualSitePosition class that handles calculating positions from Sites that form this virtual site.
TBD..
A Connection that stores data about connections between sites.
This class functions as a super-class for any connected groups (bonds, angles, dihedrals, etc).
Each instance can have a property for the conection_type (bond_type, angle_type, dihedral_type) which are the subclasses of an Abstract Potential Object
In general, a connection in a molecular simulation can be of following types (braces represent potential form):
Question: Is an abstraction that is higher than Connection needed to correctly encapsulate all associations and AssociationTypes?
A Bond is a 2 Site connection. See Connection Rules above for the possible Site connections that qualify as a Bond.
Properties of a Bond
:
An Angle is a 3 Site connection. See Connection Rules above for the possible Site connections that qualify as an Angle.
Properties of a Angle
:
Both Dihedrals and Impropers represent a 4 Site connection. See Connection Rules above for the possible Site connections that qualify as an Improper/Dihedral.
Properties of a Dihedral/Improper
:
How should we allow addition of Bonded Connections between the Sites? Should you be allowed to add an Angle between three sites A-B-C
if there's no Bond A-B
or B-C
or equivalent?