686 |
|
|
687 |
|
int n = snap_->atomData.electricField.size(); |
688 |
|
vector<Vector3d> field_tmp(n, V3Zero); |
689 |
< |
AtomPlanVectorColumn->scatter(atomColData.electricField, field_tmp); |
689 |
> |
AtomPlanVectorColumn->scatter(atomColData.electricField, |
690 |
> |
field_tmp); |
691 |
|
for (int i = 0; i < n; i++) |
692 |
|
snap_->atomData.electricField[i] += field_tmp[i]; |
693 |
|
} |
1043 |
|
* the parallel decomposition. |
1044 |
|
*/ |
1045 |
|
bool ForceMatrixDecomposition::skipAtomPair(int atom1, int atom2, int cg1, int cg2) { |
1046 |
< |
int unique_id_1, unique_id_2, group1, group2; |
1046 |
> |
int unique_id_1, unique_id_2; |
1047 |
|
|
1048 |
|
#ifdef IS_MPI |
1049 |
|
// in MPI, we have to look up the unique IDs for each atom |
1050 |
|
unique_id_1 = AtomRowToGlobal[atom1]; |
1051 |
|
unique_id_2 = AtomColToGlobal[atom2]; |
1052 |
< |
group1 = cgRowToGlobal[cg1]; |
1053 |
< |
group2 = cgColToGlobal[cg2]; |
1052 |
> |
// group1 = cgRowToGlobal[cg1]; |
1053 |
> |
// group2 = cgColToGlobal[cg2]; |
1054 |
|
#else |
1055 |
|
unique_id_1 = AtomLocalToGlobal[atom1]; |
1056 |
|
unique_id_2 = AtomLocalToGlobal[atom2]; |
1057 |
< |
group1 = cgLocalToGlobal[cg1]; |
1058 |
< |
group2 = cgLocalToGlobal[cg2]; |
1057 |
> |
int group1 = cgLocalToGlobal[cg1]; |
1058 |
> |
int group2 = cgLocalToGlobal[cg2]; |
1059 |
|
#endif |
1060 |
|
|
1061 |
|
if (unique_id_1 == unique_id_2) return true; |
1187 |
|
idat.A2 = &(snap_->atomData.aMat[atom2]); |
1188 |
|
} |
1189 |
|
|
1190 |
+ |
RealType ct = dot(idat.A1->getColumn(2), idat.A2->getColumn(2)); |
1191 |
+ |
|
1192 |
|
if (storageLayout_ & DataStorage::dslTorque) { |
1193 |
|
idat.t1 = &(snap_->atomData.torque[atom1]); |
1194 |
|
idat.t2 = &(snap_->atomData.torque[atom2]); |