35 |
|
* |
36 |
|
* [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). |
37 |
|
* [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). |
38 |
< |
* [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). |
38 |
> |
* [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). |
39 |
|
* [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). |
40 |
|
* [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
41 |
|
*/ |
679 |
|
snap_->atomData.density[i] += rho_tmp[i]; |
680 |
|
} |
681 |
|
|
682 |
+ |
// this isn't necessary if we don't have polarizable atoms, but |
683 |
+ |
// we'll leave it here for now. |
684 |
|
if (storageLayout_ & DataStorage::dslElectricField) { |
685 |
|
|
686 |
|
AtomPlanVectorRow->scatter(atomRowData.electricField, |
688 |
|
|
689 |
|
int n = snap_->atomData.electricField.size(); |
690 |
|
vector<Vector3d> field_tmp(n, V3Zero); |
691 |
< |
AtomPlanVectorColumn->scatter(atomColData.electricField, field_tmp); |
691 |
> |
AtomPlanVectorColumn->scatter(atomColData.electricField, |
692 |
> |
field_tmp); |
693 |
|
for (int i = 0; i < n; i++) |
694 |
|
snap_->atomData.electricField[i] += field_tmp[i]; |
695 |
|
} |
789 |
|
|
790 |
|
} |
791 |
|
|
792 |
+ |
if (storageLayout_ & DataStorage::dslElectricField) { |
793 |
+ |
|
794 |
+ |
int nef = snap_->atomData.electricField.size(); |
795 |
+ |
vector<Vector3d> efield_tmp(nef, V3Zero); |
796 |
+ |
|
797 |
+ |
AtomPlanVectorRow->scatter(atomRowData.electricField, efield_tmp); |
798 |
+ |
for (int i = 0; i < nef; i++) { |
799 |
+ |
snap_->atomData.electricField[i] += efield_tmp[i]; |
800 |
+ |
efield_tmp[i] = 0.0; |
801 |
+ |
} |
802 |
+ |
|
803 |
+ |
AtomPlanVectorColumn->scatter(atomColData.electricField, efield_tmp); |
804 |
+ |
for (int i = 0; i < nef; i++) |
805 |
+ |
snap_->atomData.electricField[i] += efield_tmp[i]; |
806 |
+ |
} |
807 |
+ |
|
808 |
+ |
|
809 |
|
nLocal_ = snap_->getNumberOfAtoms(); |
810 |
|
|
811 |
|
vector<potVec> pot_temp(nLocal_, |
1325 |
|
#endif |
1326 |
|
|
1327 |
|
RealType rList_ = (largestRcut_ + skinThickness_); |
1308 |
– |
RealType rl2 = rList_ * rList_; |
1328 |
|
Snapshot* snap_ = sman_->getCurrentSnapshot(); |
1329 |
|
Mat3x3d Hmat = snap_->getHmat(); |
1330 |
|
Vector3d Hx = Hmat.getColumn(0); |