Difference for src/colvarscript.C from version 1.5 to 1.6

version 1.5version 1.6
Line 26
Line 26
  
   if (argc < 2) {   if (argc < 2) {
     result = help_string();     result = help_string();
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   std::string cmd = argv[1];   std::string cmd = argv[1];
  
    int error_code = COLVARS_OK;
  
   if (cmd == "colvar") {   if (cmd == "colvar") {
     return proc_colvar(argc-1, &(argv[1]));     return proc_colvar(argc-1, &(argv[1]));
   }   }
Line 41
Line 43
  
   if (cmd == "version") {   if (cmd == "version") {
     result = COLVARS_VERSION;     result = COLVARS_VERSION;
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (cmd == "reset") {   if (cmd == "reset") {
     /// Delete every child object     /// Delete every child object
     colvars->reset();     colvars->reset();
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (cmd == "delete") {   if (cmd == "delete") {
     colvars->reset(); 
     // Note: the delete bit may be ignored by some backends     // Note: the delete bit may be ignored by some backends
     // it is mostly useful in VMD     // it is mostly useful in VMD
     colvars->set_error_bits(DELETE_COLVARS);     colvars->set_error_bits(DELETE_COLVARS);
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (cmd == "update") {   if (cmd == "update") {
     colvars->calc();     error_code |= proxy->update_input();
     return COLVARSCRIPT_OK;     error_code |= colvars->calc();
      error_code |= proxy->update_output();
      if (error_code) {
        result += "Error updating the colvars module.\n";
      }
      return error_code;
   }   }
  
   if (cmd == "list") {   if (cmd == "list") {
Line 70
Line 76
            ++cvi) {            ++cvi) {
         result += (cvi == colvars->colvars.begin() ? "" : " ") + (*cvi)->name;         result += (cvi == colvars->colvars.begin() ? "" : " ") + (*cvi)->name;
       }       }
       return COLVARSCRIPT_OK;       return COLVARS_OK;
     } else if (argc == 3 && !strcmp(argv[2], "biases")) {     } else if (argc == 3 && !strcmp(argv[2], "biases")) {
       for (std::vector<colvarbias *>::iterator bi = colvars->biases.begin();       for (std::vector<colvarbias *>::iterator bi = colvars->biases.begin();
            bi != colvars->biases.end();            bi != colvars->biases.end();
            ++bi) {            ++bi) {
         result += (bi == colvars->biases.begin() ? "" : " ") + (*bi)->name;         result += (bi == colvars->biases.begin() ? "" : " ") + (*bi)->name;
       }       }
       return COLVARSCRIPT_OK;       return COLVARS_OK;
     } else {     } else {
       result = "Wrong arguments to command \"list\"\n" + help_string();       result = "Wrong arguments to command \"list\"\n" + help_string();
       return COLVARSCRIPT_ERROR;       return COLVARSCRIPT_ERROR;
Line 91
Line 97
       return COLVARSCRIPT_ERROR;       return COLVARSCRIPT_ERROR;
     }     }
     if (colvars->read_config_file(argv[2]) == COLVARS_OK) {     if (colvars->read_config_file(argv[2]) == COLVARS_OK) {
       return COLVARSCRIPT_OK;       return COLVARS_OK;
     } else {     } else {
       result = "Error parsing configuration file";       result = "Error parsing configuration file";
       return COLVARSCRIPT_ERROR;       return COLVARSCRIPT_ERROR;
Line 106
Line 112
     }     }
     std::string conf = argv[2];     std::string conf = argv[2];
     if (colvars->read_config_string(conf) == COLVARS_OK) {     if (colvars->read_config_string(conf) == COLVARS_OK) {
       return COLVARSCRIPT_OK;       return COLVARS_OK;
     } else {     } else {
       result = "Error parsing configuration string";       result = "Error parsing configuration string";
       return COLVARSCRIPT_ERROR;       return COLVARSCRIPT_ERROR;
Line 119
Line 125
       result = "Missing arguments\n" + help_string();       result = "Missing arguments\n" + help_string();
       return COLVARSCRIPT_ERROR;       return COLVARSCRIPT_ERROR;
     }     }
     proxy->input_prefix_str = argv[2];     proxy->input_prefix() = argv[2];
     if (colvars->setup_input() == COLVARS_OK) {     if (colvars->setup_input() == COLVARS_OK) {
       return COLVARSCRIPT_OK;       return COLVARS_OK;
     } else {     } else {
       result = "Error loading state file";       result = "Error loading state file";
       return COLVARSCRIPT_ERROR;       return COLVARSCRIPT_ERROR;
Line 138
Line 144
     int error = 0;     int error = 0;
     error |= colvars->setup_output();     error |= colvars->setup_output();
     error |= colvars->write_output_files();     error |= colvars->write_output_files();
     return error ? COLVARSCRIPT_ERROR : COLVARSCRIPT_OK;     return error ? COLVARSCRIPT_ERROR : COLVARS_OK;
   }   }
  
   /// Print the values that would go on colvars.traj   /// Print the values that would go on colvars.traj
Line 146
Line 152
     std::ostringstream os;     std::ostringstream os;
     colvars->write_traj_label(os);     colvars->write_traj_label(os);
     result = os.str();     result = os.str();
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
   if (cmd == "printframe") {   if (cmd == "printframe") {
     std::ostringstream os;     std::ostringstream os;
     colvars->write_traj(os);     colvars->write_traj(os);
     result = os.str();     result = os.str();
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (cmd == "frame") {   if (cmd == "frame") {
     if (argc == 2) {     if (argc == 2) {
       int f = proxy->frame();       long int f;
       if (f >= 0) {       int error = proxy->get_frame(f);
        if (error == COLVARS_OK) {
         result = cvm::to_str(f);         result = cvm::to_str(f);
         return COLVARSCRIPT_OK;         return COLVARS_OK;
       } else {       } else {
         result = "Frame number is not available";         result = "Frame number is not available";
         return COLVARSCRIPT_ERROR;         return COLVARSCRIPT_ERROR;
       }       }
     } else if (argc == 3) {     } else if (argc == 3) {
       // Failure of this function does not trigger an error, but       // Failure of this function does not trigger an error, but
       // returns the plain result to let scripts detect available frames       // returns nonzero, to let scripts detect available frames
       long int f = proxy->frame(strtol(argv[2], NULL, 10));       int error = proxy->set_frame(strtol(argv[2], NULL, 10));
       colvars->it = proxy->frame();       result = cvm::to_str(error == COLVARS_OK ? 0 : -1);
       result = cvm::to_str(f);       return COLVARS_OK;
       return COLVARSCRIPT_OK; 
     } else {     } else {
       result = "Wrong arguments to command \"frame\"\n" + help_string();       result = "Wrong arguments to command \"frame\"\n" + help_string();
       return COLVARSCRIPT_ERROR;       return COLVARSCRIPT_ERROR;
Line 199
Line 205
  
   if (subcmd == "value") {   if (subcmd == "value") {
     result = (cv->value()).to_simple_string();     result = (cv->value()).to_simple_string();
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (subcmd == "width") {   if (subcmd == "width") {
     result = cvm::to_str(cv->width, 0, cvm::cv_prec);     result = cvm::to_str(cv->width, 0, cvm::cv_prec);
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (subcmd == "type") {   if (subcmd == "type") {
     result = cv->value().type_desc(cv->value().value_type);     result = cv->value().type_desc(cv->value().value_type);
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (subcmd == "update") {   if (subcmd == "update") {
     cv->calc();     cv->calc();
     cv->update();     cv->update_forces_energy();
     result = (cv->value()).to_simple_string();     result = (cv->value()).to_simple_string();
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (subcmd == "delete") {   if (subcmd == "delete") {
Line 228
Line 234
     delete cv;     delete cv;
     // TODO this could be done by the destructors     // TODO this could be done by the destructors
     colvars->write_traj_label(colvars->cv_traj_os);     colvars->write_traj_label(colvars->cv_traj_os);
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (subcmd == "getconfig") {   if (subcmd == "getconfig") {
     result = cv->get_config();     result = cv->get_config();
     return COLVARSCRIPT_OK;     return COLVARS_OK;
    }
  
    if (subcmd == "getappliedforce") {
      result = (cv->applied_force()).to_simple_string();
      return COLVARS_OK;
    }
  
    if (subcmd == "getsystemforce") {
      // TODO warning here
      result = (cv->total_force()).to_simple_string();
      return COLVARS_OK;
    }
  
    if (subcmd == "gettotalforce") {
      result = (cv->total_force()).to_simple_string();
      return COLVARS_OK;
   }   }
  
   if (subcmd == "addforce") {   if (subcmd == "addforce") {
Line 253
Line 275
     }     }
     cv->add_bias_force(force);     cv->add_bias_force(force);
     result = force.to_simple_string();     result = force.to_simple_string();
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (subcmd == "cvcflags") {   if (subcmd == "cvcflags") {
Line 276
Line 298
       return COLVARSCRIPT_ERROR;       return COLVARSCRIPT_ERROR;
     }     }
     result = "0";     result = "0";
     return COLVARSCRIPT_OK;     return COLVARS_OK;
    }
  
    if (subcmd == "state") {
      cv->print_state();
      return COLVARS_OK;
   }   }
  
   result = "Syntax error\n" + help_string();   result = "Syntax error\n" + help_string();
Line 301
Line 328
  
   if (subcmd == "energy") {   if (subcmd == "energy") {
     result = cvm::to_str(b->get_energy());     result = cvm::to_str(b->get_energy());
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (subcmd == "update") {   if (subcmd == "update") {
     b->update();     b->update();
     result = cvm::to_str(b->get_energy());     result = cvm::to_str(b->get_energy());
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (subcmd == "getconfig") {   if (subcmd == "getconfig") {
     result = b->get_config();     result = b->get_config();
     return COLVARSCRIPT_OK;     return COLVARS_OK;
    }
  
    if (subcmd == "state") {
      b->print_state();
      return COLVARS_OK;
   }   }
  
   // Subcommands for MW ABF   // Subcommands for MW ABF
   if (subcmd == "bin") {   if (subcmd == "bin") {
     int r = b->current_bin();     int r = b->current_bin();
     result = cvm::to_str(r);     result = cvm::to_str(r);
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (subcmd == "binnum") {   if (subcmd == "binnum") {
Line 329
Line 361
       return COLVARSCRIPT_ERROR;       return COLVARSCRIPT_ERROR;
     }     }
     result = cvm::to_str(r);     result = cvm::to_str(r);
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (subcmd == "share") {   if (subcmd == "share") {
Line 339
Line 371
       return COLVARSCRIPT_ERROR;       return COLVARSCRIPT_ERROR;
     }     }
     result = cvm::to_str(r);     result = cvm::to_str(r);
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
   // End commands for MW ABF   // End commands for MW ABF
  
Line 348
Line 380
     delete b;     delete b;
     // TODO this could be done by the destructors     // TODO this could be done by the destructors
     colvars->write_traj_label(colvars->cv_traj_os);     colvars->write_traj_label(colvars->cv_traj_os);
     return COLVARSCRIPT_OK;     return COLVARS_OK;
   }   }
  
   if (argc >= 4) {   if (argc >= 4) {
Line 360
Line 392
         return COLVARSCRIPT_ERROR;         return COLVARSCRIPT_ERROR;
       }       }
       result = cvm::to_str(b->bin_count(index));       result = cvm::to_str(b->bin_count(index));
       return COLVARSCRIPT_OK;       return COLVARS_OK;
     }     }
  
     result = "Syntax error\n" + help_string();     result = "Syntax error\n" + help_string();
Line 389
Line 421
   list biases                 -- return a list of all biases\n\   list biases                 -- return a list of all biases\n\
   load <file name>            -- load a state file (requires configuration)\n\   load <file name>            -- load a state file (requires configuration)\n\
   save <file name>            -- save a state file (requires configuration)\n\   save <file name>            -- save a state file (requires configuration)\n\
   update                      -- recalculate colvars and biases based\n\   update                      -- recalculate colvars and biases\n\
   printframe                  -- return a summary of the current frame\n\   printframe                  -- return a summary of the current frame\n\
   printframelabels            -- return labels to annotate printframe's output\n";   printframelabels            -- return labels to annotate printframe's output\n";
  
   if (proxy->frame() != COLVARS_NOT_IMPLEMENTED) {   long int tmp;
    if (proxy->get_frame(tmp) != COLVARS_NOT_IMPLEMENTED) {
       buf += "\       buf += "\
   frame                       -- return current frame number\n\   frame                       -- return current frame number\n\
   frame <new_frame>           -- set frame number\n";   frame <new_frame>           -- set frame number\n";


Legend:
Removed in v.1.5 
changed lines
 Added in v.1.6



Made by using version 1.53 of cvs2html