Changeset 9a5bcd for src/builder.cpp


Ignore:
Timestamp:
Oct 17, 2008, 1:20:42 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
4ee3df
Parents:
f00693
Message:

config::Save() and config::SaveMPQC() now take string for filename, instead of opened ofstream.

This was necessary, as config::SaveMPQC() now writes to files: One with hessian calc enabled, the other not. As it is a pendant of config::Save(), this file was changed accordingly. Both are called from builder.cpp (ParseFromParamters() and main()) and moleculelist.cpp (MoleculeListClass::OutputConfigForListOfFragments()), hence these were changed,too.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/builder.cpp

    rf00693 r9a5bcd  
    699699  mol->CalculateOrbitals(*configuration);
    700700  configuration->InitMaxMinStopStep = configuration->MaxMinStopStep = configuration->MaxPsiDouble;
    701   if (ConfigFileName != NULL) {
     701  strcpy(filename, ConfigFileName);
     702  if (ConfigFileName != NULL) { // test the file name
    702703    output.open(ConfigFileName, ios::trunc);
    703704  } else if (strlen(configuration->configname) != 0) {
     705    strcpy(filename, configuration->configname);
    704706    output.open(configuration->configname, ios::trunc);
    705707    } else {
     708      strcpy(filename, DEFAULTCONFIG);
    706709      output.open(DEFAULTCONFIG, ios::trunc);
    707710    }
     711  output.close();
     712  output.clear();
    708713  cout << Verbose(0) << "Saving of config file ";
    709   if (configuration->Save(&output, periode, mol))
     714  if (configuration->Save(filename, periode, mol))
    710715    cout << "successful." << endl;
    711716  else
    712717    cout << "failed." << endl;
    713   output.close();
    714   output.clear();
    715718 
    716719  // and save to xyz file
     
    741744 
    742745  // and save as MPQC configuration
    743   if (ConfigFileName != NULL) {
     746  if (ConfigFileName != NULL)
    744747    strcpy(filename, ConfigFileName);
    745     strcat(filename, ".in");
    746     output.open(filename, ios::trunc);
    747   }
    748   if (output == NULL) {
     748  if (output == NULL)
    749749    strcpy(filename,"main_pcp_linux");
    750     strcat(filename, ".in");
    751     output.open(filename, ios::trunc);
    752   }
    753750  cout << Verbose(0) << "Saving as mpqc input ";
    754   if (configuration->SaveMPQC(&output, mol))
     751  if (configuration->SaveMPQC(filename, mol))
    755752    cout << "done." << endl;
    756753  else
    757754    cout << "failed." << endl;
    758   output.close();
    759   output.clear();
    760755 
    761756  if (!strcmp(configuration->configpath, configuration->GetDefaultPath())) {
     
    919914              ExitFlag = 1;
    920915              if ((argptr >= argc) || (argv[argptr][0] == '-')) {
     916                ExitFlag = 255;
    921917                cerr << "Not enough arguments for parsing: -p <xyz file>" << endl;
    922918              } else {
     
    934930              ExitFlag = 1;
    935931              if ((argptr >= argc) || (argv[argptr][0] == '-') || (!IsValidNumber(argv[argptr+1]))) {
     932                ExitFlag = 255;
    936933                cerr << "Not enough or invalid arguments for adding atom: -a <element> <x> <y> <z>" << endl;
    937934              } else {
     
    995992              ExitFlag = 1;
    996993              if ((argptr+1 >= argc) || (!IsValidNumber(argv[argptr])) || (argv[argptr+1][0] == '-')) {
     994                ExitFlag = 255;
    997995                cerr << "Not enough or invalid arguments given for changing element: -E <atom nr.> <element>" << endl;
    998996              } else {
     
    10071005              ExitFlag = 1;
    10081006              if ((argptr >= argc) || (argv[argptr][0] == '-')) {
     1007                ExitFlag = 255;
    10091008                cerr << "Not enough or invalid arguments given for storing tempature: -T <temperature file>" << endl;
    10101009              } else {
     
    10231022              ExitFlag = 1;
    10241023              if ((argptr >= argc) || (argv[argptr][0] == '-')) {
     1024                ExitFlag = 255;
    10251025                cerr << "Not enough or invalid arguments given for parsing and integrating forces: -P <forces file>" << endl;
    10261026              } else {
     
    10371037              ExitFlag = 1;
    10381038              if ((argptr+2 >= argc) || (!IsValidNumber(argv[argptr])) || (!IsValidNumber(argv[argptr+1])) || (!IsValidNumber(argv[argptr+2])) ) {
     1039                ExitFlag = 255;
    10391040                cerr << "Not enough or invalid arguments given for translation: -t <x> <y> <z>" << endl;
    10401041              } else {
     
    10511052              ExitFlag = 1;
    10521053              if ((argptr >= argc) || (!IsValidNumber(argv[argptr])) ) {
     1054                ExitFlag = 255;
    10531055                cerr << "Not enough or invalid arguments given for scaling: -s <factor/[factor_x]> [factor_y] [factor_z]" << endl;
    10541056              } else {
     
    10771079              ExitFlag = 1;
    10781080              if ((argptr+2 >= argc) || (!IsValidNumber(argv[argptr])) || (!IsValidNumber(argv[argptr+1])) || (!IsValidNumber(argv[argptr+2])) ) {
     1081                ExitFlag = 255;
    10791082                cerr << "Not enough or invalid arguments given for centering in box: -b <length_x> <length_y> <length_z>" << endl;
    10801083              } else {
     
    10971100              ExitFlag = 1;
    10981101              if ((argptr+2 >= argc) || (!IsValidNumber(argv[argptr])) || (!IsValidNumber(argv[argptr+1])) || (!IsValidNumber(argv[argptr+2])) ) {
     1102                ExitFlag = 255;
    10991103                cerr << "Not enough or invalid arguments given for centering with boundary: -c <boundary_x> <boundary_y> <boundary_z>" << endl;
    11001104              } else {
     
    11321136              ExitFlag = 1;
    11331137              if ((argptr+1 >= argc) || (!IsValidNumber(argv[argptr])) || (!IsValidNumber(argv[argptr+1]))) {
     1138                ExitFlag = 255;
    11341139                cerr << "Not enough or invalid arguments for fragmentation: -f <max. bond distance> <bond order>" << endl;
    11351140              } else {
     
    11701175              ExitFlag = 1;
    11711176              if ((argptr+1 >= argc) || (!IsValidNumber(argv[argptr])) || (!IsValidNumber(argv[argptr+1])) ) {
     1177                ExitFlag = 255;
    11721178                cerr << "Not enough or invalid arguments given for suspension with specified volume: -U <volume> <density>" << endl;
    11731179                volume = -1; // for case 'u': don't print error again
     
    11801186              if ((argptr >= argc) || (!IsValidNumber(argv[argptr])) ) {
    11811187                if (volume != -1)
     1188                  ExitFlag = 255;
    11821189                  cerr << "Not enough arguments given for suspension: -u <density>" << endl;
    11831190              } else {
     
    12021209              ExitFlag = 1;
    12031210              if ((argptr+2 >= argc) || (!IsValidNumber(argv[argptr])) || (!IsValidNumber(argv[argptr+1])) || (!IsValidNumber(argv[argptr+2])) ) {
     1211                ExitFlag = 255;
    12041212                cerr << "Not enough or invalid arguments given for repeating cells: -d <repeat_x> <repeat_y> <repeat_z>" << endl;
    12051213              } else {
Note: See TracChangeset for help on using the changeset viewer.