ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-3.0/src/primitives/Molecule.cpp
(Generate patch)

Comparing branches/new_design/OOPSE-3.0/src/primitives/Molecule.cpp (file contents):
Revision 1733 by tim, Fri Nov 12 06:19:04 2004 UTC vs.
Revision 1782 by tim, Wed Nov 24 20:55:03 2004 UTC

# Line 35 | Line 35
35  
36   #include "primitives/Molecule.hpp"
37   #include "utils/MemoryUtils.hpp"
38 + #include "utils/simError.h"
39  
40   namespace oopse {
41   Molecule::Molecule(int stampId, int globalIndex, const std::string& molName)
# Line 197 | Line 198 | void Molecule::calcForces() {
198      return (i == cutoffGroups_.end()) ? NULL : *i;    
199   }
200  
200 void Molecule::calcForces() {
201    RigidBody* rb;
202    Bond* bond;
203    Bend* bend;
204    Torsion* torsion;
205    std::vector<RigidBody*>::iterator rbIter;
206    std::vector<Bond*>::iterator bondIter;;
207    std::vector<Bend*>::iterator bendIter;
208    std::vector<Torsion*>::iterator torsionIter;
201  
210    for (rb = beginRigidBody(rbIter); rb != NULL; rb = nextRigidBody(rbIter)) {
211        rb->updateAtoms();
212    }
213
214    for (bond = beginBond(bondIter); bond != NULL; bond = nextBond(bondIter)) {
215        bond->calc_forces();
216    }
217
218    for (bend = beginBend(bendIter); bend != NULL; bend = nextBend(bendIter)) {
219        bend->calc_forces();
220    }
221
222    for (torsion = beginTorsion(torsionIter); torsion != NULL; torsion = nextTorsion(torsionIter)) {
223        torsion->calc_forces();
224    }
225    
226 }
227
228 double Molecule::getPotential() {
229    //RigidBody* rb;
230    Bond* bond;
231    Bend* bend;
232    Torsion* torsion;
233    //std::vector<RigidBody*> rbIter;
234    std::vector<Bond*>::iterator bondIter;;
235    std::vector<Bend*>::iterator bendIter;
236    std::vector<Torsion*>::iterator torsionIter;
237
238    double potential = 0;
239    
240    //for (rb = beginRigidBody(rbIter); rb != NULL; rb = nextRigidBody(rbIter)) {
241    //    rb->updateAtoms();
242    //}
243
244    for (bond = beginBond(bondIter); bond != NULL; bond = nextBond(bondIter)) {
245        potential += bond->get_potential();
246    }
247
248    for (bend = beginBend(bendIter); bend != NULL; bend = nextBend(bendIter)) {
249        potential += bend->get_potential();
250    }
251
252    for (torsion = beginTorsion(torsionIter); torsion != NULL; torsion = nextTorsion(torsionIter)) {
253        potential += torsion->get_potential();
254    }
255    
256    return potential;
257 }
258
202   Vector3d Molecule::getCom() {
203      StuntDouble* sd;
204      std::vector<StuntDouble*>::iterator i;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines