Changeset cdee6b


Ignore:
Timestamp:
Jun 10, 2008, 11:31:03 AM (17 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:
8eb17a
Parents:
49de64
Message:

fastparse was not yet working for more than one ion type

moved parsing of ion type numbers before the coordinates parsing loop (prescanning). Bug came due to sequential setting on fastparse

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/config.cpp

    r49de64 rcdee6b  
    456456  string zeile;
    457457  string dummy;
    458   element *elementhash[128];
    459   char name[128];
    460   char keyword[128];
    461   int Z, No;
     458  element *elementhash[MAX_ELEMENTS];
     459  char name[MAX_ELEMENTS];
     460  char keyword[MAX_ELEMENTS];
     461  int Z, No[MAX_ELEMENTS];
    462462  int verbose = 0;
    463463 
     
    633633  if (!ParseForParameter(verbose,file,"StructOpt", 0, 1, 1, int_type, &(config::StructOpt), 1, optional))
    634634    config::StructOpt = 0;
     635  // prescan number of ions per type
     636  cout << Verbose(0) << "Prescanning ions per type: " << endl;
    635637  for (int i=0; i < config::MaxTypes; i++) {
    636638    sprintf(name,"Ion_Type%i",i+1);
    637     ParseForParameter(verbose,file, (const char*)name, 0, 1, 1, int_type, &No, 1, critical);
     639    ParseForParameter(verbose,file, (const char*)name, 0, 1, 1, int_type, &No[i], 1, critical);
    638640    ParseForParameter(verbose,file, name, 0, 2, 1, int_type, &Z, 1, critical);
    639641    elementhash[i] = periode->FindElement(Z);
    640     for(int j=0;j<No;j++) {
     642    cout << Verbose(1) << i << ". Z = " << elementhash[i]->Z << " with " << No[i] << " ions." << endl;
     643  }
     644  for (int i=0; i < config::MaxTypes; i++) {
     645    sprintf(name,"Ion_Type%i",i+1);
     646    for(int j=0;j<No[i];j++) {
    641647      int repetition = 1; // which repeated keyword shall be read
    642648      sprintf(keyword,"%s_%i",name, j+1);
Note: See TracChangeset for help on using the changeset viewer.