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 |
|
*/ |
59 |
|
maw_ = new MAW(); |
60 |
|
} |
61 |
|
|
62 |
+ |
InteractionManager::~InteractionManager() { |
63 |
+ |
delete lj_; |
64 |
+ |
delete gb_; |
65 |
+ |
delete sticky_; |
66 |
+ |
delete morse_; |
67 |
+ |
delete repulsivePower_; |
68 |
+ |
delete eam_; |
69 |
+ |
delete sc_; |
70 |
+ |
delete electrostatic_; |
71 |
+ |
delete maw_; |
72 |
+ |
} |
73 |
+ |
|
74 |
|
void InteractionManager::initialize() { |
75 |
|
|
76 |
|
if (initialized_) return; |
93 |
|
AtomType* atype1; |
94 |
|
AtomType* atype2; |
95 |
|
pair<AtomType*, AtomType*> key; |
84 |
– |
pair<set<NonBondedInteraction*>::iterator, bool> ret; |
96 |
|
|
97 |
|
for (atype1 = atomTypes->beginType(i1); atype1 != NULL; |
98 |
|
atype1 = atomTypes->nextType(i1)) { |
119 |
|
|
120 |
|
for( it2 = typeMap_.begin(); it2 != typeMap_.end(); ++it2) { |
121 |
|
atype2 = (*it2).second; |
122 |
< |
|
112 |
< |
bool vdwExplicit = false; |
113 |
< |
bool metExplicit = false; |
114 |
< |
bool hbExplicit = false; |
115 |
< |
|
122 |
> |
|
123 |
|
key = make_pair(atype1, atype2); |
124 |
|
|
125 |
|
if (atype1->isLennardJones() && atype2->isLennardJones()) { |
154 |
|
|
155 |
|
if (nbiType != NULL) { |
156 |
|
|
157 |
+ |
bool vdwExplicit = false; |
158 |
+ |
bool metExplicit = false; |
159 |
+ |
// bool hbExplicit = false; |
160 |
+ |
|
161 |
|
if (nbiType->isLennardJones()) { |
162 |
|
// We found an explicit Lennard-Jones interaction. |
163 |
|
// override all other vdw entries for this pair of atom types: |