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

Comparing branches/development/src/visitors/ReplacementVisitor.hpp (file contents):
Revision 1465 by chuckv, Fri Jul 9 23:08:25 2010 UTC vs.
Revision 1874 by gezelter, Wed May 15 15:09:35 2013 UTC

# Line 35 | Line 35
35   *                                                                      
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).                        
38 > * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008).          
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   #ifndef VISITORS_REPLACEMENTVISITOR_HPP
# Line 69 | Line 70 | namespace OpenMD {
70      
71      const std::string toString();
72  
73 <    void addReplacedAtomName(const std::string& repName);
74 <    void addSite(const std::string& name, const Vector3d refPos);
75 <    void addSite(const std::string& name, const Vector3d refPos, const Vector3d refVec);
73 >    void addReplacedAtomName(const std::string &repName);
74 >    void addSite(const std::string &name, const Vector3d &refPos);
75 >    void addSite(const std::string &name, const Vector3d &refPos, const Vector3d &refVec);
76    private:
77      inline bool isReplacedAtom(const std::string& atomType);
78      std::set<std::string> myTypes_;
# Line 82 | Line 83 | namespace OpenMD {
83    public:
84      SSDAtomVisitor(SimInfo* info) : ReplacementVisitor(info) {
85        visitorName = "SSDAtomVisitor";
86 <
86 >      
87        /// these are the atom names we can replace with a fixed structure
88        addReplacedAtomName("SSD");
89        addReplacedAtomName("SSD_E");
# Line 90 | Line 91 | namespace OpenMD {
91        addReplacedAtomName("SSD1");
92        addReplacedAtomName("TAP");
93        addReplacedAtomName("TRED");
94 <
94 >      
95        // this is the reference structure we'll use for the replacement:
96        addSite("H", Vector3d(0.0, -0.75695, 0.5206));
97        addSite("H", Vector3d(0.0,  0.75695, 0.5206));
98        addSite("O", Vector3d(0.0,  0.0,    -0.0654));
99        addSite("X", Vector3d(0.0,  0.0,     0.0   ), Vector3d(0,0,1));
100      }
101 +  };
102 +  
103 +  class GBtailVisitor : public ReplacementVisitor{
104 +  public:
105 +    GBtailVisitor(SimInfo* info) : ReplacementVisitor(info) {
106 +      visitorName = "GBtailVisitor";
107 +      
108 +      
109 +      /// these are the atom names we can replace with a fixed structure
110 +      addReplacedAtomName("GBtail");
111 +      
112 +      // this is the reference structure we'll use for the replacement:
113 +      addSite("C", Vector3d(0.0, 0.0, 9.0));
114 +      addSite("C", Vector3d(0.0, 0.0, 0.0));
115 +      addSite("C", Vector3d(0.0, 0.0, -9.0));
116 +    }
117    };  
118 +  
119 +  class GBheadVisitor : public ReplacementVisitor{
120 +  public:
121 +    GBheadVisitor(SimInfo* info) : ReplacementVisitor(info) {
122 +      visitorName = "GBheadVisitor";
123 +      
124 +      /// these are the atom names we can replace with a fixed structure
125 +      addReplacedAtomName("GBhead");
126 +      
127 +      // this is the reference structure we'll use for the replacement:
128 +      addSite("N", Vector3d(0.0, 0.0, 3.5));
129 +      addSite("C", Vector3d(0.0, 0.0, 0.0));
130 +      addSite("P", Vector3d(0.0, 0.0, -3.5));
131 +    }
132 +  };      
133   }//namespace OpenMD
134   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines