Changeset ce81e76 for src/LinkedCell
- Timestamp:
- Feb 22, 2012, 11:28:52 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:
- 5d41b3f
- Parents:
- 5e2864
- git-author:
- Frederik Heber <heber@…> (01/05/12 18:30:28)
- git-committer:
- Frederik Heber <heber@…> (02/22/12 11:28:52)
- Location:
- src/LinkedCell
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
src/LinkedCell/LinkedCell_Controller.cpp
r5e2864 rce81e76 32 32 #include "LinkedCell_View_ModelWrapper.hpp" 33 33 #include "IPointCloud.hpp" 34 #include "WorldTime.hpp" 34 35 35 36 … … 48 49 // sign on to specific notifications 49 50 domain.signOn(this, Box::MatrixChanged); 51 WorldTime::getInstance().signOn(this, WorldTime::TimeChanged); 50 52 51 53 /// Check that upper_threshold fits within half the box. … … 73 75 // sign off 74 76 domain.signOff(this, Box::MatrixChanged); 77 WorldTime::getInstance().signOff(this, WorldTime::TimeChanged); 75 78 76 79 /// we free all LinkedCell_Model instances again. … … 190 193 /** Internal function to re-create all present and used models for the new Box. 191 194 * 195 * This is necessary in the following cases: 196 * -# the Box is changed 197 * -# we step on to a different time step, i.e. all atomic positions change 198 * 192 199 * The main problem are the views currently in use. 193 200 * … … 198 205 * 199 206 */ 200 void LinkedCell_Controller::updateModels ForNewBoxMatrix()207 void LinkedCell_Controller::updateModels() 201 208 { 202 209 LOG(1, "INFO: Updating all models."); … … 306 313 void LinkedCell_Controller::recieveNotification(Observable *publisher, Notification_ptr notification) 307 314 { 308 switch(notification->getChannelNo()) { 309 case Box::MatrixChanged: 310 updateModelsForNewBoxMatrix(); 311 break; 312 default: 313 ASSERT(0, 314 "LinkedCell_Controller::recieveNotification() - unwanted notification " 315 +toString(notification->getChannelNo())+" received."); 316 break; 315 if (publisher == &domain) { 316 switch(notification->getChannelNo()) { 317 case Box::MatrixChanged: 318 LOG(1, "INFO: LinkedCell_Controller got update from Box."); 319 updateModels(); 320 break; 321 default: 322 ASSERT(0, 323 "LinkedCell_Controller::recieveNotification() - unwanted notification from Box " 324 +toString(notification->getChannelNo())+" received."); 325 break; 326 } 327 } else if (publisher == WorldTime::getPointer()) { 328 switch(notification->getChannelNo()) { 329 case WorldTime::TimeChanged: 330 LOG(1, "INFO: LinkedCell_Controller got update from WorldTime."); 331 updateModels(); 332 break; 333 default: 334 ASSERT(0, 335 "LinkedCell_Controller::recieveNotification() - unwanted notification from WorldTime " 336 +toString(notification->getChannelNo())+" received."); 337 break; 338 } 339 } else { 340 ELOG(1, "Notification " << notification->getChannelNo() 341 << " from unknown publisher " << publisher << "."); 317 342 } 318 343 } -
src/LinkedCell/LinkedCell_Controller.hpp
r5e2864 rce81e76 59 59 const range<double> getHeuristicRange(const double distance) const; 60 60 void insertNewModel(const double edgelength, const LinkedCell_Model* instance); 61 void updateModels ForNewBoxMatrix();61 void updateModels(); 62 62 63 63 private: -
src/LinkedCell/unittests/LinkedCell_ControllerUnitTest.cpp
r5e2864 rce81e76 259 259 } 260 260 261 /** UnitTest for LinkedCell_Controller::updateModels ForNewBoxMatrix().261 /** UnitTest for LinkedCell_Controller::updateModels(). 262 262 */ 263 263 void LinkedCell_ControllerTest::updateBoxTest() -
src/LinkedCell/unittests/LinkedCell_ModelUnitTest.cpp
r5e2864 rce81e76 37 37 #include "LinkedCell/PointCloudAdaptor.hpp" 38 38 #include "LinkedCell/unittests/defs.hpp" 39 #include "World.hpp" 40 #include "WorldTime.hpp" 39 41 40 42 #include "LinkedCell_ModelUnitTest.hpp" … … 93 95 NodeList.erase(iter); 94 96 } 97 98 // delete in correct order 99 World::purgeInstance(); 100 WorldTime::purgeInstance(); 95 101 } 96 102 -
src/LinkedCell/unittests/LinkedCell_ViewUnitTest.cpp
r5e2864 rce81e76 37 37 #include "LinkedCell/PointCloudAdaptor.hpp" 38 38 #include "LinkedCell/unittests/defs.hpp" 39 #include "World.hpp" 40 #include "WorldTime.hpp" 39 41 40 42 #include "LinkedCell_ViewUnitTest.hpp" … … 98 100 NodeList.erase(iter); 99 101 } 102 103 // delete in correct order 104 World::purgeInstance(); 105 WorldTime::purgeInstance(); 100 106 } 101 107 -
src/LinkedCell/unittests/Makefile.am
r5e2864 rce81e76 58 58 ../LinkedCell/unittests/stubs/TesselPointStub.cpp \ 59 59 ../LinkedCell/unittests/stubs/WorldStub.cpp \ 60 ../LinkedCell/unittests/stubs/WorldTimeStub.cpp \ 60 61 ../LinkedCell/PointCloudAdaptor.hpp \ 61 62 ../Box_BoundaryConditions.cpp \
Note:
See TracChangeset
for help on using the changeset viewer.