ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/visitors/AtomVisitor.cpp
(Generate patch)

Comparing branches/development/src/visitors/AtomVisitor.cpp (file contents):
Revision 1665 by gezelter, Tue Nov 22 20:38:56 2011 UTC vs.
Revision 1821 by gezelter, Mon Jan 7 20:05:43 2013 UTC

# Line 44 | Line 44
44   #include "visitors/AtomVisitor.hpp"
45   #include "primitives/DirectionalAtom.hpp"
46   #include "primitives/RigidBody.hpp"
47 + #include "types/MultipoleAdapter.hpp"
48 + #include "types/GayBerneAdapter.hpp"
49  
50   namespace OpenMD {
51    void BaseAtomVisitor::visit(RigidBody *rb) {
# Line 83 | Line 85 | namespace OpenMD {
85      Vector3d  vel;
86      Vector3d  frc;
87      Vector3d  u;
86    RealType  c;
88  
89      if (isVisited(atom))
90        return;
# Line 126 | Line 127 | namespace OpenMD {
127      Vector3d  vel;
128      Vector3d  frc;
129      Vector3d  u;
129    RealType  c;
130  
131      if (isVisited(datom))
132        return;
# Line 134 | Line 134 | namespace OpenMD {
134      pos = datom->getPos();
135      vel = datom->getVel();
136      frc = datom->getFrc();
137 <    if (datom->getAtomType()->isGayBerne()) {
138 <        u = datom->getA().transpose()*V3Z;        
139 <    } else if (datom->getAtomType()->isMultipole()) {
140 <        u = datom->getElectroFrame().getColumn(2);
137 >
138 >    GayBerneAdapter gba = GayBerneAdapter(datom->getAtomType());
139 >    MultipoleAdapter ma = MultipoleAdapter(datom->getAtomType());
140 >    
141 >    if (gba.isGayBerne()) {
142 >      u = datom->getA().transpose()*V3Z;        
143 >    } else if (ma.isDipole()) {
144 >      u = datom->getDipole();
145 >    } else if (ma.isQuadrupole()) {
146 >      //u = datom->getQuadrupole().getColumn(2);
147 >      u = datom->getA().transpose()*V3Z;
148      }
149      atomData = new AtomData;
150      atomData->setID("ATOMDATA");

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines