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

Comparing:
trunk/src/primitives/DirectionalAtom.cpp (file contents), Revision 1390 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
branches/development/src/primitives/DirectionalAtom.cpp (file contents), Revision 1710 by gezelter, Fri May 18 21:44:02 2012 UTC

# Line 36 | Line 36
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).          
39 < * [4]  Vardeman & Gezelter, in progress (2009).                        
39 > * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40 > * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
42  
43   #include "primitives/DirectionalAtom.hpp"
44 + #include "types/DirectionalAdapter.hpp"
45 + #include "types/MultipoleAdapter.hpp"
46   #include "utils/simError.h"
47   namespace OpenMD {
48    
49 <  DirectionalAtom::DirectionalAtom(DirectionalAtomType* dAtomType)
50 <    : Atom(dAtomType){
49 >  DirectionalAtom::DirectionalAtom(AtomType* dAtomType)
50 >    : Atom(dAtomType) {
51      objType_= otDAtom;
52 <    if (dAtomType->isMultipole()) {
53 <      electroBodyFrame_ = dAtomType->getElectroBodyFrame();
52 >
53 >    DirectionalAdapter da = DirectionalAdapter(dAtomType);
54 >    I_ = da.getI();
55 >
56 >    MultipoleAdapter ma = MultipoleAdapter(dAtomType);
57 >    if (ma.isMultipole()) {
58 >      electroBodyFrame_ = ma.getElectroBodyFrame();
59      }
60 <    
60 >
61      // Check if one of the diagonal inertia tensor of this directional
62      // atom is zero:
63      int nLinearAxis = 0;
# Line 73 | Line 81 | namespace OpenMD {
81    }
82    
83    Mat3x3d DirectionalAtom::getI() {
84 <    return static_cast<DirectionalAtomType*>(getAtomType())->getI();
84 >    return I_;    
85    }    
86    
87    void DirectionalAtom::setPrevA(const RotMat3x3d& a) {
# Line 134 | Line 142 | namespace OpenMD {
142      ephi[1] = 0.0;
143      ephi[2] = 1.0;
144      
145 <    etheta[0] = -sphi;
146 <    etheta[1] =  cphi;
147 <    etheta[2] =  0.0;
145 >    //etheta[0] = -sphi;
146 >    //etheta[1] =  cphi;
147 >    //etheta[2] =  0.0;
148      
149 +    etheta[0] = cphi;
150 +    etheta[1] = sphi;
151 +    etheta[2] = 0.0;
152 +    
153      epsi[0] = stheta * cphi;
154      epsi[1] = stheta * sphi;
155      epsi[2] = ctheta;

Comparing:
trunk/src/primitives/DirectionalAtom.cpp (property svn:keywords), Revision 1390 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
branches/development/src/primitives/DirectionalAtom.cpp (property svn:keywords), Revision 1710 by gezelter, Fri May 18 21:44:02 2012 UTC

# Line 0 | Line 1
1 + Author Id Revision Date

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines