ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/applications/randomBuilder/randomBuilder.cpp
(Generate patch)

Comparing trunk/src/applications/randomBuilder/randomBuilder.cpp (file contents):
Revision 1390 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
Revision 2071 by gezelter, Sat Mar 7 21:41:51 2015 UTC

# Line 34 | Line 34
34   *                                                                      
35   * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
36   * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
37 < * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
38 < * [4]  Vardeman & Gezelter, in progress (2009).                        
37 > * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008).          
38 > * [4] Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
39 > * [4] , Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). *
40   *
40 *
41   *  randomBuilder.cpp
42   *
43   *  Created by Charles F. Vardeman II on 10 Apr 2006.
44   *  @author  Charles F. Vardeman II
45 < *  @version $Id: randomBuilder.cpp,v 1.8 2009-11-25 20:01:58 gezelter Exp $
45 > *  @version $Id$
46   *
47   */
48  
# Line 77 | Line 77 | int main(int argc, char *argv []) {
77  
78   int main(int argc, char *argv []) {
79  
80  // register force fields
81  registerForceFields();
80    registerLattice();
81      
82    gengetopt_args_info args_info;
# Line 170 | Line 168 | int main(int argc, char *argv []) {
168    std::vector<RealType> molFractions;
169    std::vector<RealType> molecularMasses;
170    std::vector<int> nMol;
171 <  int nComponents = components.size();
172 <
171 >  std::size_t nComponents = components.size();
172 >  
173    if (nComponents == 1) {
174      molFractions.push_back(1.0);    
175    } else {
176      if (args_info.molFraction_given == nComponents) {
177 <      for (int i = 0; i < nComponents; i++) {
177 >      for (std::size_t i = 0; i < nComponents; i++) {
178          molFractions.push_back(args_info.molFraction_arg[i]);
179        }
180      } else if (args_info.molFraction_given == nComponents-1) {
181        RealType remainingFraction = 1.0;
182 <      for (int i = 0; i < nComponents-1; i++) {
182 >      for (std::size_t i = 0; i < nComponents-1; i++) {
183          molFractions.push_back(args_info.molFraction_arg[i]);
184          remainingFraction -= molFractions[i];
185        }
# Line 198 | Line 196 | int main(int argc, char *argv []) {
196    
197    RealType totalFraction = 0.0;
198  
199 <  for (int i = 0; i < nComponents; i++) {
199 >  for (std::size_t i = 0; i < nComponents; i++) {
200      if (molFractions.at(i) < 0.0) {
201        sprintf(painCave.errMsg, "One of the requested molFractions was"
202                " less than zero!");
# Line 220 | Line 218 | int main(int argc, char *argv []) {
218    }
219  
220    int remaining = nSites;
221 <  for (int i=0; i < nComponents-1; i++) {    
221 >  for (std::size_t i=0; i < nComponents-1; i++) {    
222      nMol.push_back(int((RealType)nSites * molFractions.at(i)));
223      remaining -= nMol.at(i);
224    }
# Line 230 | Line 228 | int main(int argc, char *argv []) {
228  
229    int totalMolecules = 0;
230    RealType totalMass = 0.0;
231 <  for (int i=0; i < nComponents; i++) {
231 >  for (std::size_t i=0; i < nComponents; i++) {
232      molFractions[i] = (RealType)(nMol.at(i))/(RealType)nSites;
233      totalMolecules += nMol.at(i);
234 <    molecularMasses.push_back(getMolMass(oldInfo->getMoleculeStamp(i),
235 <                                         oldInfo->getForceField()));
234 >    molecularMasses.push_back(MoLocator::getMolMass(oldInfo->getMoleculeStamp(i),
235 >                                                    oldInfo->getForceField()));
236      totalMass += (RealType)(nMol.at(i)) * molecularMasses.at(i);
237    }
238    RealType avgMass = totalMass / (RealType) totalMolecules;
# Line 285 | Line 283 | int main(int argc, char *argv []) {
283  
284    createMdFile(inputFileName, outputFileName, nMol);
285  
286 <  if (oldInfo != NULL)
289 <    delete oldInfo;
286 >  delete oldInfo;
287  
288    // We need to read in the new SimInfo object, then Parse the
289    // md file and set up the system
# Line 317 | Line 314 | int main(int argc, char *argv []) {
314    // Randomize a vector of ints:
315  
316    vector<int> ids;
317 <  for (int i = 0; i < sites.size(); i++) ids.push_back(i);
317 >  for (std::size_t i = 0; i < sites.size(); i++) ids.push_back(i);
318    std::random_shuffle(ids.begin(), ids.end());
319  
320    Molecule* mol;
321    int l = 0;
322 <  for (int i = 0; i < nComponents; i++){
322 >  for (std::size_t i = 0; i < nComponents; i++){
323      locator = new MoLocator(newInfo->getMoleculeStamp(i),
324                              newInfo->getForceField());
325      for (int n = 0; n < nMol.at(i); n++) {
# Line 351 | Line 348 | int main(int argc, char *argv []) {
348    sprintf(painCave.errMsg, "A new OpenMD file called \"%s\" has been "
349            "generated.\n", outputFileName.c_str());
350    painCave.isFatal = 0;
351 +  painCave.severity = OPENMD_INFO;
352    simError();
353    return 0;
354   }
# Line 370 | Line 368 | void createMdFile(const std::string&oldMdFileName,
368    
369    oldMdFile.getline(buffer, MAXLEN);
370  
371 <  int i = 0;
371 >  std::size_t i = 0;
372    while (!oldMdFile.eof()) {
373      
374      //correct molecule number
375      if (strstr(buffer, "nMol") != NULL) {
376 <      if(i<nMol.size()){
376 >      if (i<nMol.size()){
377          sprintf(buffer, "\tnMol = %i;", nMol.at(i));
378          newMdFile << buffer << std::endl;
379          i++;

Comparing trunk/src/applications/randomBuilder/randomBuilder.cpp (property svn:keywords):
Revision 1390 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
Revision 2071 by gezelter, Sat Mar 7 21:41:51 2015 UTC

# Line 0 | Line 1
1 + Author Id Revision Date

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines