ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Atom.cpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/Atom.cpp (file contents):
Revision 670 by mmeineke, Thu Aug 7 21:47:18 2003 UTC vs.
Revision 1125 by gezelter, Mon Apr 19 22:13:01 2004 UTC

# Line 6 | Line 6 | Atom::Atom(int theIndex, SimState* theConfig) {
6   #include "Atom.hpp"
7  
8   Atom::Atom(int theIndex, SimState* theConfig) {
9 <  
9 >
10 >  objType = OT_ATOM;
11    myConfig = theConfig;
12    hasCoords = false;
13 <  
13 <  c_n_hyd = 0;
13 >
14    has_dipole = 0;
15 <  is_VDW = 0;
16 <  is_LJ = 0;
15 >  has_charge = 0;
16    
17    index = theIndex;
18    offset = 0;
# Line 54 | Line 53 | void Atom::setCoords(void){
53    else{
54      sprintf( painCave.errMsg,
55               "Attempted to set Atom %d  coordinates with an unallocated "
56 <             "SimState object.\n" );
56 >             "SimState object.\n", index );
57      painCave.isFatal = 1;
58      simError();
59    }
60 <
60 >  
61    hasCoords = true;
63
64 }
65
66 // void Atom::addAtoms(int nAdded, double* Apos, double* Avel, double* Afrc,
67 //                    double* Atrq, double* AAmat, double* Amu,
68 //                    double* Aul) {
69
70 //   int nNew = nElements+nAdded;
71
72 //   double* new_pos = new double[nNew*3];
73 //   double* new_vel = new double[nNew*3];
74 //   double* new_frc = new double[nNew*3];
75 //   double* new_trq = new double[nNew*3];
76 //   double* new_Amat = new double[nNew*9];
77 //   double* new_mu = new double[nNew];
78 //   double* new_ul = new double[nNew*3];
79 //   int i, j;
62    
63 < //   for (i = 0; i < 3*nElements; i++) {
82 < //     new_pos[i] = pos[i];
83 < //     new_vel[i] = vel[i];
84 < //     new_frc[i] = frc[i];
85 < //     new_trq[i] = trq[i];
86 < //     new_ul[i] = ul[i];
87 < //   }
88 <
89 < //   for(i = 0; i < 3*nAdded; i++) {
90 < //     j = i + 3*nElements;
91 < //     new_pos[j] = Apos[i];
92 < //     new_vel[j] = Avel[i];
93 < //     new_frc[j] = Afrc[i];
94 < //     new_trq[j] = Atrq[i];
95 < //     new_ul[j] = Aul[i];
96 < //   }
97 <
98 < //   for (i = 0; i < 9*nElements; i++) {
99 < //     new_Amat[i] = Amat[i];
100 < //   }
101 <
102 < //   for(i = 0; i < 9*nAdded; i++) {
103 < //     j = i + 9*nElements;
104 < //     new_Amat[j] = AAmat[i];
105 < //   }
106 <
107 < //   for (i = 0; i < nElements; i++) {
108 < //     new_mu[i] = mu[i];
109 < //   }
110 <
111 < //   for(i = 0; i < nAdded; i++) {
112 < //     j = i + nElements;
113 < //     new_mu[j] = Amu[i];
114 < //   }
115 <
116 < //   delete[] pos;
117 < //   delete[] vel;
118 < //   delete[] frc;
119 < //   delete[] trq;
120 < //   delete[] Amat;
121 < //   delete[] mu;
122 <
123 < //   pos = new_pos;
124 < //   vel = new_vel;
125 < //   frc = new_frc;
126 < //   trq = new_trq;
127 < //   ul = new_ul;
128 < //   Amat = new_Amat;
129 < //   mu = new_mu;
130 <
131 < //   nElements = nNew;
132 < // }
63 > }
64  
134 // void Atom::deleteAtom(int theIndex) {
135 //   deleteRange(theIndex, theIndex);
136 // }
137
138 // void Atom::deleteRange(int startIndex, int stopIndex) {
139
140 //   int nNew = nElements-(stopIndex-startIndex+1);
141
142 //   double* new_pos = new double[nNew*3];
143 //   double* new_vel = new double[nNew*3];
144 //   double* new_frc = new double[nNew*3];
145 //   double* new_trq = new double[nNew*3];
146 //   double* new_Amat = new double[nNew*9];
147 //   double* new_mu = new double[nNew];
148 //   double* new_ul = new double[nNew*3];
149 //   int i, j;
150  
151 //   for (i = 0; i < 3*startIndex; i++) {
152 //     new_pos[i] = pos[i];
153 //     new_vel[i] = vel[i];
154 //     new_frc[i] = frc[i];
155 //     new_trq[i] = trq[i];
156 //     new_ul[i] = ul[i];
157 //   }
158
159 //   for(i = 3*(stopIndex + 1); i < 3*nElements; i++) {
160 //     j = i - 3*startIndex + 1;
161 //     new_pos[j] = pos[i];
162 //     new_vel[j] = vel[i];
163 //     new_frc[j] = frc[i];
164 //     new_trq[j] = trq[i];
165 //     new_ul[j] = ul[i];
166 //   }
167
168 //   for (i = 0; i < 9*startIndex; i++) {
169 //     new_Amat[i] = Amat[i];
170 //   }
171
172 //   for(i = 9*(stopIndex + 1); i < 9*nElements; i++) {
173 //     j = i - 9*startIndex + 1;
174 //     new_Amat[j] = Amat[i];
175 //   }
176
177 //   for (i = 0; i < startIndex; i++) {
178 //     new_mu[i] = mu[i];
179 //   }
180
181 //   for(i = (stopIndex+1); i < nElements; i++) {
182 //     j = i - startIndex + 1;
183 //     new_mu[j] = mu[i];
184 //   }
185
186 //   delete[] pos;
187 //   delete[] vel;
188 //   delete[] frc;
189 //   delete[] trq;
190 //   delete[] Amat;
191 //   delete[] mu;
192
193 //   pos = new_pos;
194 //   vel = new_vel;
195 //   frc = new_frc;
196 //   trq = new_trq;
197 //   ul = new_ul;
198 //   Amat = new_Amat;
199 //   mu = new_mu;
200
201 //   nElements = nNew;
202 // }
203
204
65   void Atom::getPos( double theP[3] ){
66    
67    if( hasCoords ){
# Line 220 | Line 80 | void Atom::setPos( double theP[3] ){
80   }
81  
82   void Atom::setPos( double theP[3] ){
83 <  
83 >
84    if( hasCoords ){
85      pos[offsetX] = theP[0];
86      pos[offsetY] = theP[1];
# Line 306 | Line 166 | void GeneralAtom::zeroForces( void ){
166   }
167  
168  
169 < void GeneralAtom::zeroForces( void ){
169 > void Atom::zeroForces( void ){
170    
311  
171    if( hasCoords ){
172      frc[offsetX] = 0.0;
173      frc[offsetY] = 0.0;
# Line 323 | Line 182 | void GeneralAtom::zeroForces( void ){
182      simError();
183    }
184   }
185 +
186 + void Atom::accept(BaseVisitor* v){
187 +  v->visit(this);
188 + }
189 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines