Changeset e65878 for src/Actions/AnalysisAction
- Timestamp:
- Oct 31, 2011, 11:49: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:
- 870b4b
- Parents:
- 505d05
- git-author:
- Frederik Heber <heber@…> (05/18/11 19:55:05)
- git-committer:
- Frederik Heber <heber@…> (10/31/11 11:49:19)
- Location:
- src/Actions/AnalysisAction
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/AnalysisAction/DipoleAngularCorrelationAction.cpp
r505d05 re65878 24 24 #include "linkedcell.hpp" 25 25 #include "CodePatterns/Log.hpp" 26 #include "Descriptors/AtomOfMoleculeSelectionDescriptor.hpp" 27 #include "Descriptors/MoleculeFormulaDescriptor.hpp" 26 28 #include "Element/element.hpp" 27 #include "molecule.hpp"28 29 #include "Element/periodentafel.hpp" 29 30 #include "LinearAlgebra/Vector.hpp" 31 #include "molecule.hpp" 30 32 #include "World.hpp" 31 33 #include "WorldTime.hpp" … … 53 55 54 56 // get selected atoms 55 std::vector<atom*> atoms= World::getInstance().getSelectedAtoms();56 ASSERT(atoms.size() != 0, "AnalysisDipoleAngularCorrelationAction() - not atoms selected.");57 std::vector<atom*> old_atom_selection = World::getInstance().getSelectedAtoms(); 58 std::vector<molecule*> old_molecule_selection = World::getInstance().getSelectedMolecules(); 57 59 58 60 // get current time step 59 61 const unsigned int oldtime = WorldTime::getTime(); 60 62 61 // obtain zero dipole orientation 63 // select atoms and obtain zero dipole orientation 64 Formula DipoleFormula(params.DipoleFormula); 62 65 World::getInstance().setTime(0); 63 std::map<atomId_t, Vector> ZeroVector = CalculateZeroAngularDipole(atoms); 66 World::getInstance().clearMoleculeSelection(); // TODO: This should be done in setTime or where molecules are re-done 67 World::getInstance().selectAllMolecules(MoleculeByFormula(DipoleFormula)); 68 std::vector<molecule *> molecules = World::getInstance().getSelectedMolecules(); 69 std::map<atomId_t, Vector> ZeroVector = CalculateZeroAngularDipole(molecules); 64 70 65 71 // go through each step of common trajectory of all atoms in set 72 World::getInstance().clearAtomSelection(); 73 World::getInstance().selectAllAtoms(AtomsByMoleculeSelection()); 74 std::vector<atom *> atoms = World::getInstance().getSelectedAtoms(); 66 75 range<size_t> timesteps = getMaximumTrajectoryBounds(atoms); 67 76 for (size_t step = 0; step < timesteps.first; ++step) { 68 77 // calculate dipoles relative to zero orientation 69 78 DipoleAngularCorrelationMap *correlationmap = NULL; 70 correlationmap = DipoleAngularCorrelation( atoms, step, ZeroVector, DontResetTime);79 correlationmap = DipoleAngularCorrelation(DipoleFormula, step, ZeroVector, DontResetTime); 71 80 72 81 // prepare step string in filename … … 102 111 World::getInstance().setTime(oldtime); 103 112 113 // reset to old selections 114 World::getInstance().clearAtomSelection(); 115 BOOST_FOREACH(atom *_atom, old_atom_selection) { 116 World::getInstance().selectAtom(_atom); 117 } 118 World::getInstance().clearMoleculeSelection(); 119 BOOST_FOREACH(molecule *_mol, old_molecule_selection) { 120 World::getInstance().selectMolecule(_mol); 121 } 122 104 123 // exit 105 124 return Action::success; -
src/Actions/AnalysisAction/DipoleAngularCorrelationAction.def
r505d05 re65878 13 13 // ValueStorage by the token "Z" -> first column: int, Z, "Z" 14 14 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value 15 #define paramtypes ( double)(double)(double)(boost::filesystem::path)(boost::filesystem::path)(bool)16 #define paramreferences ( BinStart)(BinWidth)(BinEnd)(outputname)(binoutputname)(periodic)17 #define paramtokens (" bin-start")("bin-width")("bin-end")("output-file")("bin-output-file")("periodic")18 #define paramdescriptions (" start of the first bin")("width of the bins")("start of the last bin")("name of the output file")("name of the bin output file")("system is constraint to periodic boundary conditions")19 #define paramdefaults (NODEFAULT)( "0.5")(NODEFAULT)(NODEFAULT)(NODEFAULT)("0")15 #define paramtypes (std::string)(double)(double)(double)(boost::filesystem::path)(boost::filesystem::path)(bool) 16 #define paramreferences (DipoleFormula)(BinStart)(BinWidth)(BinEnd)(outputname)(binoutputname)(periodic) 17 #define paramtokens ("dipole-angular-correlation")("bin-start")("bin-width")("bin-end")("output-file")("bin-output-file")("periodic") 18 #define paramdescriptions ("formula of molecules to calculate dipole of")("start of the first bin")("width of the bins")("start of the last bin")("name of the output file")("name of the bin output file")("system is constraint to periodic boundary conditions") 19 #define paramdefaults (NODEFAULT)(NODEFAULT)("0.5")(NODEFAULT)(NODEFAULT)(NODEFAULT)("0") 20 20 21 21 // some defines for all the names, you may use ACTION, STATE and PARAMS
Note:
See TracChangeset
for help on using the changeset viewer.