ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-3.0/src/types/AtomType.hpp
(Generate patch)

Comparing branches/new_design/OOPSE-3.0/src/types/AtomType.hpp (file contents):
Revision 1765 by tim, Mon Nov 22 20:55:52 2004 UTC vs.
Revision 1816 by tim, Wed Dec 1 19:10:51 2004 UTC

# Line 10 | Line 10 | using name_space std;
10   #include "types/AtomTypeProperties.h"
11   #include "UseTheForce/DarkSide/atype_interface.h"
12  
13 < using name_space std;
14 <
15 < name_space oopse {
13 > namespace oopse {
14      /**
15       * @class AtomType
16       * AtomType is what OOPSE looks to for unchanging data about an atom.
# Line 26 | Line 24 | name_space oopse {
24              AtomType();
25  
26              virtual ~AtomType() { } ;
27 +
28 +            virtual void complete();
29 +
30              /**
31               * Finishes off the AtomType by communicating the logical portions of the
32               * structure to the Fortran atype module
33               */
34 <            void complete();
35 <
34 >            void makeFortranAtomType();
35 >            
36              void setMass(double m) {
37                  mass_ = m;
38              }
# Line 41 | Line 42 | name_space oopse {
42              }
43  
44              void setIdent(int id) {
45 <                atp_.ident = id;
45 >                atp.ident = id;
46              }
47  
48              int getIdent() {
49 <                return atp_.ident;
49 >                return atp.ident;
50              }
51  
52              void setName(const std::string&name) {
# Line 57 | Line 58 | name_space oopse {
58              }
59  
60              void setLennardJones() {
61 <                atp_.is_LennardJones = 1;
61 >                atp.is_LennardJones = 1;
62              }
63  
64              bool isLennardJones() {
65 <                return atp_.is_LennardJones;
65 >                return atp.is_LennardJones;
66              }
67  
67            void setElectrostatic() {
68                atp_.is_Electrostatic = 1;
69            }
68  
69              bool isElectrostatic() {
70 <                return atp_.is_Electrostatic;
70 >                return isCharge() || isMultipole();
71              }
72  
73              void setEAM() {
74 <                atp_.is_EAM = 1;
74 >                atp.is_EAM = 1;
75              }
76  
77              bool isEAM() {
78 <                return atp_.is_EAM;
78 >                return atp.is_EAM;
79              }
80  
81              void setCharge() {
82 <                atp_.is_Charge = 1;
85 <                atp_.is_Electrostatic = 1;
82 >                atp.is_Charge = 1;
83              }
84  
85              bool isCharge() {
86 <                return atp_.is_Charge;
86 >                return atp.is_Charge;
87              }
88  
89              bool isDirectional() {
90 <                return atp_.is_Directional;
90 >                return atp.is_Directional;
91              }
92  
93              bool isDipole() {
94 <                return atp_.is_Dipole;
94 >                return atp.is_Dipole;
95              }
96  
97 +            bool isQuadrupole() {
98 +                return atp.is_Quadrupole;
99 +            }
100 +            
101 +            bool isMultipole() {
102 +                return isDipole() || isQuadrupole();
103 +            }
104 +
105              bool isGayBerne() {
106 <                return atp_.is_GayBerne;
106 >                return atp.is_GayBerne;
107              }
108  
109              bool isSticky() {
110 <                return atp_.is_Sticky;
110 >                return atp.is_Sticky;
111              }
112  
113              bool isShape() {
114 <                return atp_.is_Shape;
114 >                return atp.is_Shape;
115              }
116  
117              //below functions are just forward functions
# Line 149 | Line 154 | name_space oopse {
154  
155          protected:
156  
157 <            AtomTypeProperties atp_;
157 >            AtomTypeProperties atp;
158              double mass_;
159              std::string name_;
160  
# Line 170 | Line 175 | name_space oopse {
175          double sigma;
176      };
177      typedef SimpleTypeData<LJParam> LJParamGenericData;
178 <    
178 >
179 >    struct EAMParam {
180 >        double latticeConstant;        
181 >        int nrho;
182 >        double drho;
183 >        int nr;
184 >        double dr;
185 >        double rcut;
186 >        std::vector<double> rvals;
187 >        std::vector<double> rhovals;
188 >        std::vector<double> Frhovals;    
189 >    };
190 >
191 >    typedef SimpleTypeData<EAMParam> EAMParamGenericData;
192   }
193  
194   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines