ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/utils/MoLocator.cpp
(Generate patch)

Comparing trunk/src/utils/MoLocator.cpp (file contents):
Revision 507 by gezelter, Fri Apr 15 22:04:00 2005 UTC vs.
Revision 963 by tim, Wed May 17 21:51:42 2006 UTC

# Line 94 | Line 94 | namespace oopse {
94      RigidBodyStamp* rbStamp;
95      int nAtoms;
96      int nRigidBodies;
97 <    std::vector<double> mass;
97 >    std::vector<RealType> mass;
98      Vector3d coor;
99      Vector3d refMolCom;  
100      int nAtomsInRb;
101 <    double totMassInRb;
102 <    double currAtomMass;
103 <    double molMass;
101 >    RealType totMassInRb;
102 >    RealType currAtomMass;
103 >    RealType molMass;
104      
105      nAtoms= myStamp->getNAtoms();
106      nRigidBodies = myStamp->getNRigidBodies();
107      
108      for(size_t i=0; i<nAtoms; i++){
109        
110 <      currAtomStamp = myStamp->getAtom(i);
110 >      currAtomStamp = myStamp->getAtomStamp(i);
111        
112        if( !currAtomStamp->havePosition() ){
113          sprintf( painCave.errMsg,
114                   "MoLocator error.\n"
115                   "  Component %s, atom %s does not have a position specified.\n"
116                   "  This means MoLocator cannot initalize it's position.\n",
117 <                 myStamp->getID(),
118 <                 currAtomStamp->getType() );
117 >                 myStamp->getName().c_str(),
118 >                 currAtomStamp->getType().c_str());
119          
120          painCave.isFatal = 1;
121          simError();
# Line 138 | Line 138 | namespace oopse {
138      
139      for(int i = 0; i < nRigidBodies; i++){
140        
141 <      rbStamp = myStamp->getRigidBody(i);
141 >      rbStamp = myStamp->getRigidBodyStamp(i);
142        nAtomsInRb = rbStamp->getNMembers();
143        
144        coor.x() = 0.0;
# Line 148 | Line 148 | namespace oopse {
148        
149        for(int j = 0; j < nAtomsInRb; j++){
150          
151 <        currAtomStamp = myStamp->getAtom(rbStamp->getMember(j));
151 >        currAtomStamp = myStamp->getAtomStamp(rbStamp->getMemberAt(j));
152          currAtomMass = getAtomMass(currAtomStamp->getType(), myFF);
153          totMassInRb +=  currAtomMass;
154          
# Line 182 | Line 182 | namespace oopse {
182        refCoords[i] -= refMolCom;
183    }
184    
185 <  double getAtomMass(const std::string& at, ForceField* myFF) {
186 <    double mass;
185 >  RealType getAtomMass(const std::string& at, ForceField* myFF) {
186 >    RealType mass;
187      AtomType* atomType= myFF->getAtomType(at);
188      if (atomType != NULL) {
189        mass =     atomType->getMass();
# Line 194 | Line 194 | namespace oopse {
194      return mass;
195    }
196    
197 <  double getMolMass(MoleculeStamp *molStamp, ForceField *myFF) {
197 >  RealType getMolMass(MoleculeStamp *molStamp, ForceField *myFF) {
198      int nAtoms;
199 <    double totMass = 0;
199 >    RealType totMass = 0;
200      nAtoms = molStamp->getNAtoms();
201      
202      for(size_t i = 0; i < nAtoms; i++) {
203 <      AtomStamp *currAtomStamp = molStamp->getAtom(i);
203 >      AtomStamp *currAtomStamp = molStamp->getAtomStamp(i);
204        totMass += getAtomMass(currAtomStamp->getType(), myFF);        
205      }
206      return totMass;
207    }
208    RotMat3x3d latVec2RotMat(const Vector3d& lv){
209      
210 <    double theta =acos(lv[2]);
211 <    double phi = atan2(lv[1], lv[0]);
212 <    double psi = 0;
210 >    RealType theta =acos(lv[2]);
211 >    RealType phi = atan2(lv[1], lv[0]);
212 >    RealType psi = 0;
213      
214      return RotMat3x3d(phi, theta, psi);
215      

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines