# | Line 164 | Line 164 | void Molecule::getCOM( double COM[3] ) { | |
---|---|---|
164 | COM[1] /= mtot; | |
165 | COM[2] /= mtot; | |
166 | ||
167 | – | return COM; |
167 | } | |
168 | + | |
169 | + | double Molecule::getCOMvel( double COMvel[3] ) { |
170 | + | |
171 | + | double mass, mtot; |
172 | + | int i; |
173 | + | |
174 | + | COMvel[0] = 0.0; |
175 | + | COMvel[1] = 0.0; |
176 | + | COMvel[2] = 0.0; |
177 | + | mtot = 0.0; |
178 | + | |
179 | + | for (i=0; i < nAtoms; i++) { |
180 | + | if (myAtoms[i] != NULL) { |
181 | + | |
182 | + | mass = myAtoms[i]->getMass(); |
183 | + | mtot += mass; |
184 | + | COMvel[0] += myAtoms[i]->get_vx() * mass; |
185 | + | COMvel[1] += myAtoms[i]->get_vy() * mass; |
186 | + | COMvel[2] += myAtoms[i]->get_vz() * mass; |
187 | + | |
188 | + | } |
189 | + | } |
190 | + | |
191 | + | COMvel[0] /= mtot; |
192 | + | COMvel[1] /= mtot; |
193 | + | COMvel[2] /= mtot; |
194 | + | |
195 | + | return mtot; |
196 | + | |
197 | + | } |
198 | + | |
199 | + | void Molecule::atomicRollCall(int* molMembership) { |
200 | + | int i, which; |
201 | + | |
202 | + | for (i=0; i < nAtoms; i++) { |
203 | + | if (myAtoms[i] != NULL) { |
204 | + | which = myAtoms[i]->getIndex(); |
205 | + | molMembership[which] = myIndex; |
206 | + | } |
207 | + | } |
208 | + | } |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |