- Timestamp:
- Sep 12, 2016, 11:48:34 PM (9 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_StructOpt_integration_tests, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, Candidate_v1.7.0, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, 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_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, GeometryObjects, Gui_displays_atomic_force_velocity, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, Ubuntu_1604_changes, stable
- Children:
- 2199c2
- Parents:
- 158ecb
- git-author:
- Frederik Heber <heber@…> (06/12/14 07:23:12)
- git-committer:
- Frederik Heber <heber@…> (09/12/16 23:48:34)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Fragmentation/Exporters/SphericalPointDistribution.hpp
r158ecb rb67d89 77 77 //!> precalculated value for root of 3 78 78 static const double SQRT_3; 79 80 typedef std::pair<Vector, double> Rotation_t; 81 82 typedef std::list<unsigned int> IndexList_t; 83 typedef std::vector<unsigned int> IndexArray_t; 84 typedef std::vector<Vector> VectorArray_t; 85 86 //!> amplitude up to which deviations in checks of rotations are tolerated 87 static const double warn_amplitude; 88 89 private: 90 static std::pair<double, double> calculateErrorOfMatching( 91 const std::vector<Vector> &_old, 92 const std::vector<Vector> &_new, 93 const IndexList_t &_Matching); 94 95 static Polygon_t removeMatchingPoints( 96 const VectorArray_t &_points, 97 const IndexList_t &_matchingindices 98 ); 99 100 struct MatchingControlStructure { 101 bool foundflag; 102 double bestL2; 103 IndexList_t bestmatching; 104 VectorArray_t oldpoints; 105 VectorArray_t newpoints; 106 }; 107 108 static void recurseMatchings( 109 MatchingControlStructure &_MCS, 110 IndexList_t &_matching, 111 IndexList_t _indices, 112 unsigned int _matchingsize); 113 114 static IndexList_t findBestMatching( 115 const Polygon_t &_polygon, 116 const Polygon_t &_newpolygon 117 ); 118 119 static Rotation_t findPlaneAligningRotation( 120 const VectorArray_t &_referencepositions, 121 const VectorArray_t &_currentpositions, 122 const IndexList_t &_bestmatching 123 ); 124 125 static Rotation_t findPointAligningRotation( 126 const VectorArray_t &remainingold, 127 const VectorArray_t &remainingnew, 128 const IndexList_t &_bestmatching); 129 79 130 }; 80 131
Note:
See TracChangeset
for help on using the changeset viewer.
