# | Line 36 | Line 36 | |
---|---|---|
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). | |
39 | < | * [4] Vardeman & Gezelter, in progress (2009). |
39 | > | * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). |
40 | > | * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
41 | */ | |
42 | #include "parallel/ForceMatrixDecomposition.hpp" | |
43 | #include "math/SquareMatrix3.hpp" | |
# | Line 536 | Line 537 | namespace OpenMD { | |
537 | fill(snap_->atomData.density.begin(), | |
538 | snap_->atomData.density.end(), 0.0); | |
539 | } | |
540 | + | |
541 | if (storageLayout_ & DataStorage::dslFunctional) { | |
542 | fill(snap_->atomData.functional.begin(), | |
543 | snap_->atomData.functional.end(), 0.0); | |
544 | } | |
545 | + | |
546 | if (storageLayout_ & DataStorage::dslFunctionalDerivative) { | |
547 | fill(snap_->atomData.functionalDerivative.begin(), | |
548 | snap_->atomData.functionalDerivative.end(), 0.0); | |
549 | } | |
550 | + | |
551 | if (storageLayout_ & DataStorage::dslSkippedCharge) { | |
552 | fill(snap_->atomData.skippedCharge.begin(), | |
553 | snap_->atomData.skippedCharge.end(), 0.0); | |
554 | } | |
551 | – | |
555 | } | |
556 | ||
557 | ||
# | Line 950 | Line 953 | namespace OpenMD { | |
953 | } | |
954 | ||
955 | #else | |
956 | + | |
957 | + | |
958 | + | // cerr << "atoms = " << atom1 << " " << atom2 << "\n"; |
959 | + | // cerr << "pos1 = " << snap_->atomData.position[atom1] << "\n"; |
960 | + | // cerr << "pos2 = " << snap_->atomData.position[atom2] << "\n"; |
961 | ||
962 | idat.atypes = make_pair( atypesLocal[atom1], atypesLocal[atom2]); | |
963 | //idat.atypes = make_pair( ff_->getAtomType(idents[atom1]), | |
# | Line 1000 | Line 1008 | namespace OpenMD { | |
1008 | ||
1009 | void ForceMatrixDecomposition::unpackInteractionData(InteractionData &idat, int atom1, int atom2) { | |
1010 | #ifdef IS_MPI | |
1011 | < | pot_row[atom1] += 0.5 * *(idat.pot); |
1012 | < | pot_col[atom2] += 0.5 * *(idat.pot); |
1011 | > | pot_row[atom1] += RealType(0.5) * *(idat.pot); |
1012 | > | pot_col[atom2] += RealType(0.5) * *(idat.pot); |
1013 | ||
1014 | atomRowData.force[atom1] += *(idat.f1); | |
1015 | atomColData.force[atom2] -= *(idat.f1); |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |