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 999 by chrisfen, Fri Jan 30 15:01:09 2004 UTC vs.
Revision 1097 by gezelter, Mon Apr 12 20:32:20 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;
14    has_dipole = 0;
15  is_VDW = 0;
16  is_LJ = 0;
17  is_charged = 0;
15    
16    index = theIndex;
17    offset = 0;
# Line 43 | Line 40 | void Atom::setCoords(void){
40  
41    if( myConfig->isAllocated() ){
42  
46
43      myConfig->getAtomPointers( index,
44                       &pos,
45                       &vel,
# Line 60 | Line 56 | void Atom::setCoords(void){
56      painCave.isFatal = 1;
57      simError();
58    }
59 <
59 >  
60    hasCoords = true;
61 <
61 >  
62   }
63  
68 // void Atom::addAtoms(int nAdded, double* Apos, double* Avel, double* Afrc,
69 //                    double* Atrq, double* AAmat, double* Amu,
70 //                    double* Aul) {
71
72 //   int nNew = nElements+nAdded;
73
74 //   double* new_pos = new double[nNew*3];
75 //   double* new_vel = new double[nNew*3];
76 //   double* new_frc = new double[nNew*3];
77 //   double* new_trq = new double[nNew*3];
78 //   double* new_Amat = new double[nNew*9];
79 //   double* new_mu = new double[nNew];
80 //   double* new_ul = new double[nNew*3];
81 //   int i, j;
82  
83 //   for (i = 0; i < 3*nElements; i++) {
84 //     new_pos[i] = pos[i];
85 //     new_vel[i] = vel[i];
86 //     new_frc[i] = frc[i];
87 //     new_trq[i] = trq[i];
88 //     new_ul[i] = ul[i];
89 //   }
90
91 //   for(i = 0; i < 3*nAdded; i++) {
92 //     j = i + 3*nElements;
93 //     new_pos[j] = Apos[i];
94 //     new_vel[j] = Avel[i];
95 //     new_frc[j] = Afrc[i];
96 //     new_trq[j] = Atrq[i];
97 //     new_ul[j] = Aul[i];
98 //   }
99
100 //   for (i = 0; i < 9*nElements; i++) {
101 //     new_Amat[i] = Amat[i];
102 //   }
103
104 //   for(i = 0; i < 9*nAdded; i++) {
105 //     j = i + 9*nElements;
106 //     new_Amat[j] = AAmat[i];
107 //   }
108
109 //   for (i = 0; i < nElements; i++) {
110 //     new_mu[i] = mu[i];
111 //   }
112
113 //   for(i = 0; i < nAdded; i++) {
114 //     j = i + nElements;
115 //     new_mu[j] = Amu[i];
116 //   }
117
118 //   delete[] pos;
119 //   delete[] vel;
120 //   delete[] frc;
121 //   delete[] trq;
122 //   delete[] Amat;
123 //   delete[] mu;
124
125 //   pos = new_pos;
126 //   vel = new_vel;
127 //   frc = new_frc;
128 //   trq = new_trq;
129 //   ul = new_ul;
130 //   Amat = new_Amat;
131 //   mu = new_mu;
132
133 //   nElements = nNew;
134 // }
135
136 // void Atom::deleteAtom(int theIndex) {
137 //   deleteRange(theIndex, theIndex);
138 // }
139
140 // void Atom::deleteRange(int startIndex, int stopIndex) {
141
142 //   int nNew = nElements-(stopIndex-startIndex+1);
143
144 //   double* new_pos = new double[nNew*3];
145 //   double* new_vel = new double[nNew*3];
146 //   double* new_frc = new double[nNew*3];
147 //   double* new_trq = new double[nNew*3];
148 //   double* new_Amat = new double[nNew*9];
149 //   double* new_mu = new double[nNew];
150 //   double* new_ul = new double[nNew*3];
151 //   int i, j;
152  
153 //   for (i = 0; i < 3*startIndex; i++) {
154 //     new_pos[i] = pos[i];
155 //     new_vel[i] = vel[i];
156 //     new_frc[i] = frc[i];
157 //     new_trq[i] = trq[i];
158 //     new_ul[i] = ul[i];
159 //   }
160
161 //   for(i = 3*(stopIndex + 1); i < 3*nElements; i++) {
162 //     j = i - 3*startIndex + 1;
163 //     new_pos[j] = pos[i];
164 //     new_vel[j] = vel[i];
165 //     new_frc[j] = frc[i];
166 //     new_trq[j] = trq[i];
167 //     new_ul[j] = ul[i];
168 //   }
169
170 //   for (i = 0; i < 9*startIndex; i++) {
171 //     new_Amat[i] = Amat[i];
172 //   }
173
174 //   for(i = 9*(stopIndex + 1); i < 9*nElements; i++) {
175 //     j = i - 9*startIndex + 1;
176 //     new_Amat[j] = Amat[i];
177 //   }
178
179 //   for (i = 0; i < startIndex; i++) {
180 //     new_mu[i] = mu[i];
181 //   }
182
183 //   for(i = (stopIndex+1); i < nElements; i++) {
184 //     j = i - startIndex + 1;
185 //     new_mu[j] = mu[i];
186 //   }
187
188 //   delete[] pos;
189 //   delete[] vel;
190 //   delete[] frc;
191 //   delete[] trq;
192 //   delete[] Amat;
193 //   delete[] mu;
194
195 //   pos = new_pos;
196 //   vel = new_vel;
197 //   frc = new_frc;
198 //   trq = new_trq;
199 //   ul = new_ul;
200 //   Amat = new_Amat;
201 //   mu = new_mu;
202
203 //   nElements = nNew;
204 // }
205
206
64   void Atom::getPos( double theP[3] ){
65    
66    if( hasCoords ){
# Line 222 | Line 79 | void Atom::setPos( double theP[3] ){
79   }
80  
81   void Atom::setPos( double theP[3] ){
82 <  
82 >
83    if( hasCoords ){
84      pos[offsetX] = theP[0];
85      pos[offsetY] = theP[1];
# Line 308 | Line 165 | void GeneralAtom::zeroForces( void ){
165   }
166  
167  
168 < void GeneralAtom::zeroForces( void ){
168 > void Atom::zeroForces( void ){
169    
313  
170    if( hasCoords ){
171      frc[offsetX] = 0.0;
172      frc[offsetY] = 0.0;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines