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 a52809690c9890d164d5adc3ef4d68858467ab28 (commit) - Log ----------------------------------------------------------------- commit a52809690c9890d164d5adc3ef4d68858467ab28 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 9ab371329d441d507e00d0c773014931fe53b885 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 96933e4ad0480d6ddaf091cbce3b8cb91f40c1de 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. commit 6e337eb825b876f15cc017c5dcf42c94887e2fa9 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 a357d48348d4ab1d33a547aab851e7359e69938d 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. commit 5f27b80e1272989f1469d28a8070bee26389887f 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. commit fc4dabdabaf006cde45e260bd144ed916ae7f46f Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jul 14 22:05:51 2014 +0200 FIX: Determining angle with respect to oldCenter and not projecting anymore. commit ea7f2eaa785c39824664a05fd0199bbca9cab600 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jul 3 19:17:04 2014 +0200 SphericalPointDistribution is now working with bond degree weights. - 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. commit 068d6a98b2561de75096cf2feed70f5d0b6e36e6 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jun 30 11:35:42 2014 +0200 recurseMatching() now works on IndexTupleList_t. - also rewrote calculatePairwiseDistances() and calculateErrorOfMatching(). commit 01d1633822d8cf611db8239ca8d7759695d34683 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 f393a74764cc237b373b2caa50517d264dc46104 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. commit 6e11107f520a25d7c65dc2bb8ab091d6ae6cba4f 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 ... commit ce742321b59c93c48416d09bdbfcc0ac82112e70 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. commit bc0815d2311f08d93cf2cd6a74281fa4251c9675 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Tue Jun 24 18:39:55 2014 +0200 tempcommit: All scripts in tests/Fragmentation added again. commit 7caa296033203e0ac6dce304e3fd5f588a3d72e3 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. commit 34505299858705efb0f0d5d29fe36ef9793b890d Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:18:40 2014 +0200 Added "arbitrary" rotation for matchSphericalPointDistributionsTest_2(). commit fffe3d9d682aa1a71f7e64e41dbbfce0b8846b51 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). commit d39cacc2fb69b8333e8b9e3d44e4d26c9af7e51e Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:16:26 2014 +0200 Implemented rotations via boost::quaternions. commit a71e9c34405db0e33eb012c59603e7ebd1f61167 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 46283ef58a03365c84f8451c3e28c22740a59f2d 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. - marked again all tests/Fragmentation scripts as XFAIL. commit 0ea2467a134cd024391378d0822d5616fd2c62a4 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 tests/Fragmentation scripts again. commit 96cfd10ca1ad1afe57b367af92101e285a75a964 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Fri May 30 15:06:25 2014 +0200 Added Logging to SphericalPointDistribution for debugging. commit 8348951687390019138052fe80e6d2e15bf1c4cd 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 a3056142c29a56af99e8ff8b65a9fc68f9f57253 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. - temporarily removed all tests/Fragmentation tests. commit c73a121fefefd0d827f2a8beb5bd4f0d28f226c2 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 20:15:26 2014 +0200 Added unit tests for SphericalPointDistribution. commit 8a2639e9fff134196a43c8ce7569584f16562884 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. commit 5870b5b1e66a76563dc034aadaaa4d645c9e83be 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 f46c4387ed4849a2b2ae189e31827a153fa65106 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 7414e5cd0fca8a4cfe755a3eb9423ccb6305b9db 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 ecf5333632140eaeb22aace2f2d10ca995c42ccd 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 65ce6501b46bf096e98a8dc363380b58c7ded4f4 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 33ea47fd820fb196d78a4545693e1273162c671c 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 e99d4f93951ff55ad8224cfa179c4804b375aeab 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 6f7f656a890de97442f4f63e64f6f086cfb6b8d9 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 84ea50df3e76dd78b71cbe859592887c56f81818 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 efeb2665aeeeb24d3497611030d993afc6a686c2 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 8c4fc3cf00fdeddea494c6eb9a3d6c86cb750ea7 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