| 114 |
|
|
| 115 |
|
// group bookkeeping |
| 116 |
|
virtual groupCutoffs getGroupCutoffs(int cg1, int cg2) = 0; |
| 117 |
+ |
virtual Vector3d getGroupVelocityColumn(int atom2) = 0; |
| 118 |
|
|
| 119 |
|
// Group->atom bookkeeping |
| 120 |
|
virtual vector<int> getAtomsInGroupRow(int cg1) = 0; |
| 137 |
|
virtual int getTopologicalDistance(int atom1, int atom2) = 0; |
| 138 |
|
virtual void addForceToAtomRow(int atom1, Vector3d fg) = 0; |
| 139 |
|
virtual void addForceToAtomColumn(int atom2, Vector3d fg) = 0; |
| 140 |
+ |
virtual Vector3d getAtomVelocityColumn(int atom2) = 0; |
| 141 |
|
|
| 140 |
– |
|
| 142 |
|
// filling interaction blocks with pointers |
| 143 |
|
virtual void fillInteractionData(InteractionData &idat, int atom1, int atom2) = 0; |
| 144 |
|
virtual void unpackInteractionData(InteractionData &idat, int atom1, int atom2) = 0; |
| 145 |
|
|
| 146 |
|
virtual void fillSelfData(SelfData &sdat, int atom1); |
| 147 |
+ |
|
| 148 |
+ |
virtual void addToHeatFlux(Vector3d hf); |
| 149 |
+ |
virtual void setHeatFlux(Vector3d hf); |
| 150 |
|
|
| 151 |
|
protected: |
| 152 |
|
SimInfo* info_; |
| 156 |
|
InteractionManager* interactionMan_; |
| 157 |
|
|
| 158 |
|
int storageLayout_; |
| 159 |
+ |
bool needVelocities_; |
| 160 |
|
RealType skinThickness_; /**< Verlet neighbor list skin thickness */ |
| 161 |
|
RealType largestRcut_; |
| 162 |
|
|