| 559 |  | atomColData.electricField.end(), V3Zero); | 
| 560 |  | } | 
| 561 |  |  | 
| 562 | – | if (storageLayout_ & DataStorage::dslFlucQForce) { | 
| 563 | – | fill(atomRowData.flucQFrc.begin(), atomRowData.flucQFrc.end(), | 
| 564 | – | 0.0); | 
| 565 | – | fill(atomColData.flucQFrc.begin(), atomColData.flucQFrc.end(), | 
| 566 | – | 0.0); | 
| 567 | – | } | 
| 568 | – |  | 
| 562 |  | #endif | 
| 563 |  | // even in parallel, we need to zero out the local arrays: | 
| 564 |  |  | 
| 632 |  | AtomPlanMatrixColumn->gather(snap_->atomData.aMat, | 
| 633 |  | atomColData.aMat); | 
| 634 |  | } | 
| 635 | < |  | 
| 636 | < | // if needed, gather the atomic eletrostatic frames | 
| 637 | < | if (storageLayout_ & DataStorage::dslElectroFrame) { | 
| 638 | < | AtomPlanMatrixRow->gather(snap_->atomData.electroFrame, | 
| 639 | < | atomRowData.electroFrame); | 
| 640 | < | AtomPlanMatrixColumn->gather(snap_->atomData.electroFrame, | 
| 641 | < | atomColData.electroFrame); | 
| 635 | > |  | 
| 636 | > | // if needed, gather the atomic eletrostatic information | 
| 637 | > | if (storageLayout_ & DataStorage::dslDipole) { | 
| 638 | > | AtomPlanVectorRow->gather(snap_->atomData.dipole, | 
| 639 | > | atomRowData.dipole); | 
| 640 | > | AtomPlanVectorColumn->gather(snap_->atomData.dipole, | 
| 641 | > | atomColData.dipole); | 
| 642 |  | } | 
| 643 |  |  | 
| 644 | + | if (storageLayout_ & DataStorage::dslQuadrupole) { | 
| 645 | + | AtomPlanMatrixRow->gather(snap_->atomData.quadrupole, | 
| 646 | + | atomRowData.quadrupole); | 
| 647 | + | AtomPlanMatrixColumn->gather(snap_->atomData.quadrupole, | 
| 648 | + | atomColData.quadrupole); | 
| 649 | + | } | 
| 650 | + |  | 
| 651 |  | // if needed, gather the atomic fluctuating charge values | 
| 652 |  | if (storageLayout_ & DataStorage::dslFlucQPosition) { | 
| 653 |  | AtomPlanRealRow->gather(snap_->atomData.flucQPos, | 
| 1132 |  | idat.A2 = &(atomColData.aMat[atom2]); | 
| 1133 |  | } | 
| 1134 |  |  | 
| 1135 | < | if (storageLayout_ & DataStorage::dslElectroFrame) { | 
| 1136 | < | idat.eFrame1 = &(atomRowData.electroFrame[atom1]); | 
| 1137 | < | idat.eFrame2 = &(atomColData.electroFrame[atom2]); | 
| 1138 | < | } | 
| 1139 | < |  | 
| 1140 | < | if (storageLayout_ & DataStorage::dslTorque) { | 
| 1135 | > | if (storageLayout_ & DataStorage::dslTorque) { | 
| 1136 |  | idat.t1 = &(atomRowData.torque[atom1]); | 
| 1137 |  | idat.t2 = &(atomColData.torque[atom2]); | 
| 1138 |  | } | 
| 1139 |  |  | 
| 1140 | + | if (storageLayout_ & DataStorage::dslDipole) { | 
| 1141 | + | idat.dipole1 = &(atomRowData.dipole[atom1]); | 
| 1142 | + | idat.dipole2 = &(atomColData.dipole[atom2]); | 
| 1143 | + | } | 
| 1144 | + |  | 
| 1145 | + | if (storageLayout_ & DataStorage::dslQuadrupole) { | 
| 1146 | + | idat.quadrupole1 = &(atomRowData.quadrupole[atom1]); | 
| 1147 | + | idat.quadrupole2 = &(atomColData.quadrupole[atom2]); | 
| 1148 | + | } | 
| 1149 | + |  | 
| 1150 |  | if (storageLayout_ & DataStorage::dslDensity) { | 
| 1151 |  | idat.rho1 = &(atomRowData.density[atom1]); | 
| 1152 |  | idat.rho2 = &(atomColData.density[atom2]); | 
| 1186 |  | idat.A2 = &(snap_->atomData.aMat[atom2]); | 
| 1187 |  | } | 
| 1188 |  |  | 
| 1184 | – | if (storageLayout_ & DataStorage::dslElectroFrame) { | 
| 1185 | – | idat.eFrame1 = &(snap_->atomData.electroFrame[atom1]); | 
| 1186 | – | idat.eFrame2 = &(snap_->atomData.electroFrame[atom2]); | 
| 1187 | – | } | 
| 1188 | – |  | 
| 1189 |  | if (storageLayout_ & DataStorage::dslTorque) { | 
| 1190 |  | idat.t1 = &(snap_->atomData.torque[atom1]); | 
| 1191 |  | idat.t2 = &(snap_->atomData.torque[atom2]); | 
| 1192 | + | } | 
| 1193 | + |  | 
| 1194 | + | if (storageLayout_ & DataStorage::dslDipole) { | 
| 1195 | + | idat.dipole1 = &(snap_->atomData.dipole[atom1]); | 
| 1196 | + | idat.dipole2 = &(snap_->atomData.dipole[atom2]); | 
| 1197 | + | } | 
| 1198 | + |  | 
| 1199 | + | if (storageLayout_ & DataStorage::dslQuadrupole) { | 
| 1200 | + | idat.quadrupole1 = &(snap_->atomData.quadrupole[atom1]); | 
| 1201 | + | idat.quadrupole2 = &(snap_->atomData.quadrupole[atom2]); | 
| 1202 |  | } | 
| 1203 |  |  | 
| 1204 |  | if (storageLayout_ & DataStorage::dslDensity) { |