-
- Downloads
There was an error fetching the commit references. Please try again later.
Tentative implementation of center-of-mass and of virtual atoms.
There is a generic ActionWithVirtualAtom class which can be used as the base for Actions able to add new virtual atoms to the system. Virtual atoms are stored in Atoms, can be referred to using the label of the generating action. Automatically, they are assigned an AtomNumber which exceed the real atom numbers (e.g. if you have 108 real atoms, virtual atoms will have indexes 108,109,...). They are automatically understood by the parser provided one uses the parseAtomList() function. Each instance of this class only generate a single virtual atom. The nice thing is that, since lists of atoms can be dynamically changed (e.g. by neighbor lists), dependencies are handled properly and a virtual atom is only computed of the steps on which it is needed. I also implemented a practical case, which is center-of-mass (GenericCOM).
Showing
- src/Action.cpp 6 additions, 1 deletionsrc/Action.cpp
- src/ActionAtomistic.cpp 23 additions, 3 deletionssrc/ActionAtomistic.cpp
- src/ActionWithVirtualAtom.cpp 32 additions, 0 deletionssrc/ActionWithVirtualAtom.cpp
- src/ActionWithVirtualAtom.h 64 additions, 0 deletionssrc/ActionWithVirtualAtom.h
- src/Atoms.cpp 25 additions, 1 deletionsrc/Atoms.cpp
- src/Atoms.h 44 additions, 37 deletionssrc/Atoms.h
- src/GenericCOM.cpp 73 additions, 0 deletionssrc/GenericCOM.cpp
- src/PlumedMain.cpp 4 additions, 2 deletionssrc/PlumedMain.cpp
src/ActionWithVirtualAtom.cpp
0 → 100644
src/ActionWithVirtualAtom.h
0 → 100644
src/GenericCOM.cpp
0 → 100644
Please register or sign in to comment