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

Comparing trunk/src/primitives/DirectionalAtom.cpp (file contents):
Revision 1424 by gezelter, Tue Mar 30 15:05:38 2010 UTC vs.
Revision 1797 by gezelter, Mon Sep 10 20:58:00 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 109 | Line 117 | namespace OpenMD {
117      Vector3d force;
118      Vector3d torque;
119      Vector3d myEuler;
120 <    RealType phi, theta, psi;
120 >    RealType phi, theta;
121 >    // RealType psi;
122      RealType cphi, sphi, ctheta, stheta;
123      Vector3d ephi;
124      Vector3d etheta;
# Line 121 | Line 130 | namespace OpenMD {
130      
131      phi = myEuler[0];
132      theta = myEuler[1];
133 <    psi = myEuler[2];
133 >    // psi = myEuler[2];
134      
135      cphi = cos(phi);
136      sphi = sin(phi);

Comparing trunk/src/primitives/DirectionalAtom.cpp (property svn:keywords):
Revision 1424 by gezelter, Tue Mar 30 15:05:38 2010 UTC vs.
Revision 1797 by gezelter, Mon Sep 10 20:58:00 2012 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines