|
OpenMD 3.2
Molecular Dynamics in the Open
|
Public Member Functions | |
| ForceMatrixDecomposition (SimInfo *info, InteractionManager *iMan) | |
| void | distributeInitialData () |
| distributeInitialData is essentially a copy of the older fortran SimulationSetup | |
| void | zeroWorkArrays () |
| void | distributeData () |
| void | collectIntermediateData () |
| void | distributeIntermediateData () |
| void | collectSelfData () |
| Collects information obtained during the post-pair (and embedding functional) loops onto local data structures. | |
| void | collectData () |
| void | buildNeighborList (vector< int > &neighborList, vector< int > &point, vector< Vector3d > &savedPositions) |
| Vector3d & | getGroupVelocityColumn (int cg2) |
| vector< int > & | getAtomsInGroupRow (int cg1) |
| returns the list of atoms belonging to this group. | |
| vector< int > & | getAtomsInGroupColumn (int cg2) |
| Vector3d | getAtomToGroupVectorRow (int atom1, int cg1) |
| Vector3d | getAtomToGroupVectorColumn (int atom2, int cg2) |
| RealType & | getMassFactorRow (int atom1) |
| RealType & | getMassFactorColumn (int atom2) |
| Vector3d | getIntergroupVector (int cg1, int cg2) |
| Vector3d | getInteratomicVector (int atom1, int atom2) |
| int & | getNAtomsInRow () |
| int | getTopologicalDistance (int atom1, int atom2) |
| vector< int > & | getExcludesForAtom (int atom1) |
| bool | skipAtomPair (int atom1, int atom2, int cg1, int cg2) |
| We need to exclude some overcounted interactions that result from the parallel decomposition. | |
| bool | excludeAtomPair (int atom1, int atom2) |
| We need to handle the interactions for atoms who are involved in the same rigid body as well as some short range interactions (bonds, bends, torsions) differently from other interactions. | |
| int | getGlobalIDRow (int atom1) |
| int | getGlobalIDCol (int atom1) |
| int | getGlobalID (int atom1) |
| void | addForceToAtomRow (int atom1, Vector3d fg) |
| void | addForceToAtomColumn (int atom2, Vector3d fg) |
| Vector3d & | getAtomVelocityColumn (int atom2) |
| void | fillInteractionData (InteractionData &idat, int atom1, int atom2, bool newAtom1=true) |
| void | unpackInteractionData (InteractionData &idat, int atom1, int atom2) |
| void | unpackPrePairData (InteractionData &idat, int atom1, int atom2) |
| Public Member Functions inherited from OpenMD::ForceDecomposition | |
| ForceDecomposition (SimInfo *info, InteractionManager *iMan) | |
| virtual void | setSnapshot (Snapshot *snap) |
| virtual potVec | getSelfPotential () |
| virtual potVec | getPairwisePotential () |
| virtual potVec | getExcludedPotential () |
| virtual potVec | getSelectedPotential () |
| virtual potVec | getExcludedSelfPotential () |
| virtual potVec | getSelectedSelfPotential () |
| virtual bool | checkNeighborList (vector< Vector3d > savedPositions) |
| void | setCutoffRadius (RealType rCut) |
| virtual void | fillSelfData (SelfData &sdat, int atom) |
| virtual void | unpackSelfData (SelfData &sdat, int atom) |
| virtual void | fillPreForceData (SelfData &sdat, int atom) |
| virtual void | unpackPreForceData (SelfData &sdat, int atom) |
| virtual void | addToHeatFlux (Vector3d hf) |
| virtual void | setHeatFlux (Vector3d hf) |
Public Attributes | |
| vector< int > | cgRowToGlobal |
| vector< int > | cgColToGlobal |
Additional Inherited Members | |
| Protected Attributes inherited from OpenMD::ForceDecomposition | |
| SimInfo * | info_ {nullptr} |
| SnapshotManager * | sman_ |
| Snapshot * | snap_ |
| ForceField * | ff_ |
| InteractionManager * | interactionMan_ |
| int | atomStorageLayout_ |
| int | rigidBodyStorageLayout_ |
| int | cutoffGroupStorageLayout_ |
| bool | needVelocities_ |
| bool | usePeriodicBoundaryConditions_ |
| RealType | skinThickness_ |
| Verlet neighbor list skin thickness. | |
| RealType | rCut_ |
| RealType | rList_ |
| RealType | rListSq_ |
| vector< int > | idents |
| vector< int > | regions |
| potVec | pairwisePot |
| potVec | selfPot |
| potVec | excludedPot |
| potVec | excludedSelfPot |
| potVec | selectedPot |
| potVec | selectedSelfPot |
| vector< vector< int > > | toposForAtom |
| The topological distance between two atomic sites is handled via two vector structures for speed. | |
| vector< vector< int > > | topoDist |
| vector< vector< int > > | excludesForAtom |
| vector< vector< int > > | groupList_ |
| vector< RealType > | massFactors |
| vector< AtomType * > | atypesLocal |
| vector< Vector3i > | cellOffsets_ |
| Vector3i | nCells_ |
| vector< vector< int > > | cellList_ |
Definition at line 62 of file ForceMatrixDecomposition.hpp.
| OpenMD::ForceMatrixDecomposition::ForceMatrixDecomposition | ( | SimInfo * | info, |
| InteractionManager * | iMan ) |
Definition at line 57 of file ForceMatrixDecomposition.cpp.
| OpenMD::ForceMatrixDecomposition::~ForceMatrixDecomposition | ( | ) |
Definition at line 91 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 982 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 974 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 1336 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 579 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 523 of file ForceMatrixDecomposition.cpp.
|
virtual |
Collects information obtained during the post-pair (and embedding functional) loops onto local data structures.
Implements OpenMD::ForceDecomposition.
Definition at line 786 of file ForceMatrixDecomposition.cpp.
References collectSelfData().
Referenced by collectSelfData().
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 459 of file ForceMatrixDecomposition.cpp.
|
virtual |
distributeInitialData is essentially a copy of the older fortran SimulationSetup
Implements OpenMD::ForceDecomposition.
Definition at line 114 of file ForceMatrixDecomposition.cpp.
References distributeInitialData(), OpenMD::PairList::hasPair(), and OpenMD::ForceDecomposition::toposForAtom.
Referenced by distributeInitialData().
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 558 of file ForceMatrixDecomposition.cpp.
|
virtual |
We need to handle the interactions for atoms who are involved in the same rigid body as well as some short range interactions (bonds, bends, torsions) differently from other interactions.
We'll still visit the pairwise routines, but with a flag that tells those routines to exclude the pair from direct long range interactions. Some indirect interactions (notably reaction field) must still be handled for these pairs.
Implements OpenMD::ForceDecomposition.
Definition at line 962 of file ForceMatrixDecomposition.cpp.
References excludeAtomPair().
Referenced by excludeAtomPair().
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 991 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 818 of file ForceMatrixDecomposition.cpp.
|
virtual |
returns the list of atoms belonging to this group.
Implements OpenMD::ForceDecomposition.
Definition at line 810 of file ForceMatrixDecomposition.cpp.
References getAtomsInGroupRow().
Referenced by getAtomsInGroupRow().
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 867 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 854 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 846 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 909 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 1650 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 1642 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 1634 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 838 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 896 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 826 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 888 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 880 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 799 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 330 of file ForceMatrixDecomposition.cpp.
|
virtual |
We need to exclude some overcounted interactions that result from the parallel decomposition.
Implements OpenMD::ForceDecomposition.
Definition at line 918 of file ForceMatrixDecomposition.cpp.
References skipAtomPair().
Referenced by skipAtomPair().
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 1223 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 1305 of file ForceMatrixDecomposition.cpp.
|
virtual |
Implements OpenMD::ForceDecomposition.
Definition at line 337 of file ForceMatrixDecomposition.cpp.
| vector<int> OpenMD::ForceMatrixDecomposition::cgColToGlobal |
Definition at line 176 of file ForceMatrixDecomposition.hpp.
| vector<int> OpenMD::ForceMatrixDecomposition::cgRowToGlobal |
Definition at line 175 of file ForceMatrixDecomposition.hpp.