Ignore:
Timestamp:
Jul 25, 2010, 9:43:56 PM (15 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:
a8a010
Parents:
521bbf
Message:

Fixed all correlations for new selected sets of molecules.

  • MapOfActions: added missing action names point-correlation and surface-correlation.
  • BUGFIX: AnalysisPairCorrelationAction::createDialog() - needs to query for multiple element_s_.
  • BUGFIX: MapOfActions::queryCurrentValue() - added values twice, due to ..ID or Z was not set to -1 after push_back.
  • TESTFIX: Analysis/* all needed --select-all-molecules in front.
  • TESTFIX: Analysis/4 need additional --unselect-molecule-by-id 207 to avoid correlating againts itself.
  • TESTFIX: changed all correlation unit tests, i.e. replaced TestList by allMolecules from getSelectedMolecules().
  • analysis_correlation.[ch]pp:
    • Replaced MoleculeListClass by const std::vector<molecule *>
    • ActiveFlag check is removed, we hand over getSelectedMolecules() from World (or any other vector of molecules) instead.
Location:
src/Actions/AnalysisAction
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/AnalysisAction/PairCorrelationAction.cpp

    r521bbf re65de8  
    4141  Dialog *dialog = UIFactory::getInstance().makeDialog();
    4242
    43   dialog->queryElement("elements", ValueStorage::getInstance().getDescription("elements"));
     43  dialog->queryElements("elements", ValueStorage::getInstance().getDescription("elements"));
    4444  dialog->queryDouble("bin-start", ValueStorage::getInstance().getDescription("bin-start"));
    4545  dialog->queryDouble("bin-width", ValueStorage::getInstance().getDescription("bin-width"));
     
    6767  Vector Point;
    6868  BinPairMap *binmap = NULL;
    69   MoleculeListClass *molecules = World::getInstance().getMolecules();
    7069
    7170  // obtain information
     
    8281  binoutput.open(binoutputname.c_str());
    8382  PairCorrelationMap *correlationmap = NULL;
     83  std::vector<molecule*> molecules = World::getInstance().getSelectedMolecules();
    8484  if (periodic)
    85     correlationmap = PeriodicPairCorrelation(World::getInstance().getMolecules(), elements, ranges);
     85    correlationmap = PeriodicPairCorrelation(molecules, elements, ranges);
    8686  else
    87     correlationmap = PairCorrelation(World::getInstance().getMolecules(), elements);
     87    correlationmap = PairCorrelation(molecules, elements);
    8888  OutputPairCorrelation(&output, correlationmap);
    8989  binmap = BinData( correlationmap, BinWidth, BinStart, BinEnd );
  • src/Actions/AnalysisAction/PointCorrelationAction.cpp

    r521bbf re65de8  
    4242
    4343  dialog->queryVector("position", false, ValueStorage::getInstance().getDescription("position"));
    44   dialog->queryElement("elements", ValueStorage::getInstance().getDescription("elements"));
     44  dialog->queryElements("elements", ValueStorage::getInstance().getDescription("elements"));
    4545  dialog->queryDouble("bin-start", ValueStorage::getInstance().getDescription("bin-start"));
    4646  dialog->queryDouble("bin-width", ValueStorage::getInstance().getDescription("bin-width"));
     
    6868  Vector Point;
    6969  BinPairMap *binmap = NULL;
    70   MoleculeListClass *molecules = World::getInstance().getMolecules();
    7170
    7271  // obtain information
     
    8584  cout << "Point to correlate to is  " << Point << endl;
    8685  CorrelationToPointMap *correlationmap = NULL;
     86  for(std::vector< element *>::iterator iter = elements.begin(); iter != elements.end(); ++iter)
     87    cout << "element is " << (*iter)->symbol << endl;
     88  std::vector<molecule*> molecules = World::getInstance().getSelectedMolecules();
    8789  if (periodic)
    8890    correlationmap  = PeriodicCorrelationToPoint(molecules, elements, &Point, ranges);
  • src/Actions/AnalysisAction/SurfaceCorrelationAction.cpp

    r521bbf re65de8  
    4242
    4343  dialog->queryMolecule("molecule-by-id", ValueStorage::getInstance().getDescription("molecule-by-id"));
    44   dialog->queryElement("elements", ValueStorage::getInstance().getDescription("elements"));
     44  dialog->queryElements("elements", ValueStorage::getInstance().getDescription("elements"));
    4545  dialog->queryDouble("bin-start", ValueStorage::getInstance().getDescription("bin-start"));
    4646  dialog->queryDouble("bin-width", ValueStorage::getInstance().getDescription("bin-width"));
     
    6868  Vector Point;
    6969  BinPairMap *binmap = NULL;
    70   MoleculeListClass *molecules = World::getInstance().getMolecules();
    7170
    7271  // obtain information
     
    9796  const LinkedCell *LCList = NULL;
    9897  // find biggest molecule
    99   int counter  = molecules->ListOfMolecules.size();
    100   bool *Actives = new bool[counter];
    101   counter = 0;
    102   for (MoleculeList::iterator BigFinder = molecules->ListOfMolecules.begin(); BigFinder != molecules->ListOfMolecules.end(); BigFinder++) {
    103     Actives[counter++] = (*BigFinder)->ActiveFlag;
    104     (*BigFinder)->ActiveFlag = (*BigFinder == Boundary) ? false : true;
    105   }
     98  std::vector<molecule*> molecules = World::getInstance().getSelectedMolecules();
     99  int counter  = molecules.size();
    106100  LCList = new LinkedCell(Boundary, LCWidth);
    107101  FindNonConvexBorder(Boundary, TesselStruct, LCList, radius, NULL);
     
    113107  delete LCList;
    114108  OutputCorrelationToSurface(&output, surfacemap);
    115   // re-set ActiveFlag
    116   counter = 0;
    117   for (MoleculeList::iterator BigFinder = molecules->ListOfMolecules.begin(); BigFinder != molecules->ListOfMolecules.end(); BigFinder++) {
    118     (*BigFinder)->ActiveFlag = Actives[counter++];
    119   }
    120   delete[] Actives;
    121109  // check whether radius was appropriate
    122110  {
Note: See TracChangeset for help on using the changeset viewer.