Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add virtual templates #197

Open
wants to merge 6 commits into
base: old_main
Choose a base branch
from

Conversation

rmatsum836
Copy link
Collaborator

Really primitive VirtualSite class. My plan was originally to inherit from the Connection class. However virtual sites are not technically connected to the other members, so I decided to create a new class. I could be doing this wrong though so feel free to provide any criticism/ feedback.

In this class, I've separated out the attributes so that virtual_site and virtual_site_members are separate attributes. The underlying virtual_site_type needs work but hoping we can discuss this sometime.

@rmatsum836
Copy link
Collaborator Author

rmatsum836 commented Jan 27, 2020

Per our conversation today, it seems like Gromacs and OpenMM both handle virtual sites similarly.

the VirtualSites tag in OpenMM contains the weights for each atom to compute a weighted average of the atom positions to determine the coordinates of the virtual site. Gromacs .top file contains a and b parameters which are used to compute the weights.

Not sure LAMMPS handles generic virtual sites (https://www.ks.uiuc.edu/Research/namd/mailing_list/namd-l.2014-2015/1869.html). For TIP4P, the virtual site atom isn't even supposed to be included in the data file and I guess is handled under the hood with pair_style lj/cut/tip4p

@rmatsum836
Copy link
Collaborator Author

Based on recent discussion regarding the GMSO API, this PR will get refactored based on the following design decisions:

  • VirtualSite will be a subclass of the Site abstract base class
  • We will either have a site groups in the VirtualSite class itself or a VirtualSitePosition class that handles calculating the virtual site position from the surrounding sites.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant