ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/types/AtomType.cpp
(Generate patch)

Comparing trunk/OOPSE-4/src/types/AtomType.cpp (file contents):
Revision 2097 by tim, Wed Mar 9 17:30:29 2005 UTC vs.
Revision 2406 by chuckv, Tue Nov 1 23:32:25 2005 UTC

# Line 68 | Line 68 | namespace oopse {
68      atp.is_SplitDipole = 0;
69      atp.is_Quadrupole = 0;
70      atp.is_Sticky = 0;
71 +    atp.is_StickyPower = 0;
72      atp.is_GayBerne = 0;
73      atp.is_EAM = 0;
74      atp.is_Shape = 0;
75      atp.is_FLARB = 0;  
76 +    atp.is_SuttonChen = 0;
77 +    atp.is_MEAM = 0;
78    }
79      
80    void AtomType::makeFortranAtomType() {
# Line 97 | Line 100 | namespace oopse {
100      }
101  
102      status = 0;
103 <
103 >    
104      makeAtype(&atp, &status);  
105      
106      if (status != 0) {
# Line 110 | Line 113 | void AtomType::complete() {
113    }
114  
115  
116 < void AtomType::complete() {
116 >  void AtomType::complete() {
117      int isError;
118      GenericData* data;
119      
120      //notify a new LJtype atom type is created
121      if (isLennardJones()) {
122 <        data = getPropertyByName("LennardJones");
123 <        if (data != NULL) {
124 <            LJParamGenericData* ljData = dynamic_cast<LJParamGenericData*>(data);
122 >      data = getPropertyByName("LennardJones");
123 >      if (data != NULL) {
124 >        LJParamGenericData* ljData = dynamic_cast<LJParamGenericData*>(data);
125  
126 <            if (ljData != NULL) {
127 <                LJParam ljParam = ljData->getData();
126 >        if (ljData != NULL) {
127 >          LJParam ljParam = ljData->getData();
128                  
129 <                newLJtype(&atp.ident, &ljParam.sigma, &ljParam.epsilon, &ljParam.soft_pot, &isError);
129 >          newLJtype(&atp.ident, &ljParam.sigma, &ljParam.epsilon, &ljParam.soft_pot,
130 >              &isError);
131  
132 <                if (isError != 0) {
133 <                    sprintf( painCave.errMsg,
134 <                           "Fortran rejected newLJtype\n");
135 <                    painCave.severity = OOPSE_ERROR;
136 <                    painCave.isFatal = 1;
137 <                    simError();          
138 <                }
132 >          if (isError != 0) {
133 >            sprintf( painCave.errMsg,
134 >                     "Fortran rejected newLJtype\n");
135 >            painCave.severity = OOPSE_ERROR;
136 >            painCave.isFatal = 1;
137 >            simError();          
138 >          }
139                  
140 <            } else {
141 <                    sprintf( painCave.errMsg,
142 <                           "Can not cast GenericData to LJParam\n");
143 <                    painCave.severity = OOPSE_ERROR;
144 <                    painCave.isFatal = 1;
145 <                    simError();          
146 <            }            
147 <        } else {
148 <            sprintf( painCave.errMsg, "Can not find Parameters for LennardJones\n");
149 <            painCave.severity = OOPSE_ERROR;
150 <            painCave.isFatal = 1;
151 <            simError();          
152 <        }
140 >        } else {
141 >          sprintf( painCave.errMsg,
142 >                   "Can not cast GenericData to LJParam\n");
143 >          painCave.severity = OOPSE_ERROR;
144 >          painCave.isFatal = 1;
145 >          simError();          
146 >        }            
147 >      } else {
148 >        sprintf( painCave.errMsg, "Can not find Parameters for LennardJones\n");
149 >        painCave.severity = OOPSE_ERROR;
150 >        painCave.isFatal = 1;
151 >        simError();          
152 >      }
153      }
154  
155      if (isElectrostatic()) {
# Line 160 | Line 164 | void AtomType::complete() {
164      }
165        
166      if (isCharge()) {
167 <        data = getPropertyByName("Charge");
168 <        if (data != NULL) {
169 <            DoubleGenericData* doubleData= dynamic_cast<DoubleGenericData*>(data);
167 >      data = getPropertyByName("Charge");
168 >      if (data != NULL) {
169 >        DoubleGenericData* doubleData= dynamic_cast<DoubleGenericData*>(data);
170  
171 <            if (doubleData != NULL) {
172 <                double charge = doubleData->getData();
173 <                setCharge(&atp.ident, &charge, &isError);
171 >        if (doubleData != NULL) {
172 >          double charge = doubleData->getData();
173 >          setCharge(&atp.ident, &charge, &isError);
174                  
175 <                if (isError != 0) {
176 <                    sprintf( painCave.errMsg,
177 <                           "Fortran rejected setCharge\n");
178 <                    painCave.severity = OOPSE_ERROR;
179 <                    painCave.isFatal = 1;
180 <                    simError();          
181 <                }
182 <            } else {
183 <                    sprintf( painCave.errMsg,
184 <                           "Can not cast GenericData to DoubleGenericData\n");
185 <                    painCave.severity = OOPSE_ERROR;
186 <                    painCave.isFatal = 1;
187 <                    simError();          
188 <            }
189 <        } else {
190 <            sprintf( painCave.errMsg, "Can not find Charge Parameters\n");
191 <            painCave.severity = OOPSE_ERROR;
192 <            painCave.isFatal = 1;
193 <            simError();          
194 <        }
195 <    }
192 <
193 <    if (isEAM()) {
194 <        data = getPropertyByName("EAM");
195 <        if (data != NULL) {
196 <            EAMParamGenericData* eamData = dynamic_cast<EAMParamGenericData*>(data);
197 <
198 <            if (eamData != NULL) {
175 >          if (isError != 0) {
176 >            sprintf( painCave.errMsg,
177 >                     "Fortran rejected setCharge\n");
178 >            painCave.severity = OOPSE_ERROR;
179 >            painCave.isFatal = 1;
180 >            simError();          
181 >          }
182 >        } else {
183 >          sprintf( painCave.errMsg,
184 >                   "Can not cast GenericData to DoubleGenericData\n");
185 >          painCave.severity = OOPSE_ERROR;
186 >          painCave.isFatal = 1;
187 >          simError();          
188 >        }
189 >      } else {
190 >        sprintf( painCave.errMsg, "Can not find Charge Parameters\n");
191 >        painCave.severity = OOPSE_ERROR;
192 >        painCave.isFatal = 1;
193 >        simError();          
194 >      }
195 >    }
196  
197 <                EAMParam eamParam = eamData->getData();
197 >    if (isEAM()) {
198 >      data = getPropertyByName("EAM");
199 >      if (data != NULL) {
200 >        EAMParamGenericData* eamData = dynamic_cast<EAMParamGenericData*>(data);
201 >
202 >        if (eamData != NULL) {
203 >
204 >          EAMParam eamParam = eamData->getData();
205                  
206  
207 <                newEAMtype(&eamParam.latticeConstant, &eamParam.nrho, &eamParam.drho,  &eamParam.nr, &eamParam.dr, &eamParam.rcut,
208 <                                &eamParam.rvals[0], &eamParam.rhovals[0], &eamParam.Frhovals[0], &atp.ident, &isError );
207 >          newEAMtype(&eamParam.latticeConstant, &eamParam.nrho, &eamParam.drho,  
208 >               &eamParam.nr, &eamParam.dr, &eamParam.rcut, &eamParam.rvals[0],
209 >               &eamParam.rhovals[0], &eamParam.Frhovals[0], &atp.ident,
210 >               &isError );
211  
212 <                if (isError != 0) {
213 <                    sprintf( painCave.errMsg,
214 <                           "Fortran rejected newEAMtype\n");
215 <                    painCave.severity = OOPSE_ERROR;
216 <                    painCave.isFatal = 1;
217 <                    simError();          
218 <                }
219 <            } else {
220 <                    sprintf( painCave.errMsg,
221 <                           "Can not cast GenericData to EAMParam\n");
222 <                    painCave.severity = OOPSE_ERROR;
223 <                    painCave.isFatal = 1;
224 <                    simError();          
225 <            }
226 <        } else {
227 <            sprintf( painCave.errMsg, "Can not find EAM Parameters\n");
228 <            painCave.severity = OOPSE_ERROR;
229 <            painCave.isFatal = 1;
230 <            simError();          
231 <        }
212 >          if (isError != 0) {
213 >            sprintf( painCave.errMsg,
214 >                     "Fortran rejected newEAMtype\n");
215 >            painCave.severity = OOPSE_ERROR;
216 >            painCave.isFatal = 1;
217 >            simError();          
218 >          }
219 >        } else {
220 >          sprintf( painCave.errMsg,
221 >                   "Can not cast GenericData to EAMParam\n");
222 >          painCave.severity = OOPSE_ERROR;
223 >          painCave.isFatal = 1;
224 >          simError();          
225 >        }
226 >      } else {
227 >        sprintf( painCave.errMsg, "Can not find EAM Parameters\n");
228 >        painCave.severity = OOPSE_ERROR;
229 >        painCave.isFatal = 1;
230 >        simError();          
231 >      }
232      }
233  
234      
235 < }
235 >  }
236  
237 < void AtomType::addProperty(GenericData* genData) {
237 >  void AtomType::addProperty(GenericData* genData) {
238      properties_.addProperty(genData);  
239 < }
239 >  }
240  
241 < void AtomType::removeProperty(const std::string& propName) {
241 >  void AtomType::removeProperty(const std::string& propName) {
242      properties_.removeProperty(propName);  
243 < }
243 >  }
244  
245 < void AtomType::clearProperties() {
245 >  void AtomType::clearProperties() {
246      properties_.clearProperties();
247 < }
247 >  }
248  
249 < std::vector<std::string> AtomType::getPropertyNames() {
249 >  std::vector<std::string> AtomType::getPropertyNames() {
250      return properties_.getPropertyNames();  
251 < }
251 >  }
252        
253 < std::vector<GenericData*> AtomType::getProperties() {
253 >  std::vector<GenericData*> AtomType::getProperties() {
254      return properties_.getProperties();
255 < }
255 >  }
256  
257 < GenericData* AtomType::getPropertyByName(const std::string& propName) {
257 >  GenericData* AtomType::getPropertyByName(const std::string& propName) {
258      return properties_.getPropertyByName(propName);
259 < }  
259 >  }  
260   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines