Changeset e791dc
- Timestamp:
- Apr 3, 2012, 8:00:19 AM (13 years ago)
- 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:
- 2a3124
- Parents:
- 108968
- git-author:
- Frederik Heber <heber@…> (03/13/12 17:52:00)
- git-committer:
- Frederik Heber <heber@…> (04/03/12 08:00:19)
- Location:
- src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Analysis/analysis_correlation.cpp
r108968 re791dc 295 295 Info FunctionInfo(__func__); 296 296 PairCorrelationMap *outmap = new PairCorrelationMap; 297 double distance = 0.;297 //double distance = 0.; 298 298 Box &domain = World::getInstance().getDomain(); 299 299 … … 391 391 return outmap; 392 392 } 393 for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) 394 (*MolWalker)->doCountAtoms(); 393 395 394 outmap = new CorrelationToPointMap; 396 395 for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) { … … 437 436 return outmap; 438 437 } 439 for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) 440 (*MolWalker)->doCountAtoms(); 438 441 439 outmap = new CorrelationToPointMap; 442 440 for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) { … … 492 490 return outmap; 493 491 } 494 for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) 495 (*MolWalker)->doCountAtoms(); 492 496 493 outmap = new CorrelationToSurfaceMap; 497 494 for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) { … … 549 546 return outmap; 550 547 } 551 for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) 552 (*MolWalker)->doCountAtoms(); 548 553 549 outmap = new CorrelationToSurfaceMap; 554 550 double ShortestDistance = 0.; -
src/Fragmentation/Fragmentation.cpp
r108968 re791dc 456 456 c = (ListOfBonds.size() > c) ? ListOfBonds.size() : c; 457 457 } 458 FragmentCount = mol->NoNonHydrogen*(1 << (c*order)); 459 LOG(1, "Upper limit for this subgraph is " << FragmentCount << " for " << mol->NoNonHydrogen << " non-H atoms with maximum bond degree of " << c << "."); 458 FragmentCount = mol->getNoNonHydrogen()*(1 << (c*order)); 459 LOG(1, "Upper limit for this subgraph is " << FragmentCount << " for " 460 << mol->getNoNonHydrogen() << " non-H atoms with maximum bond degree of " << c << "."); 460 461 return FragmentCount; 461 462 }; -
src/molecule.cpp
r108968 re791dc 58 58 Observable("molecule"), 59 59 MDSteps(0), 60 NoNonHydrogen(0),61 60 NoNonBonds(0), 62 61 NoCyclicBonds(0), 63 62 ActiveFlag(false), 64 63 IndexNr(-1), 65 AtomCount(this,boost::bind(&molecule::doCountAtoms,this),"AtomCount"),64 NoNonHydrogen(this,boost::bind(&molecule::doCountNoNonHydrogen,this),"NoNonHydrogen"), 66 65 BondCount(this,boost::bind(&molecule::doCountBonds,this),"BondCount"), 67 66 atomIdPool(1, 20, 100), … … 95 94 96 95 int molecule::getAtomCount() const{ 97 return *AtomCount; 96 return atomIds.size(); 97 } 98 99 size_t molecule::getNoNonHydrogen() const{ 100 return *NoNonHydrogen; 98 101 } 99 102 … … 236 239 OBSERVE; 237 240 if (pointer != NULL) { 238 if (pointer->getType()->getAtomicNumber() != 1)239 NoNonHydrogen++;240 241 insert(pointer); 241 242 pointer->setMolecule(this); … … 258 259 walker->setNr(last_atom++); // increase number within molecule 259 260 insert(walker); 260 if ((pointer->getType() != NULL) && (pointer->getType()->getAtomicNumber() != 1))261 NoNonHydrogen++;262 261 walker->setMolecule(this); 263 262 retval=walker; … … 951 950 * \param *out output stream for debugging 952 951 */ 953 int molecule::doCountAtoms() 954 { 955 int res = size(); 956 NoNonHydrogen = 0; 952 size_t molecule::doCountNoNonHydrogen() const 953 { 954 int temp = 0; 957 955 // go through atoms and look for new ones 958 956 for (molecule::const_iterator iter = begin(); iter != end(); ++iter) 959 957 if ((*iter)->getType()->getAtomicNumber() != 1) // count non-hydrogen atoms whilst at it 960 NoNonHydrogen++;961 return res;958 ++temp; 959 return temp; 962 960 }; 963 961 -
src/molecule.hpp
r108968 re791dc 74 74 75 75 int MDSteps; //!< The number of MD steps in Trajectories 76 mutable int NoNonHydrogen; //!< number of non-hydrogen atoms in molecule77 76 mutable int NoNonBonds; //!< number of non-hydrogen bonds in molecule 78 77 mutable int NoCyclicBonds; //!< number of cyclic bonds in molecule, by DepthFirstSearchAnalysis() … … 83 82 private: 84 83 Formula formula; 85 Cacheable< int> AtomCount; //!< number of atoms, brought up-to-date by doCountAtoms()84 Cacheable<size_t> NoNonHydrogen; //!< number of non-hydrogen atoms in molecule 86 85 Cacheable<int> BondCount; //!< number of atoms, brought up-to-date by doCountBonds() 87 86 moleculeId_t id; … … 98 97 const std::string getName() const; 99 98 int getAtomCount() const; 100 int doCountAtoms(); 99 size_t doCountNoNonHydrogen() const; 100 size_t getNoNonHydrogen() const; 101 101 int getBondCount() const; 102 102 int doCountBonds() const;
Note:
See TracChangeset
for help on using the changeset viewer.