[SCM] MoleCuilder branch findBestMatching_HigherBondDegrees created. v1.4.6-35-g74c4846
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MoleCuilder". The branch, findBestMatching_HigherBondDegrees has been created at 74c4846adeb2221e23f1677599fd7e537726cdf2 (commit) - Log ----------------------------------------------------------------- commit 74c4846adeb2221e23f1677599fd7e537726cdf2 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sat Jul 12 21:07:44 2014 +0200 recurseMatching() now takes connections into account. - matchSphericalPointDistribution() replaced by getRemainingPoints() as that describes what it does. match...() sounds symmetrical which the function is no longer as connection is associated with former _newpolygon. - SphericalPointDistribution now has internal points and adjacency, initialized by initSelf(). - findBestMatching() and getRemainingPoints() are no longer static functions. - all unit tests are working again, including the .._multiple() that tests for joint points due to bond degree greater than 1. - the huge case switch in SaturatedFragment::saturateAtom() now resides in initSelf(). commit 424744e3e644f5aeacf274e71e4528dac465b5d9 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sat Jul 12 18:19:46 2014 +0200 Removed all IsZero() checking and special cases for the triangle idea. commit d99741e38395b7ff4ad22813907b2d69aa74ecbe Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sat Jul 12 13:57:54 2014 +0200 Added getConnections() to SphericalPointDistribution. - we use tesselation in order to extract the connection information between nearest neighboring points from the BoundaryLines of the tesselation. The triangles are ideal as they assure that no point lies within a triangle, hence all these points may be safely combined. - functions reside in extra module as with get(). - added extensive unit tests. - TESTS: Removed XFAIL from SphericalPointDistributionUnitTest. commit 89a48b431dc2b06e1269a4ab4d444bc47f2f6156 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sat Jul 12 13:56:14 2014 +0200 Added new convenience library libMolecuilderTesselation. - we need this for getting the connection information between the nearest neighboring points on the sphere. commit 2056d8e9728853377fc1c7c26c1322fe2f9faa76 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jul 10 00:08:37 2014 +0200 Added calculation of center of minimum distance by bisection. - this will give us a unique a definite point independent of the (rotational) position of the point set on the unit sphere. - added unit test. commit e31d6162f4205d7cd5a9ef15371d2ebcacdae280 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Wed Jul 9 23:14:53 2014 +0200 Refactoring SphericalPointDistribution to combine point list and subset of indices. - added struct PolygonWithIndices. - TESTS: marked SphericalPointDistributionUnitTest as XFAIL. commit c13adf75d483a6cba35a02e6844ac140f65dff9b Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jun 30 11:35:42 2014 +0200 SphericalPointDistribution is now working with bond degree weights. - recurseMatching() now works on IndexTupleList_t. - also rewrote calculatePairwiseDistances() and calculateErrorOfMatching(). - L1THRESHOLD in recurseMatching() moved over to class body. - increased verbosity level of ...Matching() functions by one, added note on eventually chosen matching and why. - we assert that bestL2 is not too large. - FIX: calculateErrorOfMatching() did not use absolute value of gap for L1 error. - TESTS: Regresssion test FragmentMolecule-cycles working again. commit 7fb05b0f286d0e6547b2e9b3952075af4ca1185b Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sun Jun 29 23:20:49 2014 +0200 Extracted joinPoints() function to make it accessible to tests. - added unit test. - moved some function definitions around and added documentation. commit ebe0d1969ee9703650e8a896e779d0f0a2ce1b60 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sun Jun 29 20:02:32 2014 +0200 Extended SphericalPointDistribution::Polygon_t to WeightedPolygon_t. - contains additionally the weights from the already present points. - in order to deal sensibly with present bonds of higher degree (>1) that shift neighboring occupied orbitals even further away, we additionally pass on the bond degree. This indicates how many points of the N points have to be accumulated for this on present bond. - TESTS: Regression test FragmentMolecule-cylces failing for the moment. commit aab590c67f29ff07b8a028477c2b48a6217c7727 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Tue Jun 24 18:39:55 2014 +0200 tempcommit: Removed skipping of scripts in tests/Fragmentation again. commit bab2632197ed02c9a56f56aab6c56481f23fec62 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 12 09:23:12 2014 +0200 Using the idea of three points giving a triangle to find rotation axis. - we calculate the center of either triangle and rotate the center of the ideal point distribution to match the one from the given points. - next we have the triangles normals as axis, take the first matching point and rotate align it. - we have to deal with a lot of special cases: What if only zero, one, or two points are given ... - in general we assume that the triangle lies relatively flat on the sphere's surface but what if the origin is in the triangle plane or even the calculated center is at the origin ... - TESTS: SphericalPointDistributionUnitTest working again, regression tests FragmentMolecule-cylces and StoreSaturatedFragment working. commit 7394e32f76d37ff35939c289494f79c1f40a7cc8 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:58:13 2014 +0200 Extended SphericalPointDistributionUnitTest to two and three matching points for all functions. - marked test as XFAIL for the moment. commit 61948b3ea29f85bd0eac1b9ef6623487c3362ba3 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:42:39 2014 +0200 Dropped quaternion rotation for simple arbitrary rotation axis and angle. - with newCenter, oldCenter and the cross product we have all we need: a rotation axis and an angle. We don't need to burden ourselves with those stupid, absolutely not working quaternions. - removeMatchingPoints() now works on an array. - Orientation rotation was wrong way round, added check. - TESTFIX: removed QuaternionTest from SphericalPointDistributionTest, marked FragmentMolecule-cycle and StoreSaturatedFragment regression tests as XFAIL. commit 6e6ac8887bcd442e8f99f5617bccb5cb993b45d9 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:18:40 2014 +0200 Added "arbitrary" rotation for matchSphericalPointDistributionsTest_2(). commit 58074bd81bc53778839be4e389dfca6e6a08fd41 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:17:10 2014 +0200 Adding QuaternionTest for SphericalPointDistributionUnitTest, fixed tests. - just first two components get flipped when first point is at (0,1,0). - removed XFAIL from FragmentMolecule and StoreSaturatedFragment regression tests. commit d887b9a8e45b626ce32175d07592cc0a2c84e05e Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:16:26 2014 +0200 Implemented rotations via boost::quaternions. commit 0f99c00acc8e10b6a3fdc43633148d8f96c156d7 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Wed Jun 4 13:23:31 2014 +0200 Added more unit test functions up to N=8 to SphericalPointDistributionUnitTest. - marked unit test as XFAIL. commit 2e2ab4c0c5db85d7d08340d6a9757b60dc8d2fa8 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Wed Jun 4 13:22:49 2014 +0200 Fixes to SaturatedFragment::saturateFragment(). - properly setting up the number of points and the "old" polygon. - properly filling in the hydrogen atoms at the calculated places. - We have the number of remaining bonds plus the rest. The rest is the valence minus the number of remaining bonds each weighted with its degree. This gives the right number of places to put hydrogens and fill up the valence. - TESTS: Removed XFAIL from FragmentMolecule cycles regression test. commit 9a970729e39cd12d20109261c377a9875f9b8d7b Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jun 2 16:51:33 2014 +0200 FIX: SphericalPointDistribution succeeds with unit test. - removed XFAIL from FragmentationAutomation regression tests. commit 30cd476821124282d0339ca217f42b31781a4a2e Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Fri May 30 15:06:25 2014 +0200 Added Logging to SphericalPointDistribution for debugging. commit 8be52eb93e07efad5c321af8f08069a6eb6e34b6 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Fri May 30 15:31:15 2014 +0200 Moved all code from header of SphericalPointDistribution into cpp module. commit 43cef5bdab8a49793e3bf2ab01a351923606c17f Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 20:15:49 2014 +0200 SphericalPointDistribution now has full functionality. - we look for a best matching between present points and desired ideal configuration, we rotate for alignment and fill all remaining vacant points with hydrogens. - TESTS: temporarily skipping all Fragmentation regression tests, FragmentationAutomation regression tests marked as XFAIL. commit fce8c1345985e3a228b3386a565613e2b279b057 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 20:15:26 2014 +0200 Added unit tests for SphericalPointDistribution. commit 1078546931ea95529f87659dbd77106c65322055 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 13:29:27 2014 +0200 Reimplemented SaturatedFragment::saturateAtom() and added ::setHydrogenReplacement(). - this is now based on an ideal distribution of electrons around an atom via the VSPER model which we match as closely as possible with the still bound neighboring atoms and fill all remaining vacant spots with hydrogens. - SaturatedFragment sets father simply to the _given_ atom. - TEST: dimethyl_bromomalonate marked as XFAIL. commit 5e493c056cc54287b7bf9b6271f93fe8dc2ff945 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 13:29:03 2014 +0200 Added matchSphericalPointDistributions() to SphericalPointDistribution. - so far we do nothing. commit b1f0cd777ea2c2da39e74352ad4ef59f3f95c8fc Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 13:11:39 2014 +0200 Added SphericalPointDistribution for points on spherical surface according to VSEPR. - this is taken from CreateVspeShape.py from Christian Neuen. commit d1a9684753cced0c8a32d168f5d719269ee83636 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 12:00:26 2014 +0200 Added SaturateFragment()::saturateAtom() replacing all cut bonds at once. - so far, we have just outsourced the loop over each cut bond into this function. commit 29dc30eb0a9af60e3d5d95705c3dc27681e79ec1 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 12:30:49 2014 +0200 FIX: BondedParticleInfo::BondList is now a typedef. - removed the define. commit 82627213ad32b651ea7dd756756f310db41361bc Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 11:55:28 2014 +0200 Refactored SaturatedFragment::saturate() using list of cut bonds. - this is preparatory for replacing AddHydrogenReplacementAtom(). commit 9ab2fb34a97f30798bf58a15dabc522338530163 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Aug 26 21:53:59 2013 +0200 SaturatedFragment::AddHydrogenReplacementAtom() uses degree 1 if other is missing. commit ca38704916242f977db4bf7c96bb0adea7dd0593 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Aug 26 21:49:32 2013 +0200 Removed molecule::AddHydrogenReplacement() and BreadthFirstSearchAdd. - this capability has been transfered to SaturatedFragment, and BFSAdd has not been used for a long, long time. commit 030ede0ba59a8d3ccca23d71162da9db37656473 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jul 10 19:06:56 2014 +0200 Vector::Is...() functions extended for numeric threshold. - if none given we use LINALG_MYEPSILON(), otherwise given to function. - this allows for rounding-sensible IsEqualTo() checking and more. commit 73fa9ef7159349c386272c868091c9cbd2df9ffa Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jul 3 19:13:39 2014 +0200 FIX: Plane's cstor did not check for linear dependence in a numerical stable way. - we check with NormSquared() and we use Projection() instead of Angle() to check whether vectors are linear dependent. commit 0fa470da645ae2613038cd51107035cf812961a2 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Fri Jun 13 13:22:14 2014 +0200 FIX: VectorContent::Normalize() did not check for zero factor. commit 54705ccefd926c54e18d97c6ac2433c15a322695 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jun 23 20:00:48 2014 +0200 FIX: CodePatterns_LIBS was introduced in AM_LDFLAGS and not in LIBS. - this might have caused problems with libtool not correctly noting down this lib as a dependency. ----------------------------------------------------------------------- hooks/post-receive -- MoleCuilder
participants (1)
-
git@ins.uni-bonn.de