# | 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/ForceDecomposition.hpp" | |
43 | #include "math/Vector3.hpp" | |
# | Line 88 | Line 89 | namespace OpenMD { | |
89 | } | |
90 | ||
91 | void ForceDecomposition::fillSelfData(SelfData &sdat, int atom1) { | |
92 | < | |
93 | < | // Still Missing atype, skippedCharge, potVec pot, |
92 | > | |
93 | > | sdat.atype = atypesLocal[atom1]; |
94 | > | |
95 | > | sdat.pot = &embeddingPot; |
96 | > | |
97 | if (storageLayout_ & DataStorage::dslElectroFrame) { | |
98 | sdat.eFrame = &(snap_->atomData.electroFrame[atom1]); | |
99 | } | |
# | Line 110 | Line 114 | namespace OpenMD { | |
114 | sdat.dfrhodrho = &(snap_->atomData.functionalDerivative[atom1]); | |
115 | } | |
116 | ||
117 | + | if (storageLayout_ & DataStorage::dslSkippedCharge) { |
118 | + | sdat.skippedCharge = &(snap_->atomData.skippedCharge[atom1]); |
119 | + | } |
120 | + | |
121 | if (storageLayout_ & DataStorage::dslParticlePot) { | |
122 | sdat.particlePot = &(snap_->atomData.particlePot[atom1]); | |
123 | } | |
# | Line 122 | Line 130 | namespace OpenMD { | |
130 | // if we have changed the group identities or haven't set up the | |
131 | // saved positions we automatically will need a neighbor list update: | |
132 | ||
133 | < | if ( saved_CG_positions_.size() != nGroups ) { |
126 | < | cerr << "build because size\n"; |
127 | < | return true; |
128 | < | } |
133 | > | if ( saved_CG_positions_.size() != nGroups ) return true; |
134 | ||
135 | RealType dispmax = 0.0; | |
136 | Vector3d disp; | |
# | Line 144 | Line 149 | namespace OpenMD { | |
149 | dispmax = 2.0 * sqrt (3.0 * dispmax * dispmax); | |
150 | ||
151 | ||
152 | < | if (dispmax > skinThickness_) { |
148 | < | cerr << "build because movement\n"; |
152 | > | if (dispmax > skinThickness_) |
153 | return (dispmax > skinThickness_); | |
154 | < | } |
154 | > | |
155 | return false; | |
156 | } | |
157 | } |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |