From git at ins.uni-bonn.de Mon May 26 14:15:45 2014 From: git at ins.uni-bonn.de (git repository hosting) Date: Mon, 26 May 2014 14:15:45 +0200 (CEST) Subject: [Molecuilder-devel] [SCM] MoleCuilder branch stable deleted. v1.4.3-50-gd0ab01c Message-ID: <20140526121545.0682510000FA@jupiter.ins.uni-bonn.de> 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, stable has been deleted was d0ab01c6a054fe46c8e7bca81e43ce730cbfce1b ----------------------------------------------------------------------- d0ab01c6a054fe46c8e7bca81e43ce730cbfce1b XmlParser::load() now gives each different charge a different element. ----------------------------------------------------------------------- hooks/post-receive -- MoleCuilder From git at ins.uni-bonn.de Mon May 26 14:16:11 2014 From: git at ins.uni-bonn.de (git repository hosting) Date: Mon, 26 May 2014 14:16:11 +0200 (CEST) Subject: [Molecuilder-devel] [SCM] MoleCuilder annotated tag v1.4.4 created. v1.4.4 Message-ID: <20140526121611.D0D7F10000FA@jupiter.ins.uni-bonn.de> 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 annotated tag, v1.4.4 has been created at de72dca981dc145dd9ccc550cad6227fb89c6ead (tag) tagging 5a2d986e91cb234cc443e56577928ffc34be1b35 (commit) replaces v1.4.3 tagged by Frederik Heber on Wed Mar 5 20:47:50 2014 +0100 - Log ----------------------------------------------------------------- Several preparatory steps for introducing action-executing thread. Fixes to QtFragmentList. Homologies and hence potentials are plotted inside extra widget. Fixes to fragmentation with respect to cycles and long-range. This version contains the following branches: 5a2d986 Fixes_v1.4.4 (dist fix, other fixes, and version) b47f9c1 Fixes_LongRange_Open (fix to open boundary conditions grid preparation) 92f978c Fix_StoreLoadSession_Regression (fix to regression test) d29b31c Fragmentation_LongRangeLevelOne (change to print long-range energy at level 1 although still nonsense) 174f8b8 Fragmentation_ResultPerIndexset (Output of energy contributions per index set) f58e56c Fragmentation_FullCycles (Hack to allow treating cycles always as full) b677ab5 PlotablePotentials (Added plotting via qwt to QtHomologyList) a8f5d94 PlotableHomologies (QtHomologyList has extra widget) d20ded7 QtFragmentList (List of all current fragments in Qt gui) c792e0b Fixes_UI (several fixes and enhancements to Qt gui) 07414d7 IndependentUI_Fixes (No more pointers in the UI contect) c606650 QtUI_ThreadPreparation (Changes to Qt components to prepare them for action thread) Frederik Heber (53): FIX: GLWorldScene and GLWorldView have atomRemoved with id not atom ptr. QtStatusBar::updateProcess() replaced by signal/slot mechanism. FIX: Using signal/slots to notify other thread of new or removed shapes. Changed atom ptr into atomicId_t param for atomInserted of GLWorld... classes. FIX: GLMoleculeObject_atom just stores the atom's id, now ptr. Rewrote Observer structure of GLMoleculeObject_bond. Changed atom ptr into atomicId_t param for atomInserted of GLWorld... classes. Qt's labels now show description as tool text. FIX: QtTimeLine was not notified of TimeChanged of WorldTime. FIX: StringQtQuery did not use default value. FIX: FitPotentialAction did not check whether potential already exists. QtInfoBox shows name of atom. Added enable/disable for DreiBein and domain box. FIX: QTimeLine does not grow vertically anymore. Added molecuilder logo to QApplication. FragmentResultContainer is Observable and displayed by QtFragmentList. QtHomologyList is now a split with QTreeWidget and another widget. Extracted all length,angle, ... function inside potentials into functors. Added CoordinatorFactory that returns the correct Coordinator for a given graph. Added getCoordinator() to EmpiricalPotential interface. Added check for qwt. Added many files from project Seismolo. Made models of CompoundPotential const_iterable. QtHomologyList also observes PotentialRegistry. Added QSeisPlotPage to QtHomologyList. FIX: GraphNode's operator<<() omitted commata between components. FIX: CyclicStructureAnalysis did not work correctly. Added option DoCyclesFull to FragmentationAction. FragmentationAction stores cycles to file and in FragmentationResultContainer. FIX: Histogram::superposeOtherHistogram() could not deal with empty bins. createMatrixNrLookup now requires a ValueMask. Added (in)equality operators to all SetValues. SetValue treats ZeroInstance as value special. (Orthogonal)Summator are notified via out-of-range matrixnr to omit contribution. AnalyseFragmentationResultsAction now also calculates and prints cycle correction. Extracted cycle contribution calculation into distinct function. Writing out energy file with value and contribution per index set Summed up results are now handed-over to FragmentationResultContainer by AnalyseFragmentationResultsAction. Added ClearFragmentationResultsAction. Extending QtFragmentList to show value and contribution of summed results. FIX: CyclicStructureAnalysis::InitializeToRoot() did not reset some internals lists. Split regression test on analysing long range results into OBC and PBC type. Longrange energy is now also calculated for level 1. FIX: store-.. and load-session regression tests were skipped on wrong case. Cut down verbosity of SpecificFragmentController with CodePatterns::Info changes. FIX: WindowGrid_converter::addWindowOntoGrid() never used OpenBoundaryConditions branch. DISTFIX: regression tests Options Sessions do not check correctly for python capability. DISTFIX: molecuilder_logo.png is contained, not molecuildergui.png. FIX: getSummedShortRangeResults() usage of typename incompatible with some gccs. DISTFIX: QwtPlotting had extra _ in QWTHEADER declaration. DISTFIX: libMolecuilderFragmentationAutomation.la was included without CONDJOBMARKET. FIX: Some python commands with default values threw asserts. Set version to 1.4.4. ----------------------------------------------------------------------- hooks/post-receive -- MoleCuilder From git at ins.uni-bonn.de Mon May 26 14:16:04 2014 From: git at ins.uni-bonn.de (git repository hosting) Date: Mon, 26 May 2014 14:16:04 +0200 (CEST) Subject: [Molecuilder-devel] [SCM] MoleCuilder branch stable created. v1.4.3-53-g5a2d986 Message-ID: <20140526121604.E643E10000FA@jupiter.ins.uni-bonn.de> 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, stable has been created at 5a2d986e91cb234cc443e56577928ffc34be1b35 (commit) - Log ----------------------------------------------------------------- commit 5a2d986e91cb234cc443e56577928ffc34be1b35 Author: Frederik Heber Date: Sun Sep 29 13:44:11 2013 +0200 Set version to 1.4.4. - MoleCuilder library is now 13:2:1. - Codename "Gross" ([LOTR,ch.1]: "...Together we score one-hundred and forty-four...: One Gross, if I may use the expression."). commit afbbfeb503903b1b9c5d9d837422eba4ef9792d7 Author: Frederik Heber Date: Wed Mar 5 20:46:05 2014 +0100 FIX: Some python commands with default values threw asserts. - converted ASSERTs into returning Action::failure in - DipoleAngularCorrelationAction - CenterOnEdgeAction - modified some default values for - AddEmptyBoundary - AtomChangeElementAction - RotateToPrincipalAxisSystem commit cb32aab2de7e9f46174ea0a3594bbd1fd46140eb Author: Frederik Heber Date: Tue Mar 4 23:47:03 2014 +0100 DISTFIX: libMolecuilderFragmentationAutomation.la was included without CONDJOBMARKET. - this lead to a stub library file being present and not getting cleaned during distclean. commit 6497a3b46bbce29de08e64d0f941160659632509 Author: Frederik Heber Date: Tue Mar 4 20:05:08 2014 +0100 DISTFIX: QwtPlotting had extra _ in QWTHEADER declaration. - this prevented distribution of headers. commit eddab7632c72ecae12f102c1ef788e1d5ce92721 Author: Frederik Heber Date: Mon Mar 3 14:52:28 2014 +0100 FIX: getSummedShortRangeResults() usage of typename incompatible with some gccs. - gcc 4.6.3 does not admonish, while gcc 4.4.3 does. Placed the iterator into the typedef to circumvent. commit 7f39de1411749be0d9c1a202757a9afa08cda1bc Author: Frederik Heber Date: Wed Feb 26 21:44:17 2014 +0100 DISTFIX: molecuilder_logo.png is contained, not molecuildergui.png. commit 5e14433094bd612ca13a2fb09e753c2c90938651 Author: Frederik Heber Date: Sun Oct 20 19:53:33 2013 +0200 DISTFIX: regression tests Options Sessions do not check correctly for python capability. commit b47f9c1723a19110e2f99afba3fa1c8eed07966b Author: Frederik Heber Date: Tue Oct 15 15:41:44 2013 +0200 FIX: WindowGrid_converter::addWindowOntoGrid() never used OpenBoundaryConditions branch. - We did not use the parameter, it always fell back to default (false). - open boundary conditions use one extra grid point right-hand-side layer to account Dirichlet boundary conditions. This has to be skipped when filling the grid. - density looks sensible in both cases, in open boundary case neither electron nor nuclei longrange show any (significant) box size dependency. commit e0cf82913fd469d89bc7520beb9d6f66b911fc92 Author: Frederik Heber Date: Tue Oct 15 15:40:49 2013 +0200 Cut down verbosity of SpecificFragmentController with CodePatterns::Info changes. commit 92f978cdee147fc163e1b3706466510779c7ca26 Author: Frederik Heber Date: Thu Sep 26 01:23:07 2013 +0200 FIX: store-.. and load-session regression tests were skipped on wrong case. commit d29b31ccb5142b32a4a59663f9d5e6d235af2061 Author: Frederik Heber Date: Sat Oct 5 15:31:14 2013 +0200 Longrange energy is now also calculated for level 1. - level 1 sum is incorrect within a molecule but correct between molecules. - TESTFIX: both analysing long range results required new ..LongRangeResults.dat as level 1 full_potential is missing for new summation. - TESTFIX: note that only change in O/PBC's .._LongRangeEnergy.dat is additional line for level 1. All other values are exactly the same as must be expected. (and .._Times.dat required replacement, too) commit 6531a742da8c394a1d0ad37b8971810903fcaa81 Author: Frederik Heber Date: Mon Oct 7 10:05:58 2013 +0200 Split regression test on analysing long range results into OBC and PBC type. - TESTFIX: Exchanged OBC long range results file, too, as mpqc and calculated substantially changed.. and makes more sense now, e.g. mixed contribution now has opposite sign w.r.t to nuclei and electron parts. - this is preparatory for upcoming change to level 1 summation. commit 9583126d552a498ec6a0147ae02647de07721eef Author: Frederik Heber Date: Sat Oct 5 15:03:03 2013 +0200 FIX: CyclicStructureAnalysis::InitializeToRoot() did not reset some internals lists. - ColorList, ShortestPathList, PredecessorList are just temporary for a single cycle. Hence, must be reset before re-use. commit 174f8b886e9257fccf80b5a287ee4e1245f4d904 Author: Frederik Heber Date: Sat Sep 28 11:20:46 2013 +0200 Extending QtFragmentList to show value and contribution of summed results. - Fixed selection in QtFragmentList, allowing multi selection. commit 16893fd85d85ee4277ce29485e83a7aa2cc43533 Author: Frederik Heber Date: Sat Sep 28 12:50:13 2013 +0200 Added ClearFragmentationResultsAction. - As we retain summed results on FragmentationResultContainer we must not clear the container after analysis. commit c8d13f55d9d5c1539f427f0da8fce3b2b2cf5d1a Author: Frederik Heber Date: Sat Sep 28 11:35:15 2013 +0200 Summed up results are now handed-over to FragmentationResultContainer by AnalyseFragmentationResultsAction. - we do not use fusion::maps here but write out real maps with IndexSet::ptr to MPQCData (but we fill in only energy_t.total so far). - TESTFIX: index was not written and tab/newline-hiccup in .._IndexedEnergy.dat commit 47cee77c416ae305ae2648bbac752afcf74f0537 Author: Frederik Heber Date: Sat Sep 28 11:07:50 2013 +0200 Writing out energy file with value and contribution per index set - placed in printReceivedShortResultsPerIndex(). - added writeIndexedTable which writes per indexset not per level. - HeaderPrinter is not initialized with some string anymore. - ValuePrinter does not write the level anymore. - these are now done in write(Indexed)Table. - TESTFIX: Added BondFragment_IndexedEnergy.dat diff to regression tests. commit f58e56c6f4415dc222f59f2f5d6188b773464ecb Author: Frederik Heber Date: Sun Sep 29 11:45:35 2013 +0200 Extracted cycle contribution calculation into distinct function. commit 0588e9997198820786bc31f4c69ab48e55ac174a Author: Frederik Heber Date: Thu Sep 26 18:19:05 2013 +0200 AnalyseFragmentationResultsAction now also calculates and prints cycle correction. - we calculate the energy with and without determined cycles per level and print each energy. - we make use of the ValueMask for this. - new parameter fragment-prefix allows specifying a file containg the cycle keysets. - added regression test for FragmentMolecule's DoCyclesFull. commit 675cd611bd03a5b8b2837d1811ebb901240fc57e Author: Frederik Heber Date: Thu Sep 26 18:17:15 2013 +0200 (Orthogonal)Summator are notified via out-of-range matrixnr to omit contribution. - (Orthogonal)Summator uses ZeroInstance as default value and sets the value only when given matrixnr from lookup is within range. - this is preparatory for masking certain fragment results in the summation process. commit 58952a771e02f3b934ce6a415b068d48ac6313aa Author: Frederik Heber Date: Fri Sep 27 13:26:56 2013 +0200 SetValue treats ZeroInstance as value special. - ZeroInstance in value indicates omit contribution in summation. commit 9550514beebd8db71e4dd818ff1f2fcaf82aeb6f Author: Frederik Heber Date: Fri Sep 27 13:25:35 2013 +0200 Added (in)equality operators to all SetValues. - only Fragment and SamplingGridProperties had one so far. - added serialization tests to SamplingGrid(Properties). - all are tested by unit test functions. - added EigenvaluesUnitTest. - FIX: SamplingGrid::get..GridPoint() did not check bounds with numerical rounding in mind, did fail when begin was not set to origin. - FIX: SamplingGridUnitTest failed an assert because of given level did not match number of values. commit e0ae58d2284a52b479b4bafd7533855451f64a6c Author: Frederik Heber Date: Thu Sep 26 18:17:59 2013 +0200 createMatrixNrLookup now requires a ValueMask. - adapted all Fragmentation..Results accordingly. - FragmentationShortRangeResults' cstor now allows passing this ValueMask. commit 7d507c5ecb83082b5c68df5d5fdc343d8b05e552 Author: Frederik Heber Date: Fri Sep 27 14:58:04 2013 +0200 FIX: Histogram::superposeOtherHistogram() could not deal with empty bins. - also fixed verbosity lag of printing bins after summation. commit adb51abe8381f73dfe0d1c99111da5cdf35fc8eb Author: Frederik Heber Date: Thu Sep 26 12:47:57 2013 +0200 FragmentationAction stores cycles to file and in FragmentationResultContainer. - added FragmentationResultContainer::addCycles() to add cycle keysets to the present cycle-specific KeySetsContainer. These must be given as KeySetsContainer to avoid dependencing on libMolecuilderFragmentation.so which vector would trigger. - added CYCLEKEYSETFILE with default file name commit fe0cb8fc308970199e49364f8b08a147fe05200f Author: Frederik Heber Date: Wed Sep 25 10:49:20 2013 +0200 Added option DoCyclesFull to FragmentationAction. - FIX: Fragmentation::Fragmentation() has no need for a ref to DFS anymore. - DFS in FragmentationAction is now used for Cycle detection only. - CyclicStructureAnalysis::RetrieveCycleMembers() also fills internal vector with all found cycles (as KeySet's), with a getter. commit 8dbcafdbf694a42e92d2e08e97d4aa979751714d Author: Frederik Heber Date: Tue Sep 24 14:32:02 2013 +0200 FIX: CyclicStructureAnalysis did not work correctly. - many errors with local variables that probably should have been in the class. - we use OtherAtom in subsequent RetrieveCycleMembers() but we have not given CyclicBFSFromRootToRoot() its ref. - the idea now is to use first get all cycles (CyclicBFSFromRootToRoot(). RetrieveCycleMembers()) and then to assign all remaining atoms via AssignRingSizetoNonCycleMembers() with BFSToNextCycle() where we make use of locality property of BFS. commit fb9f6d8c6e2f0362287b7c20b8f7678c84e2d2d2 Author: Frederik Heber Date: Tue Sep 24 13:15:44 2013 +0200 FIX: GraphNode's operator<<() omitted commata between components. commit b677ab5201194a0236fb05cf30291c0d3fd0bd89 Author: Frederik Heber Date: Wed Sep 4 23:20:34 2013 +0200 Added QSeisPlotPage to QtHomologyList. - spawning QSeisPlotCurves in QtHomologyList::refill() if homologies are present. - selected QSeisPlotCurve is plotted. - xy values are sorted (required by QSeisData). commit f0964cb5f2f053c3e0aed176849d832df3814314 Author: Frederik Heber Date: Sat Sep 7 17:10:08 2013 +0200 QtHomologyList also observes PotentialRegistry. - PotentialRegistry is now an Observable, updating when instances (un)register. commit 4b2e05a891dfcc949adc242001c9b83c1af86927 Author: Frederik Heber Date: Wed Sep 4 21:25:59 2013 +0200 Made models of CompoundPotential const_iterable. commit 35302b57b5c489d9535c30527e3c33675ec2acb6 Author: Frederik Heber Date: Wed Sep 4 16:43:49 2013 +0200 Added many files from project Seismolo. - we either had the choice to carry in another dependency and to rework the project seismolo as to make it usable as a library ... or simply take the files we need and make some direkt adaptations. - FIX: qglobal.h has macro foreach which interferes with boost's foreach. See http://stackoverflow.com/questions/15191361/boostq-foreach-has-not-been-declared - FIX: Moved boost::property_tree before MemDebug due to placement new. commit c76b8b73d78779880ae8c7b214535ac9dcc19e0c Author: Frederik Heber Date: Wed Sep 4 16:35:59 2013 +0200 Added check for qwt. - this is taken from the SIM project, i.e. bitbucket.org/Coin3D/simacros. - added am_conditional CONDQWT used in UIElements/Makefile.am. - added disable/enable for qwt. commit 94453f1a30a1e87e4b6a580cfe53d63156741dd8 Author: Frederik Heber Date: Tue Sep 3 12:19:31 2013 +0200 Added getCoordinator() to EmpiricalPotential interface. - implemented with all specific potentials. commit 4e6a60fc96fe69cb1ca62739ca2e2c09255a4b0c Author: Frederik Heber Date: Tue Sep 3 11:55:47 2013 +0200 Added CoordinatorFactory that returns the correct Coordinator for a given graph. - extended HomologyGraph interface by getter for nodes and edges. - CoordinatorFactory::create() decides by number of nodes and connected_edges which coordinator to return. commit 291eca26ed6131cb07a91646a2f248745866d657 Author: Frederik Heber Date: Sat Oct 5 11:25:14 2013 +0200 Extracted all length,angle, ... function inside potentials into functors. - all implement Coordinator interface for later factory pattern. commit a8f5d94d574c2af4728a0591771b9b500bc3e6c9 Author: Frederik Heber Date: Tue Sep 3 10:11:56 2013 +0200 QtHomologyList is now a split with QTreeWidget and another widget. commit d20ded7412ff5458245e32f83417cae5ab4a04c9 Author: Frederik Heber Date: Tue Sep 3 09:49:02 2013 +0200 FragmentResultContainer is Observable and displayed by QtFragmentList. - FIX: loop never entered in QtFragmentList::rowSelected(). commit c792e0b77a078d009c7339990afeeb01b61b3d9e Author: Frederik Heber Date: Wed Oct 2 16:31:43 2013 +0200 Added molecuilder logo to QApplication. commit 76e224bcaf211e95a7190ddf3c04dfb04f75205b Author: Frederik Heber Date: Fri Sep 27 21:02:07 2013 +0200 FIX: QTimeLine does not grow vertically anymore. commit 592d424c248ebd056dba2c85f19192cbf58df164 Author: Frederik Heber Date: Fri Sep 27 21:45:07 2013 +0200 Added enable/disable for DreiBein and domain box. commit 5e4bfdf08ca3bdb845caf4c4db50bd68eb9be115 Author: Frederik Heber Date: Tue Sep 24 13:19:06 2013 +0200 QtInfoBox shows name of atom. commit c34711ba0807ffc8bf996dd8a48c3c892ff543d6 Author: Frederik Heber Date: Sat Sep 7 15:33:42 2013 +0200 FIX: FitPotentialAction did not check whether potential already exists. commit 38112df10dbb19fc9ce3998edad0c4ece9592e92 Author: Frederik Heber Date: Sat Sep 7 14:44:56 2013 +0200 FIX: StringQtQuery did not use default value. commit 25ce49b5764c4c90bf74ce052de3d51495c44331 Author: Frederik Heber Date: Sat Sep 7 13:46:45 2013 +0200 FIX: QtTimeLine was not notified of TimeChanged of WorldTime. - hence, if some other code changes the time, the slider does not get updated. commit f130d4bfaa72247e3972474a6e9f5ca33463eaa8 Author: Frederik Heber Date: Fri Sep 6 17:36:56 2013 +0200 Qt's labels now show description as tool text. - had to streamline signature of all ..Dialogs. - changed Qt's Querys to set the tooltip from the now obtained description. commit 07414d75db53b92f61d9d0750366a0345e86940e Author: Frederik Heber Date: Tue Sep 3 09:39:17 2013 +0200 Changed atom ptr into atomicId_t param for atomInserted of GLWorld... classes. commit c606650feaa9bde232bfc4e765e72313fb562e6b Author: Frederik Heber Date: Thu Sep 5 09:27:00 2013 +0200 Rewrote Observer structure of GLMoleculeObject_bond. - renamed leftatom/rightatom to ...observable to clarify what they are used for, and we check whether either is still there before signing off. - we have three instances to take care of: bond, leftatom, rightatom. - we signOn to each Observable as well to get noticed via subjectKilled(). - we only use subjectKilled() where we signOff() from the other two and then from all Notifications. - GLWorldScene is informed via BondRemoved and actually deletes the GLMoleculeObject_bond instance. - we use booleans to indicate whether we are still connected and sign off via subjectKilled(), emitting BondRemoved, or in dstor, without emit. - we do not use BlockingQueuedConnection yet but as soon as threads are introcued. commit 9176598b2abdf3b63b4901d8c0078619f061e6fb Author: Frederik Heber Date: Thu Sep 5 09:07:45 2013 +0200 FIX: GLMoleculeObject_atom just stores the atom's id, now ptr. commit beadd01e38c8b43b7e036136cab8a85e047de252 Author: Frederik Heber Date: Tue Sep 3 09:39:17 2013 +0200 Changed atom ptr into atomicId_t param for atomInserted of GLWorld... classes. commit 8481f580f7eafc0b13e6e68cdf89b543f83e98aa Author: Frederik Heber Date: Sat Aug 31 03:54:14 2013 +0200 FIX: Using signal/slots to notify other thread of new or removed shapes. commit 426c84a415b29a155261d7224c8f698650cc6903 Author: Frederik Heber Date: Thu Aug 29 11:23:47 2013 +0200 QtStatusBar::updateProcess() replaced by signal/slot mechanism. - updateProcess() added QProgessBar() widgets which can only take place in main thread, but notify comes from ActionQueue's thread. Hence, we relay the information via signal/slot redrawProgressBar()/updateProgressBar() to main thread and instantiate there. commit c48ac1290c8158fe203be41e994bd8fa2178c69f Author: Frederik Heber Date: Thu Aug 29 10:19:44 2013 +0200 FIX: GLWorldScene and GLWorldView have atomRemoved with id not atom ptr. - this is safer as we only need the id for looking up the internal "visual" instance of the atom. As Qt uses multiple threads, we cannot safely assume the atom to be still intact. commit 33b8983dbbbc2c5af260fd0fd4709de6a47d21a4 Author: Frederik Heber Date: Wed Sep 18 13:06:25 2013 +0200 Set version to 1.4.3. - MoleCuilder library is now 13:2:0. - Codename "Bulli" (The license tag of my Volkswagen T3 Transporter, also known as Bulli, ends with A143). commit 1f86ae18d49f602a573385a845d293ed8c826710 Author: Frederik Heber Date: Sat Sep 21 10:58:04 2013 +0200 ENABLEFIX: load-session and store-session regression check for available python. commit 4d4cafa7f1c19b18da8be3dde454b789e92177e5 Author: Frederik Heber Date: Wed Sep 18 16:18:08 2013 +0200 DISTFIX: Did not delete csv files PartialNucleiChargeFitterUnitTest created. commit 27888fd60fedb9daf1311f4503c4ecb04ae30759 Author: Frederik Heber Date: Sat Aug 31 04:02:15 2013 +0200 Using Normals from tesselated surface instead of from Shapes. - getNormal() takes veeeery long with deeply nested Shape trees. - added Tesselation::getNormal() which uses TriangleIntersectionList. commit 00eda9da5503b663ee6b898ab261d17eab2c11a5 Author: Frederik Heber Date: Sat Aug 31 09:22:30 2013 +0200 Added ShapeFactory::isBaseShape() to discern between BaseShapes. - this is preparatory for using faster Tesselation::getNormal() in case of complex shapes. commit 192397f7c7c017c6f012ced671581ff383e40805 Author: Frederik Heber Date: Sat Aug 31 01:20:49 2013 +0200 Added new ShapeType molecule-surface. - uses getBoundingShape() of the first currently selected molecule. commit 87ec81f6e60598c7e8637c2750404253a7eca9cc Author: Frederik Heber Date: Wed Sep 18 01:16:06 2013 +0200 ShapeFactory removed from libMolecuilderShapes. - Factory is right now required only in CombineShapesAction and CreateShapeAction. Hence, it is moved over to libMolecuilder to keep ..Shapes a low-dependency lib. - ShapeRegistry::getDefaultNameForShape() now gets just string, ShapeFactory is queried in Actions for getShapeName() as baseName. - added stubs for World and molecule to ShapeFactoryUnitTest deps. commit d5521ec47036e20ef0dfe57aec18003d342c314b Author: Frederik Heber Date: Wed Sep 18 00:53:14 2013 +0200 FIX: Made most ShapeFactory member function const. commit aeb694227d3848882de4976f319b2eb7e6297cc4 Author: Frederik Heber Date: Sat Aug 31 01:18:46 2013 +0200 Added molecule::getBoundingShape() (renamed old to ...Sphere()). - renamed molecule::getBoundingShape() to molecule::getBoundingSphere(). - new molecule::getBoundingShape() creates vdW spheres around every atom. - for this to be any fast we require the Cacheable change for And and OrShapes. commit f06cbbd0ffb9f2476a37d5af669cdc32dd308a69 Author: Frederik Heber Date: Sat Aug 31 00:32:37 2013 +0200 AndShape and OrShape now use Cacheable to store center and radius once calculated. - otherwise we might have to traverse a huge tree all the time when actually the shape cannot change and hence a once determined center is always true. - getRadius() and getCenter() functionality moved into private functions calculate...(). commit 52bb5a99c91e2e977aea6fe39084349ec92a2fd2 Author: Frederik Heber Date: Sat Aug 31 01:20:34 2013 +0200 Added clearing flag to QtHomologyList. commit 4d66627bd22f642f736d2f03af63dde74d965b5c Author: Frederik Heber Date: Sat Aug 31 03:54:14 2013 +0200 FIX: Using signal/slots to notify other thread of new or removed shapes. commit 95c4e242ca2f9694286ebe872d2d237de75676df Author: Frederik Heber Date: Sat Aug 31 02:43:33 2013 +0200 FIX: ApproximateShapeArea::operator() needs to set the number of TesselPoints. commit 25e18e727bd932c0ac8c12fd098591452958c229 Author: Frederik Heber Date: Sat Aug 31 01:20:09 2013 +0200 FIX: Required qRegisterMetaType of bond::ptr. commit 12d9463862236e5b7d2eea2ecec7ff75f6961518 Author: Frederik Heber Date: Mon Aug 26 17:00:46 2013 +0200 Implemented LoadSessionAction. - this it also used in builder_init.cpp. - added load-session to tokens not stored in ActionQueue::outputAs...(). - added regression test which loads a stored action and stores again to compare the two scripts. commit 7e3f11ae21f8142c4998712a6634b9468483553b Author: Frederik Heber Date: Mon Aug 26 17:18:05 2013 +0200 Moved PythonScripting into own folder and created convenience library. - this is preparatory for creating load session action. commit 99283958e02e707947696333c8b94bf19a5fbefe Author: Frederik Heber Date: Mon Aug 26 16:42:52 2013 +0200 Added more complex python example to regression test of store session. - fixed output of Actions as python script. commit 8934261d0822b09d987a7630d515d95cfe3418bf Author: Frederik Heber Date: Mon Aug 26 16:41:24 2013 +0200 Split regression test testsuite-options-store-session in two files. - added more complex regression test for CLI. commit 9e4655500721048fec335b47c379e3d3d14e80ae Author: Frederik Heber Date: Mon Aug 26 10:36:16 2013 +0200 Added sessiontype option to StoreSessionAction. - added SessionTypeValidator to allow only specified types: cli, python. commit f6ff2169ca4a21d07e0bda37ee2c0d98907f060d Author: Frederik Heber Date: Mon Aug 26 15:39:55 2013 +0200 FIX: Removed " " around every printed parameter. commit 27d0bc944422b4ca893be6927189a8ba5daf55cc Author: Frederik Heber Date: Mon Aug 26 15:40:34 2013 +0200 Extended and fixed toCLIString for RealSpaceMatrix, element and vector<>. commit 477012eeadb741f0b02108f075e80b73e227d16a Author: Frederik Heber Date: Mon Aug 26 10:23:15 2013 +0200 Added Action::outputAsPython() and ActionQueue::outputAsPython(). - these work in exactly the same way as outputAsCLI(). commit 9b56f345faf73985829573ec6c7426dd30fb194c Author: Frederik Heber Date: Fri Aug 23 18:53:06 2013 +0200 ActionParameters need special format when given to CLI. - introduced toCLIString which converts some parameters types to the required format, e.g. Vector as "x,y,z", ... commit bad5892f291d8daf3db1451bbb7b43e57a1b3f40 Author: Frederik Heber Date: Fri Aug 23 13:50:41 2013 +0200 Added StoreSessionAction to store the current session to file. commit 46b181b75fcf35315b1a48e596f52f7cf2388766 Author: Frederik Heber Date: Fri Aug 23 10:18:43 2013 +0200 Added Action::outputAsCLI() and ActionQueue::outputAsCLI(). - prints sequence of Actions along with their options. commit 76096d54add38ae24a29f974d65800c56758f43d Author: Frederik Heber Date: Thu Aug 22 12:48:24 2013 +0200 FIX: Several fixes found through CppCheck. - strncpy does not always cap with \0. - mismatch in new[] with delete. - division by zero. - NULL pointer not checked. commit f54cda477802ae5ec4ae53e98479ad5c92509535 Author: Frederik Heber Date: Wed Aug 21 11:27:08 2013 +0200 Action::call() is private, replaced by ActionQueue::queueAction(). commit c5177fc1abe30809af520585c3dafaeb40c58d72 Author: Frederik Heber Date: Wed Aug 21 10:14:55 2013 +0200 FIX: Reaction's hasResult() and getResult() are const member functions. commit 05c989b2c5a0fad290a2f158e8dda3a68536b74f Author: Frederik Heber Date: Tue Aug 20 22:31:52 2013 +0200 Actions are now called through ActionQueue. - Action::call() is protected. - ActionQueue has queueAction(). commit 126867e41577a53118ca21e8dde789662b21454b Author: Frederik Heber Date: Tue Aug 20 17:45:30 2013 +0200 Actions no longer register themselves, ActionQueue::addAction() introduced. - eventually, Actions should be constrained to the ActionQueue alone. They may be created externally but their control has to be delivered to the ActionQueue. - Hence, we reversed the registering process: Actions do not register themselves with the ActionRegistry but as almost all are created in ActionRegistry::fillRegistry() they are registered there as well. - Actions cstor and dstor are now protected, ActionRegistry is friend. - Action needs to befriend Registry and ActionSequenceTest to grant access to dstor. commit d649b7b2e188ba0fcc502541e95e742d7f2182da Author: Frederik Heber Date: Tue Aug 20 11:33:29 2013 +0200 Added functor getLastPosition, extracted from ActionRegistry. - this function had been placed in ActionRegistry only for convenience because of direct access to all action tokens. However, it is more sensible to place it with the menus. commit 6367dd4c64d4b033c174ad1c6226bf1e34ef0e7c Author: Frederik Heber Date: Mon Aug 19 18:17:07 2013 +0200 ActionHistory now is part of ActionQueue. - TESTFIX: changes to Actions unit tests due to ActionHistory inside ActionQueue. commit b5b01e75eba142a4c305c63d6f27f45719579a8a Author: Frederik Heber Date: Mon Aug 19 21:04:10 2013 +0200 ActionState extracted into own header file, rename Action::state_ptr -> ActionState::ptr. commit f92ef36b5fb2e4dd1eed1ab53654e17ab68edd8a Author: Frederik Heber Date: Mon Aug 19 18:10:33 2013 +0200 Extracted ActionParameters into own header file. commit ed3944d8a46265408007f347cca94a107a2004bf Author: Frederik Heber Date: Mon Aug 19 18:12:47 2013 +0200 ActionQueue contains now ptr to ActionRegistry to allow forward ref in header. - SubgraphDissectionAction needs include ActionRegistry. - ActionNameValidator requires ActionRegistry include. commit d67e6c3fceea9fce7e3a02f7831f1bb98122f0c2 Author: Frederik Heber Date: Mon Aug 19 18:17:22 2013 +0200 FIX: Changed inclusion guards of Fragmentation/defs.hpp to allow for other defs.hpp. commit 671a47d7a4422b297089df4a7d6610ff45396d94 Author: Frederik Heber Date: Mon Aug 19 13:12:01 2013 +0200 FIX: Converted Helpers/defs.hpp with dos2unix. commit 40ec38eaf168d2a535da80758418e0f6cb3348b3 Author: Frederik Heber Date: Mon Aug 19 12:59:03 2013 +0200 FIX: AnalysisBondsUnitTest did not check numbers numerically. commit 0c8056d9293d313cfa38b28df33256e0a68da0b6 Author: Frederik Heber Date: Fri Aug 16 14:56:15 2013 +0200 Actions now get ptr to ActionRegistry in cstor. - this is the last of the externally present getActionRegistry() calls. - also changed: Calculation, ErrorAction, ManipulateAtomsProcess, MakroAction, MethodAction, Process, Reaction. Some of these had default of doRegister but are only used with false. We removed any default value in header if set to true. However, this will cause default behavior of false (as Action has default NULL for ActionRegistry ptr). - purged some unnecessary ActionRegistry includes. commit a6ceab4933015c9172ad635e7d938f944fc8e4e4 Author: Frederik Heber Date: Fri Aug 16 14:55:52 2013 +0200 FIX: ActionRegistry's function now get ref to token string. commit 690741f440dd11d80473492d65b155ecd85e1aac Author: Frederik Heber Date: Fri Aug 16 13:47:48 2013 +0200 Added getListOfActions() and getActionsTrait() to completely wrap ActionRegistry. commit 1d3563e3cf6937663297eb9e5e881d34105948a0 Author: Frederik Heber Date: Fri Aug 16 13:15:29 2013 +0200 Main functions of ActionRegistry are now tunneled through ActionQueue. commit 6285776145c5bb3604f2a9b1387bdcc7c69c1ffe Author: Frederik Heber Date: Fri Aug 16 12:32:17 2013 +0200 Introduced ActionQueue which contains internal ActionRegistry. - ActionQueue inherits ActionRegistry' singleton status. - replaced all occurrences of AR::getInstance() by wrapper through AQ. commit 732507a66f06cdb7ee33bb570a5330d47136cf86 Author: Frederik Heber Date: Tue Sep 17 15:11:19 2013 +0200 SpecificFragmentController now contains template ResultContainer. - Results are received as soon as possible (so far we waited until all are done). - Results are converted directly and stored in map with JobId's with specific result type internally. - NOTE: each specific controller needs to implement a getter, the member variable of the ResultContainer type and the virtual waitForResults() which just redirects to ResultContainer::waitForResults(). commit 1e5f84ce94f29fff4ebdda1cb9c720a6e2825685 Author: Frederik Heber Date: Fri Jul 26 15:56:14 2013 +0200 FragmentationAutomationAction does long-range jobs now depending on boundary conditions. commit f6c19d6c9eff8d0155c782c22a09f19969950170 Author: Frederik Heber Date: Wed May 1 16:37:54 2013 +0200 InterfaceVMGDebugJob now also uses optionally open boundary (FAS instead of CS). - VMGDebugGridJob has parameter OpenBoundaryConditions. - VMGDebugGridFragmentController uses parameter when instantiating VMGDebugGridJobs. commit ee9018c3463e8d8c1eacc73f29fda8d4a292de41 Author: Frederik Heber Date: Mon Apr 15 21:03:31 2013 +0200 InterfaceVMGJob now may also use open boundary (FAS instead of CS). - so far, according to Julian, only order 2 is implemented correctly. - we choose between open and periodic boundary conditions by a parameter in VMGJob. - VMGFragmentController uses the parameter when instantating VMGJobs. commit d9d0286d1e3997868fbb57574dbef459385ff633 Author: Frederik Heber Date: Fri Jul 26 14:24:17 2013 +0200 FIX: addGridOntoWindow() now working, too. - with this open boundary calculation runs through smoothly, including all asserts do not fail. Also, we did check the sampled density on the grid. - results are not checked so far, but accuracy is according to Julian only second order. Hence, we must not expect too much. commit 27ef5c8fda91dce853e22a98622b7be5fdac7445 Author: Frederik Heber Date: Fri Jul 26 14:24:07 2013 +0200 Density is now correctly written onto grid with both periodic and open boundary condittions. commit e8e472bbcf915bdb235ef87c216a319d486f7988 Author: Frederik Heber Date: Sun Apr 14 21:24:30 2013 +0200 Changes in VMG interface. - discretization schemes moved from samples/ to discretizations/. - PrintStringOnce now replaced by more general PrintOnce with "Debug" level. commit 049d4a062a516272610064d56b90233235ec2ed0 Author: Frederik Heber Date: Thu Aug 15 10:24:45 2013 +0200 FIX: libMolecuilderUI's dependencies are now completely satisfied. - we checked all shared libs it depends on and brought them in correct order. - molecuilder, molecuildergui, and controller's LDADDs changed accordingly. - FIX: libMolecuilderJobs's Makefile.am lacked the usual comment stuff at the end which resulted in undefined refs to VMGJob. Missing version info seemed to be the culprit. commit 134f43305382e5e8c904311cde287a752200cb61 Author: Frederik Heber Date: Mon Aug 5 11:37:34 2013 +0200 Set version to 1.4.2. - MoleCuilder library is now 13:1:0. - Codename "1-4-2-1" (has been the military doctrine of the United States of America up to 2005). commit 938e62b7ece095dd8243e5f57eec67d4498e71d1 Author: Frederik Heber Date: Wed Aug 7 15:17:37 2013 +0200 FIX: libMolecuilderPotentials.la is always compiled, we just remove levmar dependent portions. commit 93909a7460f68cd42e7d53e3dd1aed8536e917a9 Author: Frederik Heber Date: Wed Aug 7 14:10:12 2013 +0200 FIX: --with-Qt-bin no longer overrides --disable-qtgui. commit f5724f5e9fef76b193afb7727d363143bd251f59 Author: Frederik Heber Date: Fri Jul 26 11:08:31 2013 +0200 Moved all FragmentationActions related to potentials into own menu and folder. - changed class names Fragmentation... -> Potential... - changed tokens in GlobalListOfActions. - added menu entry "potential" and CommandLineParser program_options variable. - moved regression tests into own folder as well and renamed folder in files. commit 24e19e3732c3b328e2dbbbaf50c6c4c8687833ea Author: Frederik Heber Date: Wed Aug 7 15:19:25 2013 +0200 FIX: Have configure.ac create tests/Python and JobMarket, otherwist dist-targets fail. - we remove Python via CONDPYTHON inside tests/Python/Makefile.am. - similarly for JobMarket. commit 353326a20d3df89dedb94b680eb07bcfc298472e Author: Frederik Heber Date: Mon Aug 5 15:36:27 2013 +0200 FIX: Changed LIBADDs and LDADDs to get rid of libtool patching. - with the new ubuntu version libtool is told not to pass through dependencies in a hierarchy of shared libraries. Thus, we have been using a small patch to tell libtool to pass nonetheless. However, this is not necessary if the structure is slightly changed: - cleanUp now resides with libMolecuilderUI.la instead of molecuilder and molecuildergui directly - added LIBADD to libMolecuilder.la with libMolecuilderShapes.la - fixed some unit tests LDADDs commit 474c62deebfabdc712380d9ca33ebb5282cd5906 Author: Frederik Heber Date: Tue Jul 16 08:22:27 2013 +0200 FIX: Typo in FragmentationAction. commit 57ba6fcfa4b03d95eda13011e53cc526c20e8ecd Author: Frederik Heber Date: Mon Jul 15 18:37:53 2013 +0200 FIX: Value's ConvertTo< std::vector > did convert empty strings to non-empty vectors. commit 3214709df996960491949bad946226a294270b56 Author: Frederik Heber Date: Fri Jul 12 16:59:19 2013 +0200 FIX: Fragmentation's OrderAtSite was written per molecule and with local ids. - introduced global_local_bimap in Fragmentation::FragmentMolecule(). - ParseOrderAtSite and StoreOrderAtSite need to use global ids. - StoreOrderAtSite now appends. - FragmentationAction removes OrderAtSite file for the moment. Probably, we should get rid of it. commit 3e93bd4204b956fb44da8f6b8b768cda6e828e3e Author: Frederik Heber Date: Fri Jul 12 16:57:22 2013 +0200 FIX: SetOutputFormatsAction fails on unknown parser type. commit abb641eace4a9131e4c6e3ab8972ff6bb7d6c48b Author: Frederik Heber Date: Thu Jul 11 23:19:24 2013 +0200 FIX: AdjacencyList missed atoms without bonds. - this caused an arbitrary number of argon atoms to have just a single fragment. commit d067e3500b59c6bea66d3ea460c923da9c9086e3 Author: Frederik Heber Date: Thu Jul 11 22:54:06 2013 +0200 FIX: World asserted greater not greater equal LC distance. commit d7e9318a71ee1700ffae3775ae4ec0a8785ffe0d Author: Frederik Heber Date: Thu Jul 11 20:14:30 2013 +0200 Added Timeline slider to QtMainWindow. - this allows quick setting of current time step and uses SetWorldTimeAction. commit 89b992fa98bcc9ed385d092a07b3c218334d009f Author: Frederik Heber Date: Thu Jul 11 21:28:02 2013 +0200 GLWorldView now listens to World::TimeChanged() and updates view. - GLMoleculeObject_atom also listen to World::TimeChanged, required such that positions are updated, too. (Bonds are re-created, hence automatically updated). commit 2a8731721dffb8aa172636a284f1a9a2e8703933 Author: Frederik Heber Date: Thu Jul 11 21:26:05 2013 +0200 World now has channel TimeChanged. - FIX: SetWorldTimeAction uses now World::setTime() not WorldTime's such that observer event is caused. commit cd9a59630f7c8b695bbb4c2e53b0a441f7c5f2a7 Author: Frederik Heber Date: Thu Jul 11 20:13:55 2013 +0200 Added TrajectoryChanged channel to atom_observable. - this lets us know when maximum trajectory size has changed. - AtomObserver relays channel TrajectoryChanged. commit 13c5c1add745c03a4de0dc870f83c26b026fb705 Author: Frederik Heber Date: Fri Jul 5 10:52:38 2013 +0200 FragmentationAction uses Interfragmenter to add non-bonded fragments. commit 0331ee67517aeb31a2ec94499de1284c95285f83 Author: Frederik Heber Date: Fri Jul 5 10:52:08 2013 +0200 Added functor to add non-bonded union of fragments. - this is done by going through all keysets created so far and placing pair-wise two into a new fragment that are within a given distance. commit c1353f53db027701e4d18054e824c4ab6bfd6ef0 Author: Frederik Heber Date: Fri Jul 5 13:05:10 2013 +0200 Added AtomIdSet cstor that converts from a KeySet. - as this requires only KeySets header file, there are no dependency links. commit 6550cffc4643c04ad39b40da4e480915e57ea95b Author: Frederik Heber Date: Tue Jul 16 09:01:20 2013 +0200 Added regression test for harmonic_bond potential. commit ff90e3b5105b9e17f01d56ddedd8e895bf4d529a Author: Frederik Heber Date: Tue Jul 16 09:02:26 2013 +0200 Renamed potential token harmonic to harmonic_bond. commit 791a1267512a1feef8dcf3d7a6835d27341ed0ef Author: Frederik Heber Date: Wed Jul 10 15:47:38 2013 +0200 Added improper potential based on torsion potential with flipped arguments. - added unit test. - also added regression test to improper potential, is set to XFAIL for the moment. commit a74a9626b6ee2a91ad83f23859d11cf48766d51b Author: Frederik Heber Date: Wed Jul 10 15:24:53 2013 +0200 Made function_theta of FourBodyPotential_Torsion virtual. - also default cstor is now just protected, not private. - this is preparatory for improper potential. commit e2037e5d443e6ac456d3cbf14b2e4127a4bbd7a6 Author: Frederik Heber Date: Mon Jul 8 09:37:04 2013 +0200 Added FourBodyPotential_Torsion. - also added regression test to torsion potential. commit 484e2ac103bbd121925bede487af209b526f8d12 Author: Frederik Heber Date: Mon Jul 8 09:20:55 2013 +0200 Renamed PairPotential_Angle -> ThreeBodyPotential_Angle and also UnitTest. commit 1413f4555b944ca972d0d485541e58d325f62feb Author: Frederik Heber Date: Fri Jul 5 10:12:49 2013 +0200 Added LennardJones pair potential. - this is for later fitting between order-1 fragments. - also added regression test for LJ fitting. commit 4792ab92082785a79b5b75b4d915318cfcce1211 Author: Frederik Heber Date: Mon Aug 5 10:02:55 2013 +0200 Added set-threshold option to FitPotentialAction. - TESTFIX: regression tests fit-potential for morse and harmonic_angle now expect L2 error to be below 1e-6 instead of doing 5 runs. commit af4318055e87f2e2ad453824e664b6e3e99e56ac Author: Frederik Heber Date: Mon Aug 5 09:47:22 2013 +0200 Implemented GenericValidators. commit c4a32355115c344281807a20f6f7992f85eba727 Author: Frederik Heber Date: Thu Jul 4 00:11:56 2013 +0200 Added FitParticleChargesAction for fitting partial nuclei charges to electrostatic potential. - right now just fits to first found potential of specified homology. - checks HomologyGraph::value_t::containsGrids whether grids have actually been stored. - added regression test to FitParticleCharges. commit e355b3198d825bb9c375781f753efe001a9585b8 Author: Frederik Heber Date: Thu Jul 25 19:35:59 2013 +0200 Added both_sampled_potential to VMGData, analogous to nuclei_longrange. - AnalyseFragmentationResultsAction sets both both_sampled_potential and nuclei_longrange from second set of longrange calculations. - we require the combined potential for fitting partial nuclei charges - fixed typo in testsuite-fragmentation-analyse-fragment-results.at commit bf1d1bfb12b770ac6758bd32d657becf19aa5351 Author: Frederik Heber Date: Thu Jul 4 10:49:28 2013 +0200 HomologyContainer now stores full struct as value to HomologyGraph key. - this structure does not only contain fragment and energy but also the sampled charge and potential distribution. - added version handling to HomologyContainer::value_t serialization. - added option "store-grids" to AnalyseFragmentationResultsAction. - TESTFIX: adapted HomologyContainerUnitTest such that new values are correctly constructed. commit ff09f309bdcecdd5c2f8fb409678e75dd20e73dc Author: Frederik Heber Date: Mon May 13 21:16:51 2013 +0200 Added Particle and ParticleRegistry class. - Paricle class contains among other partial nuclei charge information. commit f60d95c3ae3cef9f355c1dae4c3b898b32e5c978 Author: Frederik Heber Date: Thu Jul 25 19:39:27 2013 +0200 PartialNucleiChargeFitter writes potential, solution, and residuum to CSV files in DEBUG. commit 58fcbe5782c0a7715965a667901d08d7cdb12447 Author: Frederik Heber Date: Sun May 12 13:13:40 2013 +0200 Added functor for fitting partial nuclear charges. - is simply via solving the over-determined linear system of equations. - added unit test. - added basic idea to documentation. - has a masking threshold to leave out spheres around nuclei from fit. commit 3f64ee311ead498edef41e035b4a7dac42c89258 Author: Frederik Heber Date: Wed Jul 17 12:02:19 2013 +0200 Extracted SamplingGrid::getDiscreteWindowIndices() from SamplingGrid::addWindowOntoWindow(). - this allows others to know when window starts and ends in discrete steps. - FIX: getDiscreteWindowIndices() needs to check for zero length for divide by zero. commit b5f548234eb574273fd82f8e538f6da5bbb57be2 Author: Frederik Heber Date: Sun May 12 13:07:11 2013 +0200 FIX: Shifted all helper functions from SamplingGrid to ..Properties. - these functions just rely on member values of ..Properties and allow for using the properties as replacement to the full grid when its values (and the window) are of no more interest. commit af2c7eca92c18ad6819b82c47ddde05418a2eb18 Author: Frederik Heber Date: Tue Jun 25 15:08:43 2013 +0200 TrainingData now generates internal list of all arguments. - InputVector is now the filtered sequence. - TrainingData's cstor now expects filter instead of extractor. - adapted FitPotentialAction. - Extended TrainingData documentation on generation of all pair-wise distances. commit 31a2be713e07dc687b818ae9ee543c96f5eb26c8 Author: Frederik Heber Date: Wed Jun 26 11:03:51 2013 +0200 FIX: Extractors::filterArgumentsByParticleTypes() did wrongly break on first found argument. - also added lots of staggered debugging output. commit a633f6f92468ae6a65f931424a62c4ada2e13dc7 Author: Frederik Heber Date: Tue Jun 25 14:49:26 2013 +0200 Added splitUpArgumentsByModelsFilter() to CompoundPotential. - this function uses the FunctionModel's filter instead of doing it by itself via the particle_types. commit 51e0e3079be933cbf6a3e3dc4a527a0575e2d1fc Author: Frederik Heber Date: Tue Jun 25 14:41:01 2013 +0200 Added two filter functions to Extractors. - renamed reorderArgumentsByParticleTypes()->filterArgumentsByParticleTypes(). - added reorderArgumentsByParticleTypes() that expects arguments matching to given particle types and which reorders into matching bunches with associated indices. - added suitable combination of the two filter as each potential's specific filter. - had to add specific comparator for Particle_Types_t to allow flipped types in argument_map. - reorderArgumentsByParticleTypes() prints with enhanced toString. - FIX: Histogram did not use the pair-wise operator<<(). (this occured because of new operator<<(..,pair) from toString.hpp). - we enforce CodePatterns 1.2.7 now. commit 0f5d38e3ab5cb4ea3ef27e9a7fab1d2a07dc2437 Author: Frederik Heber Date: Tue Jun 25 12:54:50 2013 +0200 Added getSpecificFilter() and getSpecificArgumentCount() to FunctionModel. - implemented getSpecificArgumentCount() in all specific potentials. - added NoOp_filterfunction to Helpers. - enhanced Documentation on FunctionModel on new Extractor,Filter,Count system. - rewrote CompoundPotential::getSpecificExtractor() using Helpers::returnEmptyArguments() such that first model does not have to be treated special anymore. commit f0025dc16b9694a6ef9ed71df894e00a0da74d0d Author: Frederik Heber Date: Tue Jun 25 11:29:54 2013 +0200 Renamed getFragmentSpecificExtractor() -> getSpecificExtractor(). commit d449a911351285dfadb3bf83fce8de1f70c0d435 Author: Frederik Heber Date: Mon Jun 24 11:08:12 2013 +0200 Split off parsing and saving of homologies into new Actions. commit 1e1098614112b1d75c8d4c6e30e2cf32591c0286 Author: Frederik Heber Date: Mon Jun 24 10:51:34 2013 +0200 Added table of all present HomologyGraph keys to QtMainWindow. commit 98dbee850caead4ba8e84808ca18dad7c31efa86 Author: Frederik Heber Date: Mon Jun 24 10:51:05 2013 +0200 World now maintains HomologyContainer instance. commit bcc24f3331f404054b4559cb50752f58140b3dd0 Author: Frederik Heber Date: Mon Jun 24 10:07:20 2013 +0200 Made HomologyContainer observable. - added clear() and getNextKey() functionality. commit a8bc27aa262cd21ec6c702198d225935b0a195c4 Author: Frederik Heber Date: Mon Jun 24 11:23:50 2013 +0200 FIX: HomologyContainer::getHomologousGraphs() is actually const member function. commit 0afe00acdd8cd7a33fb300bb585b14cf33aced61 Author: Frederik Heber Date: Mon Jun 24 10:52:50 2013 +0200 Extracted printNodes() and printEdges from HomologyGraph's output operator. commit 39986ba34b823a245abb4d308816dbc0548aff90 Author: Frederik Heber Date: Thu Jul 11 23:39:59 2013 +0200 Added new MakroAction MolecularDynamicsAction. - this resides within fragmentation, as we perform the four steps ... - verlet-integration - fragmentation - fragmentation-automation - analyse-fragmentation-results ... for a given number of times, using ActionSequence::loop with steps. - outputs after every time integration step, controlled via DoOutput option. - action only instantiated if HAVE_JOBMARKET. commit 9c1324fae3f2f64ced647028e764fc50c0b40370 Author: Frederik Heber Date: Thu Jul 11 23:39:02 2013 +0200 Equipped MakroAction with some boost::preprocessor magic, ActionSequence with loop. - ActionSequence now has a loop integer specifying how often the sequence is repeated. This is required to have actions in a loop but each of them generate their dialog only once. commit bcb59318252793f08bc2b15503ba6a7588e19614 Author: Frederik Heber Date: Tue Jun 18 16:35:36 2013 +0200 FIX: VerletIntegrationAction now assumes forces have just been calculated. - according to Wikipedia's Velocity_Verlet info, we first integrate position, then calculate forces, then integrate velocity. This assumes that forces based on next time step's position are already known. This is possible when parsed from file but not if they are calculated dynamically via fragmentation. Hence, we now integrate velocity from last time step to current, then integrate position from current time step to next. Then we are in the position to calculate forces and do this cycle again. - for this, VelocityVerletUpdate was split into ..X() and ..U() for independent integration of position and velocity. - VelocityVerletIntegration::operator() now first corrects forces, then integrates velocites, corrects them too and finally integrates positions according to the above new scheme. - removed option MDSteps from VerletIntegrationAction. - TESTFIX: Had to change regression rest on VerletIntegration since the cycle sequence has changed. It was nonsense before to have the forces already in some file respective to future position that actually first need to come out of the time integration. commit 11f0fa19d8254edfe8f5b0654094d3e0eb6a2fb6 Author: Frederik Heber Date: Tue Jun 18 16:33:06 2013 +0200 FIX: Newly created atoms must have trajectories reaching out till CurrentTime. - this became apparent when fragmenting on next time step in molecular dynamics run because atoms in hydrogen pool did not have fitting trajectories. - now, newly created atoms have automatically trajectories extended till CurrentTime. - also, HydrogenPool makes sure that hydrogens used from pool are up to date. commit f733513b672b8d8f635d8b1e9fe875de373f2220 Author: Frederik Heber Date: Tue Jun 18 16:30:52 2013 +0200 FIX: Some Thermostats would cause NaN on zero temperature. - Berendsen and Woodcock divide through OldTemp which may be zero (because initial velocities are zero). This is now checked. - also, default thermostat is now NoThermostat. - NOTE: We lack an action to choose a thermostat but this needs some refactoring of the thermostats which are still based on being read from file. - TESTFIX: Adapted three regression tests where pcp files were stored that contained still reference to old default Berendsen (with parameter 2.5). commit e5ebafc2d28549321aedb27389ec259195288019 Author: Frederik Heber Date: Tue Jun 18 16:29:50 2013 +0200 Forces obtained from fragmentation summation are now set. - i.e. they are placed in AtomicForces for the corresponding atom. - extended regression test on AnalyseFragmentationResults for this. - IndexedVectors now has getter for the vectors. - AnalyseFragmentationResultsAction writes forces only when full molecule is loaded. commit ec5d0cafc08b094a6b6c0df8e0c0179cd7cd4bf0 Author: Frederik Heber Date: Thu Jul 4 15:08:01 2013 +0200 Set version to 1.4.1. - MoleCuilder library is now 12:1:0. - Codename "Root of two" (is 1.41421...). commit 62164d240a3e50359a393701033e47450c38383f Author: Frederik Heber Date: Tue Jul 2 13:15:48 2013 +0200 Writing final parameters to potential-file. commit a315e80cd5cd922cd49fb50f0c1889a91ec2f54f Author: Frederik Heber Date: Wed Jun 26 20:33:00 2013 +0200 Potential type is given via extra option not "fit-potential". - also "potential-type" is optional and "potential-file" can be given as well. - added EmptyStringValidator. - TESTFIX: Regression test FitPotential adapted to option "potential-type". commit a504946fdb561f94b5e1a4e97ea9af85175ca2fd Author: Frederik Heber Date: Tue Jun 11 14:07:24 2013 +0200 Training data can now be written to optional file. commit 49dcf79ed25e2ebdcaf9da20d662768b4518a9d8 Author: Frederik Heber Date: Wed Jun 26 20:32:35 2013 +0200 Added catching of SerializablePotentialException in FitPotentialAction. commit baccf631d831c6d19bca920b5838a840eebd19f5 Author: Frederik Heber Date: Fri May 10 09:11:56 2013 +0200 FitPotentialAction now uses new CompoundPotential to fit. - PotentialDeserializer and PotentialSerializer convert given file. - TESTFIX: Modified expected values for morse potential and decreased checked accuracy of values to two decimal places. commit 7c10913cd7643f0bb610d97273b66628c8faa10d Author: Frederik Heber Date: Thu May 9 21:25:45 2013 +0200 Extended CompoundPotential for multiple occurences of argument bunches. - added HomologyGraph::hasGreaterEqualTimesAtomicNumber() has model might have multiple matching arguments within a single fragment. - i.e. when there is more than one argument bunch for a given model. Hence, we check the stream whether upcoming arguments match current and next model. Note however that models are not necessarily sorted by particle_types' size. Hence, we must trick a little and need a specific map comparator. commit c5e63a4efcf5739f8379980891648d24490fe8c4 Author: Frederik Heber Date: Thu May 9 20:28:37 2013 +0200 Added De(serializer) functors for instanting potentials from stream info. commit 3723f0805f3ddd3c3d5a1197506c46757b6e80c5 Author: Frederik Heber Date: Thu Jun 13 22:18:46 2013 +0200 FIX: SerializablePotential prints no comma following empty particle_types. commit 6d907385ac8eceb48c9692020806b111f81902d5 Author: Frederik Heber Date: Wed Jul 3 20:32:15 2013 +0200 FIX: SerializablePotential::stream_from() wrongly used string::substr(). - it's (start, length), not (start, end). commit b3b31ecfac90f3a0fbe737492917861e9b2d8eba Author: Frederik Heber Date: Thu May 9 20:27:51 2013 +0200 Added PotentialFactory::createInstance() that uses default cstors. - potential parameters are obtained via stream_from(). commit a82d33381eb6fa98aed401b5e0172ddb5ed419cd Author: Frederik Heber Date: Wed Jun 26 20:39:51 2013 +0200 FIX: Default cstor of specific potentials did not allocate parameter vector. - is used by PotentialFactory and would seg'fault on subsequent parameter filling via stream_from(). commit 71388836b9daa739805b93ed613c1c1785657f34 Author: Frederik Heber Date: Thu May 9 20:27:17 2013 +0200 Made PotentialFactory friend of all specific potentials and added default cstor. commit acc9b1ebaee95e62992bddb79f960cb80ecec896 Author: Frederik Heber Date: Thu May 9 16:19:26 2013 +0200 FIX: Added new copyright lines to files in src/Potentials, too. commit b15ae7df09e29e830aec7a4585ac803e49f52f95 Author: Frederik Heber Date: Thu May 9 15:49:29 2013 +0200 Removed energy_offset from ManyBodyPotential_Tersoff. commit 1e242a700060cc26606c643f8bfde5d800c74feb Author: Frederik Heber Date: Thu May 9 15:46:01 2013 +0200 Removed energy_offset from PairPotential_Angle. - regression test FitPotential with harmonic_angle potential marked as XFAIL. This is required until we use new CompoundPotential in FitPotentialAction. commit 065a166e8270c209a6856384a3165d9e6efb158c Author: Frederik Heber Date: Thu May 9 15:43:29 2013 +0200 Removed energy_offset from PairPotential_Harmonic. commit 919c8acc3b19bf772f6ac853501e11ddf465eb74 Author: Frederik Heber Date: Thu May 9 15:40:51 2013 +0200 Removed energy_offset from PairPotential_Morse. - regression test FitPotential with morse potential marked as XFAIL. This is required until we use new CompoundPotential in FitPotentialAction. commit 1e565c9478a7e3527b250a22ec862d09d6be59ff Author: Frederik Heber Date: Thu May 9 15:35:50 2013 +0200 Removed SaturationPotential. - SaturationPotential can be seen as a precursor to CompoundPotential and with the latter in effect has no more reason to be present. commit 7e5b948dfcdf3cb9788af021b64481bb1fd5d746 Author: Frederik Heber Date: Thu May 9 15:21:58 2013 +0200 CompoundPotential now combines ConstantPotential and PairPotential_Morse successfully. - we set PairPotential_Morse::energy_offset to 0 as default value, but we need to remove the offsets fully from all potentials. commit cf490596aa095354fadee6f22fe748155d8907b7 Author: Frederik Heber Date: Thu May 9 14:15:43 2013 +0200 Added concatenateArguments to Extractors. commit 8203ce8c8111c1436927aeed91f2ccf0f8098b1e Author: Frederik Heber Date: Thu May 9 13:02:28 2013 +0200 Added ConstantPotential to fit a non-zero offset in potential energy. - also added ConstantPotentialUnitTest. commit 060e1edada88a5af82c8bf5d9876db51fcac57a7 Author: Frederik Heber Date: Thu May 9 14:16:33 2013 +0200 Created AllPotentialHeaders.hpp from specific potentials headers in Makefile.am. - this is copy&pasted from AllActionHeaders.hpp. - so far, the potential is explicitly listed in PotentialFactory::createInstance(), hence we are not safe from harm, yet. commit 154e88d6d6cb3f0007aab8009f1e97262d02e3fa Author: Frederik Heber Date: Wed May 8 11:52:25 2013 +0200 Added CompoundPotential as container for multiple FunctionModels. - added unit test that uses libMolecuilderFragmentation_getFromKeysetStub.la as HomologyGraphUnitTest. Hence, we are not dependent full libMolecuilder. - so far, we simply test with a wrapped PairPotential_Morse. commit 2bde72f96c32ee086640c592c1e1c843c1e21b8a Author: Frederik Heber Date: Wed May 8 09:20:12 2013 +0200 FIX: Removed CodePattern/Assert include from various PairPotential headers. commit 85dee9a8a979a838d992f1660e7b61e73179635d Author: Frederik Heber Date: Wed May 8 08:06:41 2013 +0200 FIX: regression test FitPotentialAction was always skipped. - we did not correctly check for present action fit-potential. Now, we check whether help is available. commit 3536a5f223857f43bd102e13e430da44368828a1 Author: Frederik Heber Date: Thu May 9 09:24:23 2013 +0200 FIX: Tiny fix to FitPotentialAction with static_casts. commit fdd23a235ac3c5a5205c12970a6d60ccf0ee8a21 Author: Frederik Heber Date: Wed May 8 08:01:42 2013 +0200 EmpiricalPotential now inherits/combines FunctionModel, SerializablePotential. - both PotentialRegistry and ..Factory hand out EmpiricalPotential refs. commit a953c4d897ddbb6989b46310e65dcd96063ceab4 Author: Frederik Heber Date: Tue May 14 14:42:00 2013 +0200 Using priorizing of jobs. - we now require JobMarket 1.1.4. - FragmentJobQueue::parseJobs() sets job priority from number of lines. - ExportGraph_ToJobs::operator() sets job priority from number of keys. commit 5f0c609692539b4f4d209f51ee93f95aa9c7092a Author: Frederik Heber Date: Wed Jun 26 20:37:57 2013 +0200 FIX: SerializablePotential::stream_from(), several fixes. - equalitysep with tokenizer would have required copying string. Hence, we simply copy and split via string functions as there is only one equality sign. - particle types index was off by one. - SetParticleType() did not check whether we actually needed to resize and was off by one. commit bbc422512d336a69e8614142eb1a04fdf59a0648 Author: Frederik Heber Date: Tue Jun 25 11:30:44 2013 +0200 FIX: Renamed arguments in PairPotential_Angle to make proper sense. - this does/should not change functionality in any way. commit e352cb411d3d37b2e64669a2c6fb6ef5c45067d8 Author: Frederik Heber Date: Tue Jun 25 12:55:46 2013 +0200 FIX: PairPotential_Harmonic did wrongly use to ..StrictOrdering in checking particle types. commit bb1f3f60d49d56b4c09738d0341f8bce12cf1556 Author: Frederik Heber Date: Wed Jun 26 15:29:17 2013 +0200 FIX: Removed doubly present inclusions from Extractors. - these are present since 64bdfd9. commit 4b8ab769318fdd80a2740b966fa37ae0982c6c2f Author: Frederik Heber Date: Wed Jul 3 16:04:13 2013 +0200 FIX: Histogram did not use the pair-wise operator<<(). - his occured because of new operator<<(..,pair) from toString.hpp. commit 503c0279e27da21d59e2fe78b200c906e5c5a1e2 Author: Frederik Heber Date: Tue May 14 15:27:41 2013 +0200 FIX: We used qrc outside CONDQTGUI brackets in data/icons/Makefile.am. commit 172b6de4ac8a922c1ce7f5b49cf6def5942c2551 Author: Frederik Heber Date: Fri Jul 5 16:30:49 2013 +0200 FIX: Disclaimer of molecuilder on command-line shows new copyright, too. commit 26249fb69582ecfbb374c713e7f0ad9cf4e96ff3 Author: Frederik Heber Date: Thu May 9 16:20:32 2013 +0200 FIX: Fixed new copyright line since start of 2013 in CodeChecks test in LinearAlgebra, too. commit 5aaa431c127bd1ea184be89ef28adcd229f6d96c Author: Frederik Heber Date: Thu May 9 16:14:57 2013 +0200 FIX: Fixed new copyright line since start of 2013 in CodeChecks test. - we must look for either Uni Bonn or myself. - added second copyright line since from 1st of Jan 2013 I am not employed by University of Bonn anymore, hence changes to the code are my own copyright. commit 87d6bd78e6824d834fbfdaa85f023c5da985904a Author: Frederik Heber Date: Mon May 6 23:33:49 2013 +0200 FIX: Fixing several clang errors such that we may safely use the compiler. Changes: - clang does not like execeptions as pure forward declarations. - clang does not like AtomTypes[MaxTypes] with MaxTypes being dynamic. - clang does not like cppunit to have no operator<<() for std::sets (it though finds the ones for std::vector?), it cannot use one from toString.hpp as it is declared afterwards (although before instantiation site). - clang does not tolerate inheriting from a protected member class TQuery. - clang does not tolerate shadowing of a variable inside a for-loop (i.e. declaring variable in loop body with same name as e.g. loop variable). - clang compilation ran through after these changes without a single failing test. commit 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9 Author: Frederik Heber Date: Thu Apr 11 15:15:04 2013 +0200 Set version to 1.4.0. - MoleCuilder library is now 12:0:0. - Codename "Vierzehn" (German for fourteen). commit 661d2d3ce0a5613629e4086605fe6934191a29c3 Author: Frederik Heber Date: Thu Apr 18 20:51:21 2013 +0200 FIX: Replaced BOOST_LDFLAGS by flags specific to boost serialization and system. commit 48d20d12c40193473e911ec536adb1dfb3d14bff Author: Frederik Heber Date: Tue Apr 9 09:44:29 2013 +0200 Added new action FitPotentialAction to fit empirical potentials. - moved functionality from levmartester into new Action. - removed levmartester. - needs both enable-levmar and path to libs/include with-levmar. This allows checking as distinct enable switch. - added regression test Fragmentation/FitPotential for morse and harmonic_angle fit to water molecule. Using awk to check on L2 error. - added take-best-of option such that fits is done as many times and best (in terms of l2 error) is used. This should make regression test FitPotential more stable (right now we take best of 5). - DOCU: extended construct documentation due to new PotentialTypes construct. - DOCU: made construct lists items appear alphabetically. - DOCU: extended installation documentation with VTK and levmar. - DOCU: also URLs for scafacos, VTK, and levmar. commit 57f14c9b30bd737681a0792dea763fb79e3b0be1 Author: Frederik Heber Date: Wed May 1 09:42:37 2013 +0200 FIX: Extractors::_detail::convertElementcountsToTargets() complains openly when element has not been found. - this helps when potential-charges in FitPotentialAction have been wrongly given or when DoValenceOnly plays foul. commit f7ce2b4ed7b470fa35fec3474470f1ed5e664e56 Author: Frederik Heber Date: Wed May 1 08:31:54 2013 +0200 FIX: HomologyGraph::operator<<() did print last comma, too. commit 24ac59f8087402366f826c725d203999e0bb3973 Author: Frederik Heber Date: Tue Apr 9 09:43:15 2013 +0200 Added PotentialTypeValidator. - checks that user has entered a type name known to PotentialFactory. - depends on CONDLEVMAR to be compiled in. - pulls in libMolecuilderPotentials, FunctionApproximation, and levmar's libs if compiled in. commit 931077e6683b526f794c57753ad3fa7e42f94a10 Author: Frederik Heber Date: Tue Apr 9 09:46:49 2013 +0200 Using PotentialTypes in PotentialFactory. - used for creating the type to enum maps and inverse automatically. commit a8666630270affc2ef51ac25940065a01e52a1bd Author: Frederik Heber Date: Tue Apr 9 09:46:35 2013 +0200 Added PotentialTypes. commit e2925fd7f1c9a7ab18fe71b5a40598b65ddb05dc Author: Frederik Heber Date: Fri Apr 5 17:09:16 2013 +0200 Split long-range calculations into two parts to overcome E-N-potential problems. The general problem is that smeared-out nuclei charges cannot interact with electron charge densities as they always overlap, hence we always make a large error. The idea then is - as the potential energy is symmetric both densities - to flip from N-E to E-N, i.\,e. to take the electron potential and evaluate at nuclei positions instead of smeared-out nuclei charges with eletronic charge distribution. However, then we need to make two calculations for the four contributions: E-E, E-N and N-N, N-E (=E-N). - new enums SampleParticles_t eventually tells InterfaceVMGJob whether to sample the nuclei charges onto the grid or not. - TreatGrid_t tells InterfaceVMGJob whether to actually add the electronic charge onto the grid (this was added but is actually not required anymore). - FragmentationAutomationAction::performCall() now creates twice as many long-range jobs. This requires two variables in VMGData for storing integrated long-range energy: electron_long, nuclei_long, as both calculations are combined into a single VMGData instance per fragment. - Summation of long-range contributions is split into three instead of formerly two parts: electron (E-E), nuclei (N-N), and mixed (E-N). This allows to easierly check their cancellation. This needs new member in fusion map and name in printKeyNames. - naturally, the enums have to be passed a long way: VMGFragmentController, VMGJob, VMGData. - VMGData now has serialization version 1 due to new entry. - we enhanced documentation in FragmentationLongRangeResults::operator()() of how and what is summed per level. - FIX: InterfaceVMGJob::ImportRightHandSide() subtracted grid instead of adding it. Now, we set correct sign of electron charge distribution in MPQC. - TESTFIX: Regression test AnalyseFragmentResults now has short- and long-range part. Long-range part is only diff'ed when the compiled code has the capabilities. commit 5281ff99623f1f5b7ed8ddd755f2d6daf60cc077 Author: Frederik Heber Date: Wed May 1 09:10:49 2013 +0200 REFACTOR: extracted initLookups() in FragmentationLongRangeResults and ..ShortRange... commit 7814081154ced1c27fae3a7fae5bc9f98b98e424 Author: Frederik Heber Date: Wed May 1 09:10:04 2013 +0200 FIX: Added inline comparators for IndexSet::ptr, fixed IndexSetContainer cstors. - we simply use those of IndexSet. - this is important to allow IndexSet::ptr as (sensible) keys in maps. - IndexSetContainer created superset AllIndices only when instantiated from a KeySetsContainer, not when from SortedVector. Copy&pasted createSuperSet() for these cases. Sadly, all very similar but immense work to avoid the c&p. - this issue appeared because the inline comparators dereference IndexSet::ptr, hence uncovering that AllIndices is still NULL. commit e4721d33628be79299075ae6aecaaaec2bf53f4a Author: Frederik Heber Date: Thu Mar 28 15:02:07 2013 +0100 FIX: Average forces in InterfaceVMGJob only if there actually are some particles present. - otherwise we divide by zero. commit 10f0cb73e0cc1105d7dc5360f9c6409f9674a51e Author: Frederik Heber Date: Thu Mar 28 15:00:54 2013 +0100 VERBOSE: Increased verbosity level for grid printing. - grid values are really too numerous ... commit b6b21a5af3ef8085052c11ae4c00c67da135353a Author: Frederik Heber Date: Wed Mar 27 13:07:15 2013 +0100 Added option DoPrintDebug to FragmentationAutomationAction. - this controls whether VTK debug grid are printed to file or not and also whether DebugJobs are used. commit 6ff62c8bb90891ea66dfc4882a5f7298de44ba0c Author: Frederik Heber Date: Wed Mar 27 12:26:13 2013 +0100 Added DoValenceOnly has new option to FragmentationAutomationAction. - this carries over to MPQCData, MPQCJob, MPQCFragmentController, and VMGFragmentController, that need to pass on the option. - Changes to MPQCData have been caught by increasing serialization version. - TESTFIX: Redid files for regression test AnalyseFragmentResults. commit 53c579a3b96b431c878643036ac24879b8bfe2bb Author: Frederik Heber Date: Wed Mar 27 12:23:26 2013 +0100 Removed fragment as parameter from VMGController::createLongRangeJobs(). - we can't use the fragment due to issue with saturation hydrogens anyway. commit 4f04ab893d4a13da0d15780297e292e432c9536a Author: Frederik Heber Date: Thu Mar 21 10:33:31 2013 +0100 Using boost::graph to obtain maximum matching for bond degree correction. - added bimap to boost.m4, added boost_bimap and boost_graph to configure.ac. - rewrote createMatching() in BondGraph with boost::graph, code mostly taken from maximum cardinality matching example. commit 326000af78937d00c935278d1a92caff13b936cd Author: Frederik Heber Date: Tue Mar 19 14:32:21 2013 +0100 BondGraph::CorrectBondDegree() now allows for incrementing only on a subset. - is used to first increment backedges, then treeedges. commit 378fc6b3794e75dfde944b7b41cd15a3a54f23fd Author: Frederik Heber Date: Tue Mar 19 12:04:34 2013 +0100 Refactored CorrectBondDegree() and resetBondDegree() out of atom_bondedparticle. - both functions are for the moment placed in BondGraph but will eventually merge. commit 4b62d3aefaf4e4a4eed0441b7235d3d1a06b9dd4 Author: Frederik Heber Date: Tue Mar 19 12:04:06 2013 +0100 GLMoleculeObject_bond sets width of cylinder according to BondDegree. commit 2d51371afb872e3cf8e52c8752229da623465311 Author: Frederik Heber Date: Tue Mar 19 12:03:17 2013 +0100 GLMoleculeObject may set scale independently for each component. - this will allow changing of the width of the cylinder representing a bond. commit 1f693d3016afcc34fe51822a565d2dba7c063d24 Author: Frederik Heber Date: Tue Mar 19 09:40:28 2013 +0100 Wrapped Bond::BondDegree in getter. - This is preparatory for a new signal DegreeChanged. commit 88ada9d908cbfda14b8a90dc5461329111008875 Author: Frederik Heber Date: Mon Mar 18 22:08:17 2013 +0100 Enhanced BondedParticle::CorrectBondDegree() to first fill up valency. - in order to get 1,3,1,3 for simple polyine chains, we now have an extra rule to rather pick the candidate closer to fulfilling his valency. commit c8bbf26e42ce63833eeaf0d6c962347ba595ba49 Author: Frederik Heber Date: Mon Mar 18 19:45:00 2013 +0100 FIX: Added update() after show() in QtMainWindow. commit 70db8f3d2544d28a29353cbdfd3c39dd4ea5002a Author: Frederik Heber Date: Mon Mar 18 19:43:08 2013 +0100 FIX: Significantly simplified observer use in GLMoleculeObject_bond. - stored bond is now just reference. As if we store the bond::ptr, we prevent the bond from being free'd when removed. - we additionally store leftatom and rightatom as Observable to know when their notifications have arrived. We also store both ids for quick and safe BondRemoved signalling. - dstor now always calls signOff()s, elsewhere we just delete ourselves. commit 411202d11c9be919e416a6a7fdea33997c3baa52 Author: Frederik Heber Date: Thu Mar 21 17:55:08 2013 +0100 FIX: Lowered verbosity of RepeatBoxAction. commit ba6b5c67ad93373653302dbe92a156d6a4367140 Author: Frederik Heber Date: Mon Mar 18 19:42:28 2013 +0100 FIX: Assert wrong way round in GLWorldScene::removeShape(). commit 691318150bfa891f9352e2ebc6b228e22d710743 Author: Frederik Heber Date: Mon Mar 18 19:40:52 2013 +0100 FIX: GLMoleculeObject_shape did tesselate with fixed radius. - this radius is too small for large shapes (e.g. sphere with radius 20). - we now approximate the radius estimated from the surface area of the shape. commit 708277b9c1c504a9afcd99e6e8e14984efa62bf1 Author: Frederik Heber Date: Mon Mar 18 19:34:02 2013 +0100 FIX: Using fixed Observer in CodePatterns 1.2.6. - we now require CodePatterns 1.2.6. - Notifications now use subjectKilled() when the Observable they are associated with is destroyed. This allows Observers that are just sign on to a single channel safely sign off. - also, derived Observable classes must not remove their Channels and Notifications by themselves. This is done by the Observable base class. Otherwise, subjectKilled() is not called. - changed AtomObserver: Is directly connected to the atom class, AtomInserted and AtomRemoved called in its cstor and dstor. The World has nothing to do with it. However, we have to make sure AtomObserver is purged after World. - Fixed also some faulty uses of ObserverLog and we always insert into NotificationChannels with static_cast to Observable for clarity. commit 79d0b9f64d8772afce2313b503063251d4ef0e74 Author: Frederik Heber Date: Sun Mar 17 16:59:11 2013 +0100 FIX: Fragmentation requires a bond graph with correct degrees. - hence, we always correct the bond degree before fragmentation as config files containing adjacency -- such as pdb -- do not contain bond degrees. commit 1d2d01ed7d609f7ea5e51dc8825133772d41911b Author: Frederik Heber Date: Mon Mar 18 19:39:07 2013 +0100 Fixing minimum sensible length for LinkedCell_Controller. - we did use the minimum sensible length for getBestModel() but not for the actual creation. - extracted code into function getSensibleMinimumLength(). - fixed (and documented) formula for calculating min_distance. - we also can now also deal with systems that are mostly 2d or 1d. commit 0773bdd30e9bd9334bfac9cd1fd6cbf2a6fce929 Author: Frederik Heber Date: Tue Apr 9 17:04:25 2013 +0200 Added Tcl scripts used for visualizing faulty rolling spheres or the whole surface. - in CandidateForTesselation an error message makes explicit reference to animate_sphere, hence we should place it with molecuilder to eas debugging. - show_surface can be used to visualize the written TecPlot style .dat file containing the triangle information of the tesselated surface. - surfacing produces an animation (i.e. a number of frames) showing the sequence of found triangles and the rolling sphere which can be used to easily produce movies of the on-going tesselation. commit feb5d057925ffe231be9d8cdf90678dffe4298f4 Author: Frederik Heber Date: Tue Mar 19 14:31:32 2013 +0100 Added SelectiveConstIterator, allows for constant iteration over Descriptor-constraint ranges. - is copied from SelectiveIterator. commit 2448f8f6d400d7eefa93cae4b6e5f44796ba4baa Author: Frederik Heber Date: Mon Mar 18 19:38:10 2013 +0100 DOCU: Explained autostart file usage molecuilder.py in python.dox. commit 08a09eda63c7b6467c04ef827e51433887a52fcc Author: Frederik Heber Date: Mon Mar 18 19:36:40 2013 +0100 Implemented getSurfaceArea() and getVolume() for Stretch_imp and Transform_impl. - this is required for correctly guessing sphere radius when tesselating sphere with given number of points. commit 69f38a24fc83bffdebbc2578d63ad2bcf4d52b79 Author: Frederik Heber Date: Sun Mar 17 17:43:01 2013 +0100 FileQtQuery now has filter with all config, all data, and any files. commit 30f28158a66978e117b1ddd6fd72b915ddd135a6 Author: Frederik Heber Date: Thu Mar 14 09:38:23 2013 +0100 MpqcParser now also understands "_n_ atoms geometry" lines. - optimization throws out an additional id per atom which caused havoc when copy&pasted and parsed so far. Right now, we discard the id, assuming they are simply ascending, throwing exception if something else comes along. - also added regression test on this. commit a676f97d402afbaeb2460aeadf494c667be34446 Author: Frederik Heber Date: Mon Apr 8 14:04:16 2013 +0200 Set version to 1.3.14. - MoleCuilder library is now 11:5:1. - Codename "One semi circle" (with unit radius has length of 3.14... ). commit 214240311376bc0a14571b81249ac930343e5a7b Author: Frederik Heber Date: Mon Apr 15 21:30:35 2013 +0200 FIX: Most of the includedirs were wrongly set. - each just needs to add MoleCuilder/, nothing more. commit a3fc46e1ebd9065c243c909e5fef221d7add4620 Author: Frederik Heber Date: Sat Mar 9 14:41:55 2013 +0100 FIX: Fixed printKeyName inclusions a bit. - they are now inline functions. commit 1b5a407a0d61719031c6978e4898248baf9f165f Author: Frederik Heber Date: Sat Mar 9 14:08:18 2013 +0100 VERBOSE: Changed verbosity of Summation process to make a lot less noise on default setting. commit eb32b6fbd2260e7c9b6380e6f02cc40925252bf9 Author: Frederik Heber Date: Mon Mar 11 22:56:29 2013 +0100 Eigenvalue summation uses two sets: added and subtracted values. - only on output do we take the set_difference and print the remainder. - TESTFIX: Modified regression test Fragmentation/AnalyseFragmentResults. commit 5c867eafe92c5d51368d41f115cf042251270e09 Author: Frederik Heber Date: Fri Mar 8 23:57:11 2013 +0100 Added new SetValue Eigenvalues to just add up the set of eigenvalues. - added to MPQCDataMap and to AnalyseFragmentationResultsAction. - added conversion to DataConverter. - On adding, we simply add the eigenvalue to the set if not present. On subtraction, if already exists, it is removed. commit e95c8bc9c392ca62fa570eeffbb677a0cf72c81a Author: Frederik Heber Date: Thu Mar 7 22:46:48 2013 +0100 Re-added printing of eigenvalues as histogram. - TEST: added check of ..._Eigenvalues to AnalyseFragmentationResults regression test. commit 658485804b2fccb281651e7b0882241ace977693 Author: Frederik Heber Date: Fri Apr 5 17:37:54 2013 +0200 Switched off automatic bin width calculation in Histogram. commit 55e1bc203062d6ce285fbba9c783e28963932633 Author: Frederik Heber Date: Thu Apr 11 13:04:34 2013 +0200 FragmentationResultContainer is serializable. - FragmentationAutomationAction stores container in file if given. - AnalyseFragmentationResultsAction parses container from file if given. - this means that calculation of results and analysis can now either be done jointly in one go or split into two separate calls of molecuilder. - added regression test for AnalyseFragmentationResults. commit a3427f795a607e84365d342681c78b46570d042e Author: Frederik Heber Date: Fri Apr 5 17:37:10 2013 +0200 Split FragmentationAutomationAction into calculation and analysis. - analysing and writing results is now done in AnalyseFragmentationResultsAction. - FragmentationAutomationAction only guards over calculation of results and submits them into newly created FragmentationResultContainer. - singleton FragmentationResultContainer stores KeySets and associated FragmentResults for later re-use. - this is preparatory for storing to and retrieving results from file. commit fbf143b9fb3d409937862a091c997ab0428c8b3e Author: Frederik Heber Date: Wed Apr 10 18:11:13 2013 +0200 Placed Containers, Converter, and SetValues as subfolders into Summation. - also libMolecuilderFragmentationSummation is now a shared library, easing linkage to libMolecuilderJobs, and contains all of the three convenience libraries. - libMolecuilderFragmentationSetValues is now again convenience, as contained in ..Summation which in turn is shared. - KeySetsContainer right now is the link between lib..Summation and lib.. Fragmentation. Hence, we had to extract the module and change it into a shared library, as it is required by libMolecuilderJobs through ..Summation but also by ..Fragmentation that heavily relies on this container. - moved parseKeySetFile down into Fragmentation folder to KeySetsContainer, it is also contained in new shared library libMolecuilderFragmentation_ KeySetsContainer. commit 8e84fee2b39a56651444a15cdef1d2ed8bad8999 Author: Frederik Heber Date: Wed Apr 10 15:21:37 2013 +0200 Moved ...Data and all related classes into new subfolder Containers. - this separates Containers from Controllers and thus splits off dependency on JobMarket. - also MPQCData and VMGData are containers related rather to fragmentation and not to the Jobs. - modules on Containers who use JobId_t now use size_t in case of missing JobMarket. - adapted many includes accordingly. commit 41040547d7cca2be6d6456c7796d5460aa47b92e Author: Frederik Heber Date: Wed Apr 10 17:06:44 2013 +0200 FIX: ...Data_printKeyNames lacked printKeyNames include and made inline. commit 7b049409753f488e726192ddd4e7610aed7e12b5 Author: Frederik Heber Date: Wed Apr 10 14:56:31 2013 +0200 Moved SamplingGrid... over to Fragmentation/SetValues. - adapted all includes accordingly. - libMolecuilderSetvalues is now shared. - the dependency was wrong so far. Jobs are intimately attached to the JobMarket (as are Fragmentation/Automation's controllers) but the grid stuff is just another setvalue that stands on its own. Hence, stuff in Jobs may depend on modules in Fragmentation. commit 0cd8cf709454eaffa0f432ef7e53ded096c624a4 Author: Frederik Heber Date: Thu Mar 7 21:53:50 2013 +0100 Split FragmentationResults into ..ShortRange.. and ..LongRange... - split operator and ShortRange requires just one FragmentData. - removed printMPQCResults() and some other functions from FragmentationAutomationAction. commit 503acc1d5410844da8877333a7e128ad0a2ab6ee Author: Frederik Heber Date: Wed Mar 6 20:51:06 2013 +0100 MPQCJob and MPQCData now have bool to decide whether to sample electron density or not. - this passes on DoLongRange from FragmentationAutomationAction. - MPQCFragmentController::addJobsFromQueue() now does some more manipulation besides changing the id to something valid. - using boost::polymorphic_downcast and boost/cast.hpp (added check to boost.m4). commit bae7bcfcfe9b08823c3f099f8441af87980bc96f Author: Frederik Heber Date: Mon Mar 4 15:14:10 2013 +0100 Outsourced parsing of fragment files into ParseFragmentJobsAction from FragmentationAutomationAction. - We now solely rely on the job queue to contain all the information we need. - FragmentationAutomationAction now clears queue after calculation. commit 4f44aefdaa34873fa504f8dd54e1775112725c9c Author: Frederik Heber Date: Thu Apr 4 14:27:40 2013 +0200 Added ForceMatrix::parseIndices() from indices of KeySetsContainer. commit ac9ca46967e95fa2cebeb516a6755eef363225d5 Author: Frederik Heber Date: Mon Mar 4 14:54:11 2013 +0100 FragmentAction creates FragmentJobs if no output-types are given. - ExportGraph_ToJobs now creates jobs for a FragmentJobQueue. - new singleton FragmentJobQueue to contain FragmentJobs. - MPQCFragmentController rewritten to use FragmentJobQueue, too. - FragmentationAutomationAction just fills FragmentJobQueue with given fragment-jobs. - added KeySetsContainer::clear(). - removed ExportGraph::operator(). - Smaller fixes to Fragmentation(Automation)Action w.r.t. optional parameters. - We now require JobMarket 1.1.3, as we need FragmentController::changeId(). commit dd0c8ff580ba75fc5f2bb4e7d0bdfce0f61abdec Author: Frederik Heber Date: Tue Mar 5 10:07:15 2013 +0100 Removed all error messages on missing values in CommandLineUI. - these have to be handled by validators, empty values might actually be allowed. - we now catch boost::bad_any_cast exception and return false if caught. commit c1a2210e3faf8cc75a971bc2c81cffdb88c35b4b Author: Frederik Heber Date: Thu Mar 7 22:01:38 2013 +0100 FIX: SubsetMap::getMaximumSetLevel() did not catch empty Lookup table. - this becomes evil when the given index set is empty. commit 78ca37db8e4c1e8e03b9ffb47204678aed15ebf2 Author: Frederik Heber Date: Tue Mar 5 10:10:17 2013 +0100 FIX: printAtomMask() becomes very expensive for large molecules. - now we use DoLog() to check whether we print the stuff at all. commit c6ab913316bac687f20825a515fe6a582abd53fe Author: Frederik Heber Date: Mon Mar 4 18:40:55 2013 +0100 Wrote faster molecule::FindAtom(). - due to local id nature in Fragmentation many functions there make heavy use of this function. However, has it scales linearly, this severly limits the abilitiy to tackle large molecules. - as quick short-cut we installed a map from local to global ids, updated by insert() and erase() and used by FindAtom(). commit 356ae4028ff26fd2bd1fc9ab146fb3299b3a78b3 Author: Frederik Heber Date: Fri Apr 12 13:26:07 2013 +0200 FIX: molecule::AddAtom() inserted indirectly two times. - atom::setMolecule() also called molecule::insert(). - this fixes issues with redo of fill-surface regression tests. commit a1d035b607ef83181b73011d15d49b99f191f507 Author: Frederik Heber Date: Mon Mar 4 18:11:03 2013 +0100 Converted TouchedList from int* to std::vector in PowerSetGenerator. - this is preparatory for removing use of local numbers from fragment KeySets. commit 569e4266ba1a86102a1aa628754109f76b5f4ad9 Author: Frederik Heber Date: Mon Mar 4 10:06:39 2013 +0100 FragmentationAction does not reinsert first graph anymore but copies it. commit 8ac66b4e4ec8dfc129dfdf1062fd96a8b51ce2e1 Author: Frederik Heber Date: Mon Mar 4 10:06:17 2013 +0100 VERBOSE: Lots of changes to verbosity of fragmentation process. commit 830b3e93f20a8a96af1fe51d451d4e9fe1756b75 Author: Frederik Heber Date: Mon Mar 4 10:04:54 2013 +0100 VERBOSE: Changed Parser's verbosity level for stating "Saving changes." commit 7cdf589ccf036e0f97d60e4706154d2a771a947b Author: Frederik Heber Date: Sun Mar 3 22:19:22 2013 +0100 ExportGraph_ToFiles now uses one-by-one procedure to store fragments. - we took MoleculeListClass::OutputConfigForListOfFragments() and also StoreForcesFile and adapted them. commit c396753f3715e527d3df8060e6ac6d846655f950 Author: Frederik Heber Date: Sun Mar 3 22:15:14 2013 +0100 Added saturate() to SaturatedFragment. - basically, this is AddHydrogenReplacementAtom() but stripped down a bit as we use hydrogens from the pool and as atoms for the fragment need not be copied anymore, we don't need all the father mambo jumbo. - SaturatedFragment additionally now needs to know about how hydrogens are treated and whether we actually saturate. - SaturatedFragmentUnitTest requires libLinearAlgebra. commit 6cabaacfd37f433f03f6fb9f02c40aa5468a35e4 Author: Frederik Heber Date: Sun Mar 3 11:26:14 2013 +0100 Extended ExportGraph to spill our molecular fragments one by one. - the biggest scaling issue with fragmentation is the number of hydrogen atoms that are created to saturate all (e.g. 200.000 fragments frm 3.000 atoms at order 6!) the molecular fragments. - hence, create one by one and have a controlled pool of hydrogens that are re-used. commit 7d5fcdb109e3bb01fe2b96e13f2ba11ded123b04 Author: Frederik Heber Date: Sun Mar 3 11:25:48 2013 +0100 Added SaturatedFragment as a wrapper to KeySet with saturation hydrogens. commit c3df2354750ff648d82e55250da81445e260d5f0 Author: Frederik Heber Date: Sun Mar 3 11:24:46 2013 +0100 Added HydrogenPool for controlling a set of saturation hydrogens. commit 3b0d2ad85cb4bd08268035748401cb0f302d7473 Author: Frederik Heber Date: Sun Mar 3 09:04:21 2013 +0100 Added more timing output to cleanUp(). - final printTiming() is now either brief or exact, not both. - this is necessary as otherwise total time does not add up. commit 8652a307767040601be3b17560eef6939d7116f3 Author: Frederik Heber Date: Sun Mar 3 09:03:22 2013 +0100 Moved some functions from ExportGraph_ToFiles into ExportGraph. - this is preparatory for ExportGraph_ToJobs as the functions for creating molecules are needed there, too. commit 22b786ada90f98f487f6059fa83cd4ab52169ec7 Author: Frederik Heber Date: Fri Mar 1 22:15:10 2013 +0100 Made SubgraphDissection a MakroAction and added UpdateMoleculesAction. - MakroAction does not delete the ActionSequence eventually and it now obtains just a ref, not pointer. - TESTFIX: Changed ActionSequenceUnitTest::doesUndoTest() accordingly. - SubgraphDissection is right now still very ugly with lots of copy&paste from the preprocessor header files to get every function in place. - it could be made into a MakroAction because all three internal Actions do not require any options. How to achieve this with options is unsolved. commit 560cbfdc6f64a3ba2d8d199f06984d8ea1f79247 Author: Frederik Heber Date: Fri Mar 1 20:33:17 2013 +0100 Added a DestroyAdjacencyAction with undo/redo. - also added regression test on all. commit 055ad7d1ba1b8d09c8c3cf8f1dfdf2b27859c787 Author: Frederik Heber Date: Fri Mar 1 20:32:41 2013 +0100 Added Undo/Redo functionality to CreateAdjacencyAction. - also added regression test on whole functionality. commit f2fda61612d15d768b57a21c2e5147bd9c1e1cdd Author: Frederik Heber Date: Mon Apr 8 13:44:05 2013 +0200 Set version to 1.3.13. - MoleCuilder library is now 11:4:1. - Codename "Three thirteen" (is a variation of the card game Rummy). commit ddeed29182c50177cfed25d04ae6450b55cb059c Author: Frederik Heber Date: Fri Mar 1 20:31:20 2013 +0100 Using enhanced precision of CodePatterns' Chronos. - we now require version 1.2.5. commit d948b40a74d5784455a4b7b4b4568e70f45ccfc7 Author: Frederik Heber Date: Fri Mar 1 20:28:42 2013 +0100 atom_bondedparticle::addBond() returns no longer const bond::ptr. - this comes in the way when we want to set the bond degree right away. - also added convenience functions for addBond() and removedBond() that act on the current time step. commit 31021ab41bc28ab43953c03d2923795a0813d773 Author: Frederik Heber Date: Fri Mar 1 20:25:36 2013 +0100 Optimized Bondgraph detection. - VectorSet::minDistance() now operators on the set (translating by -point). - VectorSet::minDistSquared() removed as is the same as minDistance(). - LinearAlgebra version is now 3:2:0, API is 1.0.5. - decrease log level of DepthFirstSearchAnalysis' msg about disconnected subgraphs. - Box::internal_explode() does not clear() internal_list, avoing constructing Vectors all the time. - BondGraph::CreateAdjacency gives some more message to tell when it does what. commit cf1183d7bdeb0875ce0c83428c76a98a221a957e Author: Frederik Heber Date: Wed Feb 27 12:13:59 2013 +0100 FIX: LinkedCell_Controller::updateModels() tried toString()'ing NULL. commit 4f54b36ce118b509a6b2b0778e1a561a9cb1d0d9 Author: Frederik Heber Date: Wed Feb 27 12:13:13 2013 +0100 FIX: AllAtomsInsideVolumeAction stored state with additional descriptor. - AtomByShape was also used for selected_atoms stored in state for undo. commit 5589e7e18abfdfbb10e92c1f7c654f21e9d14cbd Author: Frederik Heber Date: Tue Feb 26 22:45:20 2013 +0100 Added StoreSaturatedFragmentAction to save a set of atoms satured with hydrogen. - add regression test on new action with a graphene sheet. - the test is deactivated (with respect to diffing the output) as the bond degree correction is far not stable and the output is hence random with respect to the saturated hydrogens. commit d5b90b345dcd1931f7bfd85129e8e73c9f7fdc90 Author: Frederik Heber Date: Tue Feb 26 17:31:48 2013 +0100 FIX: XyzParser had lacking precision beyond coordinates of 100000. - made the coordinates be written via a printCoordinate() function for XyzParser, too. Beyond 1000 we write with fixed 3 digit precision. - added regression test on printing coordinates with large components. commit 15463ae05a1015a9eb93887e3c672a209314163a Author: Frederik Heber Date: Tue Feb 26 16:58:21 2013 +0100 Extended LinkedCell_Controller::getBestModel() to take box into account. - We now limit the number of cells for all models to at most 10^3 cells per axis. commit 33501153ed2eaf312d54e321e686e536cadb10ce Author: Frederik Heber Date: Tue Feb 26 16:28:40 2013 +0100 VERBOSE: Trimmed down verbosity when creating a bond graph and on dissection. - with default verbosity now not every added bond is given in BondGraph. - also new molecules are not printed in DepthFirstSearchAnalysis. commit 3b0cfc2b8b6fd8f8fac57d50baee487f7bc05f86 Author: Frederik Heber Date: Tue Feb 26 16:28:13 2013 +0100 FIX: Coloring of bond halves was wrong way around. commit fae816b9643d3928ec9affd3a69c3fcee4b5de8c Author: Frederik Heber Date: Tue Feb 26 16:27:53 2013 +0100 FIX: Water molecule in data/molecules had wrong bond angle. commit 03abd0b2e542f683b2720a8700bc136f560fe3bc Author: Frederik Heber Date: Tue Feb 26 13:50:34 2013 +0100 FIX: World::getLinkedCell() does not allow distance less than 1. - small distances make the linked cell approach very memory-intense, we now give a warning and set it to at least 1. Also asserting that it is positive. commit 1f5e97596b244dcd8edfe8582b2ad28fe3cd3913 Author: Frederik Heber Date: Tue Feb 26 13:49:51 2013 +0100 FIX: PdbParser::saveLine() did not restrict some id values. - ChainId has only 4, serial only 5 ids. We now make sure that only as much digits are printed. commit 105b7212f45b30286258701106e5ec9d064c080b Author: Frederik Heber Date: Tue Feb 26 10:45:40 2013 +0100 FIX: PdbParser skipped when coordinate exceeded 9999.999. - the problem is that with fixed, setprecision controls the digits after the dot only and it is not possible to get the desired behavior with a combination of setfill, setw, and setprecision alone. Hence, we wrote our own static printCoordinate() helper for that. - Added regression test for printCoordinate() to ParserPdbUnitTest. commit e9bdeff648884b0f7b2819ea260bf685fa1774fa Author: Frederik Heber Date: Sun Feb 24 20:09:59 2013 +0100 TESTFIX: Analysis' DipoleAngularCorrelation() and BinData() suffered numerical instabilities. - cut precision down to 6 digits which also matches with output precision. - TESTFIX: As we use floor() to round, the least digit changed in some cases, i.e. a change within 1e-6. Corrected in regression tests Analysis/ DipoleAngularCorrelation. - TESTFIX: same with AnalysisPairCorrelationUnitTest. commit 8c9049e13352c383db2c18e25186fe970c8272fd Author: Frederik Heber Date: Mon Mar 11 16:06:12 2013 +0100 DOCU: Updates for qt-gui and shaperegistry documentation. commit 5c3ad5d9a227a0728ad7d100ab933425808a2ff9 Author: Frederik Heber Date: Wed Dec 19 16:32:48 2012 +0100 Modified SaturationPotential to allow fitting to e.g. HCC as well. - i.e. now not only saturated elements are fitted but also "saturated" C-C bonds. commit 64bdfd990fda695c8f48e1b5abf623b7c90c85dd Author: Frederik Heber Date: Wed Dec 19 16:31:05 2012 +0100 Changed Extractor's combineArguments() to neglect same arguments. - so far, we just add the two given argument vectors. Now, they are sorted and made unique. commit 035c0da1f58fb5190abeb335461b2da4ebc8375b Author: Frederik Heber Date: Wed Dec 19 13:41:52 2012 +0100 Removed typedef charges_t from FunctionModel, using SerializationPotential's instead. commit da2d5c9d76dfbd881fcf84f38ad0fc0c9d8347a8 Author: Frederik Heber Date: Wed Dec 19 13:38:49 2012 +0100 Removed parameter charges from getFragmentSpecificExtractor(). commit 3d255915b7f2233d996e6bf9358789e4d408da65 Author: Frederik Heber Date: Tue Dec 18 13:39:10 2012 +0100 Added virtual stream_to/from functions to SerializablePotential. - this allows overriding in SaturationPotential and hence printing/parsing of both contained types. commit dbcc47a93c50f23857b217d00154054ae9fa7a31 Author: Frederik Heber Date: Fri Dec 14 16:58:28 2012 +0100 Arguments for PairPotential_Angle were used in wrong order. commit 86345621313a5c2e5dd9e1f31a32e48bd919ac66 Author: Frederik Heber Date: Fri Dec 14 16:57:49 2012 +0100 Small changes to printAtomMask(). commit 5a495592f5cbf7e76040f7670276d3cd492330c4 Author: Frederik Heber Date: Fri Dec 14 16:56:48 2012 +0100 We remove all single-index fragments in FragmentMolecule(). - this is required when including hydrogen, as resulting single atom/hydrogen fragments cannot be calculated within CLHF of MPQC. commit 276ac63888a7505822de9e689e98a8925a30547d Author: Frederik Heber Date: Fri Dec 14 16:56:00 2012 +0100 FIX: ExportGraph_ToFiles needs to know about hydrogen treatment to not copy present hydrogens. - we only copy if hydrogen is excluded. commit a8212739425be810afd4c74296d6644463bfb979 Author: Frederik Heber Date: Tue Dec 11 11:46:02 2012 +0100 FIX: SaturationPotential takes both angles in each triple. - multiplying with 0.5 does the trick. commit 4ff79cc79a9f0e621e71a7e4db1e10c086b45ff1 Author: Frederik Heber Date: Tue Dec 11 11:43:46 2012 +0100 LevMartester casts FunctionModel to SerializablePotential if possible to print parameters. commit 77552ddb22cc6dc0fe32cea87789e59eebe4f06b Author: Frederik Heber Date: Tue Dec 11 11:43:24 2012 +0100 FIX: LevMartester gives which distance in written table refers to which argument. commit 46fcc09fc78124f7064e87152a1f1355ee866453 Author: Frederik Heber Date: Tue Dec 11 11:42:50 2012 +0100 LevMartester has new option fragment such that fragment to use as training data may be defined. commit 39a07a9af70948974410186c39e159aacc6a82a4 Author: Frederik Heber Date: Mon Feb 25 10:40:03 2013 +0100 HomologyContainer now gives iterator on its keys, i.e. stored HomologyGraphs, only. - this may be used to look (efficiently) for the correct fragment. commit 9291d04e2ad151a7ed6cce0346b5c80b82895d87 Author: Frederik Heber Date: Tue Dec 11 11:39:30 2012 +0100 Split saturation with hydrogen of treatment of hydrogen. - now saturation means dangling bonds are saturated, and treatment means that in a bond graph hydrogen is skipped. - FragmentationAction and DepthFirstSearchAction adapted in options. commit c7c6155018c548bf8d894a8be3261b2de7dc863c Author: Frederik Heber Date: Tue Dec 11 11:37:58 2012 +0100 FIX: FragmentationAction gave wrong number of molecules. commit 1edc874eb8388a3b85616a0efec609992af308e5 Author: Frederik Heber Date: Wed Feb 27 13:40:25 2013 +0100 Set version to 1.3.12. - MoleCuilder library is now 11:3:1. - Codename "Meta Language " (is a general-purpose functional programming language, short: ML). commit c16ccee3baa1892e593c3f863c7a2615e8ac5b0b Author: Frederik Heber Date: Thu Dec 6 15:16:57 2012 +0100 Training fragments are sorted by error to fit value into a map. - this allows checking which fragments are the "worst" described. The numbering is checked to coincide with BondFragment.. files numbering. commit 3e236eed34eca516200fd648209baf70fdf4a34b Author: Frederik Heber Date: Fri Nov 30 18:24:28 2012 +0100 LevMartester now fits potentials given on the command-line. - instead of three we only fit just one potential. - potential is instantiated via a PotentialFactory. commit d76ce74b92b36c40ccdeb64d1b9aca242a189bcb Author: Frederik Heber Date: Fri Nov 30 18:24:03 2012 +0100 Added PotentialFactory for creating potentials. commit 05f4378468313b6aa270bc13f5fe8cc378ae33b1 Author: Frederik Heber Date: Fri Nov 30 17:46:30 2012 +0100 LevMartester now contains three generalized fits to Angle, Morse, and Saturation potential. commit e36ba235524a399519656926a7dd7087945bbbd5 Author: Frederik Heber Date: Fri Dec 7 16:13:34 2012 +0100 FunctionModel extended by triplefunction setter, does nothing by default. - SaturationPotential's setTriplefunction() removed. - Tersoff's setTriplefunction now truely sets the function. - LevMartester always sets a triple function whether the potential uses it or not. commit 0dad5f9b6ef661b1712806b83f1f1f3da56f8bb3 Author: Frederik Heber Date: Fri Dec 7 16:01:07 2012 +0100 SaturationPotential now has an internal triplefunction. - SaturationPotential simply to get all possible distances and from these we extract triplets of matching distances via an internal triplefunction as input to PairPotential_Angle. - rewrote operator() and parameter_derivative(), gradients are remain ok. commit 775dd1aa628462c5a79c38c46bfea677334fad29 Author: Frederik Heber Date: Fri Nov 30 17:44:24 2012 +0100 Triplefunction for Saturation and Tersoff potential have to be given extra. - this avoids a loop with TrainingData and getFragmentSpecificExtractor. commit d52819ede14972f2bbcf4abdb80e0a368502cc11 Author: Frederik Heber Date: Fri Nov 30 17:35:37 2012 +0100 Extracted initial parameter setting per specific potential to FunctionModel::setParametersToRandomInitialValues(). - this is preparatory for generalizing potential fitting. commit 7b019a82dbda11efbf4088b98f24d8b726e7bf81 Author: Frederik Heber Date: Fri Nov 30 16:33:58 2012 +0100 Extended FunctionModel by getFragmentSpecificExtractor() definition. - shifted extractor_t from TrainingData to FunctionModel. - implemented function for every specific potential. - this is preparatory for generalizing function approximation in LevMartester. - we make use of the newly introduced extractors in the potentials and the required number of charges is ASSERT'd. commit 69fcba3ecb94f92967b54db821c78debf594abe1 Author: Frederik Heber Date: Fri Dec 7 15:48:44 2012 +0100 FIX: Extractor's convertTargetsToArguments() did not set argument_t's indices correctly. - we cannot use gatherAllSymmetricDistanceArguments() as then the correct indices are lost. Hence, we rewrite convertTargetsToArguments() to convert directly to arguments (as also the naming suggests). commit 9897ee9c59adb031cb95a9151eb710d1c1597502 Author: Frederik Heber Date: Thu Dec 6 11:39:49 2012 +0100 Added combineArguments to Extractors. - this is required for chaining arguments_t returning functions in a tree-like fashion, as e.g. will be required for SaturationPotential:: getFragmentSpecificExtractor(), which has two types but needs to extract arguments for all possible three combinations. commit df350cb1331cc18177269e53b2fb8b9d48232cf4 Author: Frederik Heber Date: Thu Dec 6 11:38:00 2012 +0100 Added reorderArgumentsByParticleTypes() to Extractors. - this is the more proper function instead of reorderArgumentsByIncreasingDistance() as we actually need to match with those particle types of the potential receiving the arguments. - reorderArgumentsByIncreasingDistance() was a hack only for angle potential. - now Extractors namespace needs to know about ParticleTypes_t, so far the typedef is copied. commit caa00e9205bd9a094ecd605ffbf2f9685af58b83 Author: Frederik Heber Date: Thu Dec 6 11:35:37 2012 +0100 Added gatherAllDistancesFromFragment() to Extractors. - gatherDistancesFromFragment() did only get the first matching distance, but e.g. for SaturationPotential we need to get all from (8,1,1) for types (8,1). - this involved three helper functions initially similar in spirit, but we get all combinations via a simple recursion with pickLastElementAsTarget(). commit dbf8c8d003f93ca8d66a9d16660d7845c35ce59c Author: Frederik Heber Date: Fri Nov 30 09:41:39 2012 +0100 FIX: Now default parameters are present for every potential and used for check_derivatives. - checking derivatives with exp() is numerically very unstable as large numbers may easily occur. Hence, rather check the derivatives at some fixed but nicely behaved spot that is probably not the minimum. commit b760bc37fcba569416af3346dc24c68ce2cfbee2 Author: Frederik Heber Date: Wed Nov 28 12:47:59 2012 +0100 Added ParticleTypeChecker functions in own namespace and added checks to every specific potential. - these check whether typesin argument_t matches with potential's ParticleTypes. - replaced row of Asserts with ParticleTypeChecker call in all specific potentials. commit 93e908e4244b99ce59c7cb242fb96cff59570b80 Author: Frederik Heber Date: Fri Nov 30 09:44:34 2012 +0100 Added SaturationPotential::symmetrizeTypes() to get types for both Morse and Angle part right. - we now have to give two, not three charges for SaturationPotential in LevMartester. commit 55fe7880f56f0159a3633b579bba428b3d3c3b82 Author: Frederik Heber Date: Mon Nov 26 23:24:11 2012 +0100 All specific Potentials now assert that arguments have charges matching with internal ParticleTypes_t. - this ensures that we don't have to pick indices.first == 0 or something similar spooky anymore. - TESTFIX: Modified Potentials/Specifics/unittests that now need to specify the (correct) types in each argument_t. commit b3eabc5ab97979bd66a5016b2618193a6479b544 Author: Frederik Heber Date: Fri Nov 30 10:07:59 2012 +0100 SaturationPotential now requires symmetric distances. commit b10ada8800f87099427e2d2428ed97af7db6968a Author: Frederik Heber Date: Sun Nov 25 21:06:13 2012 +0100 Initial parameters in LevMartester randomized for Morse and Angle. - NOTE: We must not use resulting ones as initia ones for SaturationPotentia. This will cause the check_derivative to fail as at or close to the minimum the derivative directions is numerically unstable. commit 0496af770fd03f6a308156b13e9d19fb5e12e600 Author: Frederik Heber Date: Sun Nov 25 21:05:48 2012 +0100 LevMartester uses SerializationPotential::operator>>() to print resulting parameters. commit ed255138d5de310101fe846f80532d4b0c19bfcb Author: Frederik Heber Date: Sun Nov 25 10:10:44 2012 +0100 All Pair_.. and ManyBodyPotentials are now also derived from SerializablePotential. - added static ParameterNames, skipping "energy_offset" which should not go to file. - overrode operator<<() and ..>>() for SaturationPotential to print both potentials independently. - adapted LevMartest and all unit tests. commit 6efcaec4b6119396e4609fd8ec76dda69a50c32f Author: Frederik Heber Date: Sun Nov 25 07:37:09 2012 +0100 SerializablePotential is new type to be stored in PotentialRegistry. - added new class SerializablePotential with operator<<() and ..>>() and a a set of virtual functions to be implemented in deriving classes. - added unit test SerializablePotentialUnitTest and mock implementation of such a SerializablePotential. - added exceptions, thrown when parsing of potential containing line fails. - NOTE: empty name/key of a parameter are not printed on output. commit 67cd3abba5d9690e39969a20e1e96f938cfc6574 Author: Frederik Heber Date: Fri Nov 23 08:53:42 2012 +0100 Added a PotentialRegistry for EmpiricalPotentials. - added virtual getName() to EmpiricalPotential and implemented for every currently present specific potential. commit 201199631aff578d9699e96596d4e77f56009266 Author: Frederik Heber Date: Wed Nov 28 10:55:55 2012 +0100 DOCU: Added documentation explaining purpose of potentials. commit 1f3b2a12aaf71d34f942bd688ca79685d455ef54 Author: Frederik Heber Date: Fri Nov 23 10:05:51 2012 +0100 FIX: double inclusion prevention of Parser/exceptions corrected. commit 691be4f44eb94a5e492928b4b2545595232ccb1a Author: Frederik Heber Date: Mon Nov 26 23:23:13 2012 +0100 FunctionArgument now contains charges, too, and rewrote Extractors accordingly. - gatherDistancesFromFragment is now what we mostly want: Returns exactly the arguments in the way we specify. - PairPotential_AngleUnitTest now has gives additional types to potential's cstor. commit d94e7e3fc61f11855e86da4608b18aaa4aa9eb8a Author: Frederik Heber Date: Wed Nov 21 12:14:08 2012 +0100 SaturationPotential test part in LevMartester checks whether graphs were found. commit edac7ccd053ce7f11d7cd70e65c9058c8ac9a273 Author: Frederik Heber Date: Mon Nov 19 15:25:29 2012 +0100 DEBUG: LevMartester now looks for the oxygen atom in water as HomologyGraph. commit dd8094e48dc5886d8540a479da473cbe753318d8 Author: Frederik Heber Date: Wed Nov 14 11:06:53 2012 +0100 Added getTrainingOutputAverage() used to initialize all_energy_offset in LevMartester. commit 2ba2edc3bc23434fd9afdb60695f6f4d826baac5 Author: Frederik Heber Date: Tue Nov 13 14:03:13 2012 +0100 FIX: SaturationPotential's parameter derivatives seem to be working now. - the problem seems to be the fitting itself is no good, maybe fitting Morse and Angle to CH4 at the same time just does not work ... commit b17e0f1720ab9dbd5bf476331ca6348b89a84adb Author: Frederik Heber Date: Tue Nov 13 14:01:48 2012 +0100 Using getFirstGraphwithTimesSpecificElement() in main() of LevMartester. - Angle, Morse, and Saturation fitting now use this function to obtain the representative graph. - added check whether returned graph is empty, then fitting part is skipped. commit e920d3d78bfcf50bfef7c62b3496caceec76e6e1 Author: Frederik Heber Date: Tue Nov 13 13:58:17 2012 +0100 Added getFirstGraphwithTimesSpecificElement(). - this allows to check a bit less strict than in getting graph via FragmentNode specification. - added FragmentNode getter for AtomicNumber and ConnectedEdges. - added HomologyGraph::hasTimesAtomicNumber(). commit 6cfb355987abdb37bd183bdc167dc48a5c606c8f Author: Frederik Heber Date: Tue Feb 19 17:21:54 2013 +0100 Set version to 1.3.11. - MoleCuilder library is now 11:2:1. - Codename "Lif" (Lif is either old German for ten or means leave. Eleven can be traced to either one-lif or one left.) commit c29c0ae97f3526d9a7d8fa758a816991aa8b2750 Author: Frederik Heber Date: Sat Feb 23 16:38:10 2013 +0100 FIX: triangleintersectionlist suffered numerical instabilities. - if the closest point on a surface to a point is at the edge of a triangle, there will be two "closest" triangles. However, numerical rounding may cause one of them to have a slightly different distance. In case of a very sharp angle, we end up with only one negative SKP and a point presumed to be inside that is actually outside, of the other triangle, with positive SKP, would have been found at the same distance. - TriangleIntersectionList::FillDistanceList() and ::FindClosestBoundaryPointsToVector() now round distance to six digit precision. - TESTFIX: replaced solved_double_sles.data in regression test Filling/ RegularGrid, also now find 367 instead of 366 predicates to be true. commit 0cd22518763f10d70733eca486078706815db851 Author: Frederik Heber Date: Fri Dec 14 17:26:21 2012 +0100 DOCU: Updates optional enable targets and required and optional packets on install page. commit dd966f7cb4448d0fa69df1cba9f9aef8d1e54baa Author: Frederik Heber Date: Tue Feb 19 13:52:48 2013 +0100 DOCUFIX: Extra $ in documentation of ManyBodyPotential_Tersoff. commit eee1b7b187d1af4c9cd78e2a3a4a7c9e7aada611 Author: Frederik Heber Date: Tue Feb 19 13:51:53 2013 +0100 DOCU: Documentation on ShapeRegistry, QtUI changes, validators, and parameters. commit c91572a747f3934784854e5661efee2851231046 Author: Frederik Heber Date: Mon Feb 18 12:03:18 2013 +0100 DOCUFIX: Replaced \text by \mathrm in some formulas. commit d760bb7f23671603e1c139dfb961473ce290ff50 Author: Frederik Heber Date: Tue Feb 19 13:42:38 2013 +0100 REFACTOR: PowerSetGenerator now creates all orders in one go, not limited to one by one increments. - atom_bondedparticle's MaxOrder is not a bool but an int containing the desired final order set by CheckOrderAtSite and compared to AdaptiveOrder to obtain its old meaning. - UniqueFragments now contains a vector of n Graphs to place n-body fragments in that are later combined. Also, cleaned up a lot of old functions and merged stuff into cstor. FreeAllOrdersList() and CombineAllOrderListIntoOne() have been adapted accordingly. - Fragmentation::FragmentBOSSANOVA now uses fully again FragmentLowerOrdersList which now has the above n slots to place n-body fragments in and which is passed by ref to UniqueFragments. - SPFragmentGenerator now always stores the current fragment, only in a specific slot in UniqueFragment's Graphs, and it recurses if there are enough SP levels and plces left. - FIX: BondsPerShortestPath properly prints and informs about resetting the path list. - We checked extra that BondFragments come out exactly as before (same order because of the Graph being a map naturally). The only difference is the OrderAtSite file which now has more than 0/1 values in the second entry. commit b6b5b8369ec9fbcaf739241f22b579d54df1240f Author: Frederik Heber Date: Fri Dec 14 16:58:02 2012 +0100 FIX: Removed Assert of parsable file in AdjacencyList cstor. commit 37e9101f26f594664b048b5c8d408321537230d6 Author: Frederik Heber Date: Mon Feb 18 14:49:21 2013 +0100 FIX: Qt3D changed cylinder offset to barimetric center. - this caused the dreiBein and bonds to be off by half their distance. - this was caused by a change from 19.03.2012 (c0fdc5ba). commit 04cc7e83e97e6f4623661b50d9cdef202458b603 Author: Frederik Heber Date: Wed Nov 21 12:06:00 2012 +0100 Added pretty printer for distance-energy tables. - added TrainingData::getDistanceEnergyTable() for obtaining data in unified table. - added pretty printer writeDistanceEnergyTable() in header file in namespace _detail. commit 52e7dae29cbc64caa98ae4aa363274a2504c5c77 Author: Frederik Heber Date: Mon Oct 22 15:31:54 2012 +0200 Angle training now also uses TrainingData. commit ac868eea35190399f5c65a0cd26d49f950047285 Author: Frederik Heber Date: Tue Oct 23 12:05:01 2012 +0200 Added unit test for functions in Extractors namespace. commit 49f16315c13b0f304f23ecd3be72c79d1aaebe69 Author: Frederik Heber Date: Tue Oct 23 15:09:53 2012 +0200 Added gatherAllSymmetricDistanceArguments(). - using it for generation MorseData. commit 63e786e63fdf7856f342b9c6b2575ceb7129bf44 Author: Frederik Heber Date: Fri Oct 19 15:08:23 2012 +0800 Refactored realignElementTargets() out of gatherDistancesOfTuples(). commit c211f7e912fe5253cda271d45cc6f44037b5375a Author: Frederik Heber Date: Fri Oct 19 15:00:15 2012 +0800 Refactored convertElementcountsToTargets() out of gatherDistanceOfTuples(). commit bc6705a6996f035750fa223ba432927ba5b764f7 Author: Frederik Heber Date: Fri Oct 19 14:56:40 2012 +0800 Refactored getElementCounts out of gatherDistancesOfTuples(). commit 301dbfe7ce5eed79d11e438d8f8b33e350ce1480 Author: Frederik Heber Date: Mon Oct 22 15:38:33 2012 +0200 Refactored gatherDistanceOfTuples(). - it is now able to work on arbitrary vectors of elements, not just tuples of two. commit 4a77be7c74807798597478c1e2a88d09178390fe Author: Frederik Heber Date: Thu Oct 18 12:06:42 2012 +0800 Added charge_t to Fragment. commit 69ab843afc56395d322c572b60648c273b96a757 Author: Frederik Heber Date: Mon Oct 15 20:56:05 2012 +0800 FunctionApproximation's cstor now accepts TrainingData instance directly. commit 68172a73ac43709c67c953143f10961113ce423e Author: Frederik Heber Date: Mon Oct 15 15:48:43 2012 +0800 Shifted class TrainingData into its own module. commit f68c6845e5ea959313c49fc72cc3c3ee7de031e2 Author: Frederik Heber Date: Mon Oct 15 15:43:23 2012 +0800 Tersoff now also uses TrainingData class. - shifted calculation of errors into two new TrainingData functions: getL2Error() and getLMaxError(). commit 8aa597d50a9e1a99021b44a4fc01ec923c06490d Author: Frederik Heber Date: Mon Oct 15 13:17:21 2012 +0800 Extracted namespace Extractors into own module. - placed gatherAllDistanceArguments() into subspace _detail inside this namespace. commit 355af848a519d00e953ce3fa5d65e6236684dc1b Author: Frederik Heber Date: Mon Oct 22 15:38:54 2012 +0200 Argument_t now has two Comparators on indices or distance. - added unit test on class argument_t's comparators. commit 4ec18bda4f948c4cb0940aef26d0e2c067f73603 Author: Frederik Heber Date: Mon Oct 15 13:06:16 2012 +0800 Added class TrainingData encapsulating the training input and output vectors. - MorseData now uses TrainingData. commit 8ea8c8371b7844ab73654ede9424c76fce5cf537 Author: Frederik Heber Date: Mon Oct 15 16:20:08 2012 +0200 DEBUG: Adapted graph getting to Butane sampling. commit 9340eebc3c3e6d0b5c749ffd0eda36c27c0bc1f6 Author: Frederik Heber Date: Mon Oct 15 16:19:37 2012 +0200 Added PairPotential_Angle training to LevMartester. commit 94f5672e292b12cbf8f229b6298d1f5dd8e08c48 Author: Frederik Heber Date: Thu Oct 11 15:52:30 2012 +0200 Added check if result of SaturationPotential::parameter_derivative is NaN. commit 1f0689656baededb0c9104e451a76d17d30841ef Author: Frederik Heber Date: Thu Oct 11 15:46:32 2012 +0200 DEBUG: Added msg about L2 contribution. commit 19fa3b9733f66fde5e3c7642e2d248906037fcd1 Author: Frederik Heber Date: Thu Oct 11 15:43:58 2012 +0200 FIX: Removing average energy from order1-fit to Saturation potential. commit 40fff17948f9ae794ea4b497539ca304238fc8b4 Author: Frederik Heber Date: Thu Oct 11 01:46:30 2012 +0200 Performing fit got CH4 now with SaturatonPotential instead of Tersoff. commit 4ffbb79d92e61ca142eecc9e02d8d3c22ff4e125 Author: Frederik Heber Date: Thu Oct 11 01:46:05 2012 +0200 Added SaturatonPotential that combines a Morse and a Angle potential. commit 086070a60233b3562f63dca3455e7065142ee931 Author: Frederik Heber Date: Sun Nov 25 21:01:48 2012 +0100 Moved all setParameters() from header files into module. - also each now assert that setParameters() equal getParameters(). commit c92c0df7ac9f5f1d576b4ab1e1fd3d9ab54a53bc Author: Frederik Heber Date: Tue Oct 16 15:44:51 2012 +0800 Added unit test for PairPotential_Angle. - also corrected PairPotential_Angle::derivative(). commit a63187fab0bcc6fe01a865d33aa72b07de608851 Author: Frederik Heber Date: Thu Oct 11 01:45:26 2012 +0200 Added PairPotential_Angle. commit 51c50212088ce597a85bc85518b56a26abdaa7d1 Author: Frederik Heber Date: Fri Nov 2 14:40:09 2012 +0100 FIX: GLMoleculeObject_molecule::update() did not use ObserverLog correctly. commit d3f0326fcf293a66e12c5e4adf61d498218a67f3 Author: Frederik Heber Date: Sat Feb 16 00:41:18 2013 +0100 Set version to 1.3.10. - MoleCuilder library is now 11:1:1. - Codename "Surprise" ("come as no surprise" are first words on page 1310 in 6th edition of German Advanced Learner's Oxford Dictionary). commit 69b30a9d9f057d2a0dd7409379b9e1bfb5108c94 Author: Frederik Heber Date: Sat Feb 23 17:23:07 2013 +0100 FIX: boost::iarchive includes needs to go before MemDebug in LevmarTester. - interestingly, this only caused problems with disable-jobmarket. commit ef918c61918f0ea8e263cb85b3f9cf5aed228442 Author: Frederik Heber Date: Sat Feb 16 00:39:36 2013 +0100 DISTFIX: typo in header files. commit 1f1f806913b3fda02747dc3fb1375cbf5ea9ed83 Author: Frederik Heber Date: Wed Feb 6 00:26:44 2013 +0100 FIX: SamplingGrid::get..GridPoint() checks for begin, end bounds. - this fixes instabilities when we look for value at 0 but begi is at 0.1. commit 313f836ec20460ebbd14dc92299a0031bcfe28d3 Author: Frederik Heber Date: Thu Jan 31 14:26:34 2013 +0100 SamplingGrid::operator*=() can now deal with incongruent windows. - new functions shrinkWindow() and AddIntoWindow() help to allow for shrinking the window to the minimum size of either window, copying the old values onto and multiplying with the other ones from a possibly larger window. commit fb3485c1da8740bf16cf170a4d8a9bbbac971be7 Author: Frederik Heber Date: Thu Jan 31 14:25:31 2013 +0100 Refactored copy routine out of AddOntoWindow(). - this is preparatory for preparing a shrinking and copying into a smaller window functionalities. commit c0e8fb2ec177f8ad4be264758ec0f9345719b784 Author: Frederik Heber Date: Thu Jan 31 13:09:56 2013 +0100 Added SamplingGrid::isCongruent(). - also added unit test function. commit 56b04ceaeb19f05b6c2a0dafdf747e6ecb448696 Author: Frederik Heber Date: Tue Jan 29 00:19:55 2013 +0100 FIX: SamplingGrid::getNearestLowerGridPoint(), and ::get..Upper..() deal with rounding error. - if we pass through setWindowSize()'s get...() we may end up at a different point due to numerical inaccuracy. Hence, both functions add/subtract a slight perturbation prior to calling floor/ceil. commit 620517d20d9663ecc219b492f249366f59b31b0a Author: Frederik Heber Date: Tue Jan 29 00:19:04 2013 +0100 FIX: SamplingGrid::getWindowGridPoints() was broken. - or at least inconsistent with use in MPQC. - also added .._inline.hpp module to contain all inline functions. - placed several one- or two-liners in the inline section. commit b123a57242414c8d345a18a31cf4a42a81222702 Author: Frederik Heber Date: Sat Jan 19 14:38:57 2013 +0100 Shifted functions to add window onto grid into own namespace. - InterfaceVMG...Job now receive SamplingGrid and not the samples directly. commit 8f3cdda52c1833250b3652985b1c78fc60b21a05 Author: Frederik Heber Date: Wed Dec 19 13:48:13 2012 +0100 Adapted VMGJob and its Interface to new non-zero window use. - we required two new functions to copy window contents onto the grid and back again. - SamplingGrid::setWindow() is now private. commit 64bafe0d0cd15e6cd2e50cb7a27b730cfec01778 Author: Frederik Heber Date: Wed Dec 19 13:46:23 2012 +0100 SamplingGrid's Window start and end are now always set on a grid point - also made addWindowOntoWindow() safe with respect to rounding. - TESTFIX: this fixes SamplingGridUnitTest, removed expected to fail. commit c6355f2a2d0b8d1942a82247a03b8c3193315bb1 Author: Frederik Heber Date: Sat Dec 15 09:33:06 2012 +0100 FIX: New non-zero window operations of SamplingGrid are now fully working. commit de6dfb38ac7746ff442a0ddb707c6faa2fdcb721 Author: Frederik Heber Date: Mon Feb 11 10:24:45 2013 +0100 Extending AddOntoWindow() by prefactor, can deal with differently sized windows. - also extended unit tests to check on working asymmetry. commit e2404fa050e709be2837569246209e044c7f9b5d Author: Frederik Heber Date: Mon Feb 11 10:24:09 2013 +0100 New SamplingGrid::setDomainSize() and ::setWindowSize() helper functions. commit 1a00bbfd3d648bf38e39a80bc5a7461e50177425 Author: Frederik Heber Date: Mon Dec 3 10:02:23 2012 +0100 Rewrote parts of SampingGrid such that a window of non-zero entries is used. - this makes the last part final O(N) as so far for the sampled_grid the whole domain has to be used instead of a tiny region around the specific fragment. - for this we added extendWindow() and addOntoWindow() including some new member variables that hold the window size. - added default cstor that correctly used SampingGridProperties default cstor. Otherwise we got the funny behavior that on some systems the very first job of q MPQCCommandJob (tests/JobMarket/2) is not re-instantiated. - unit test extended to cover the new functionality but marked as expected to fail because it is not yet working correctly. commit 98f8feac4a80f869fb2b5907d674b4bb7e505326 Author: Frederik Heber Date: Wed Dec 19 13:46:58 2012 +0100 SamplingGrid must have power of 2 grid size. - all number gridpoints returning functions were wrong as they related to unit length whereas they should have been relative to domain size. commit 3d9a8d42283c7e552de1b62b094fae5646d71ce4 Author: Frederik Heber Date: Tue Dec 4 10:32:04 2012 +0100 SamplingGrid has no more size parameter but an end array. - this rather fits into scheme with the later to come window. - also several changes in interface due to SamplingGrid::size -> ::end[3] replacement. commit e089fbaabf7b14c1e7537a12eb9d4165c7c20822 Author: Frederik Heber Date: Mon Dec 3 13:43:00 2012 +0100 Moved particle arrays into a new struct in VMGJob. - also the docu now states that we don't need to serialize it. commit 1b01e934ca04bd44526caf31e00f9a39f482fe0c Author: Frederik Heber Date: Mon Feb 11 12:05:12 2013 +0100 FIX: Server missed forced binding to MPQCJob. - present was only to MPQCCommandJob. commit 6752dc828fcabcc74aaeb4c2eee3e8ccbef34d70 Author: Frederik Heber Date: Thu Jan 3 14:49:00 2013 +0100 DOCU: Extended installation explanations extensively. commit 0a783477d66226c273578ea2e52416327e199337 Author: Frederik Heber Date: Fri Dec 14 17:26:21 2012 +0100 DOCU: Updates optional enable targets and required and optional packets on install page. commit d0faa8e57765a9c0bd8c55f3159fda6e94053ab0 Author: Frederik Heber Date: Fri Dec 14 17:25:58 2012 +0100 DOCU: Added note on failing regression test only on installcheck. commit 9f5422f4d4324e10b38724e7335060adc4e78de4 Author: Frederik Heber Date: Thu Feb 14 13:21:48 2013 +0100 TESTFIX: ChangeBondAngle unnecessarily (re-)created bond graph. - this re-created the bond structure which changed order of bonds which caused the diff to fail. commit 312c0d0b82a9cfb90116ffa17b93600a521be71c Author: Frederik Heber Date: Thu Dec 20 17:24:39 2012 +0100 FIX: HomologyContainerUnitTest does not require libMolecuilderUI anymore. - pulled-in dependency from Fragment.hpp resolved via a stub that always returns true when comparing fragments. commit d5b458b092f61a476384f5b9b116acbe1f30ffa9 Author: Frederik Heber Date: Sat Jan 26 15:06:11 2013 +0100 FIX: ax_codepatterns.m4 was broken w.r.t to debug lib. - fixed in version 1.2.4 which we now require. commit 4d4ef8d914565d5aca8dbfef99b54d816d4eaecd Author: Frederik Heber Date: Mon Jan 14 17:57:23 2013 +0100 FIX: Enforce binding to libMolecuilderJobs for Server and PoolWorker. - otherwise we are puzzled why Server does receive an empty vector of jobs although job id have been transferred flawlessly before. If the library dependency is not listed, the executables cannot instantiate class. - the remedy is again to create a static instance. We did this for MPQCCommandJob, VMGJob, and VMGDebugGridJob. Each has a specific _binding header which just has to be included. commit cf1d823b3a48bb18e9495df9853f602112c417ff Author: Frederik Heber Date: Thu Jan 10 17:02:33 2013 +0100 Parameter now contains Value, not inherits. - added several function to fully wrap all Value member functions. - this should prevent any vtable clashes between Parameter and Value that both inherit ValueAsString. - MpqcParser_Parameters.hpp does not contain any reference to the templated parts of Parameter or Value. These are only contained in the .cpp module. commit 6440c6215032e9cb753701bc186867d2e638c0de Author: Frederik Heber Date: Thu Jan 10 14:27:38 2013 +0100 Reworked inheritance graph of Parameter and Value. - Value now takes both ValueInterface and ValueAsString. - ParameterAsString placed into ParameterInterface, deleted, and renamed everywhere. - ParameterInterface is longer template-dependent. - ParameterInterface and Value inherited by Parameter. commit b11f5e894a1e470524372e3a267d6162ee110847 Author: Frederik Heber Date: Wed Jan 9 21:46:04 2013 +0100 FIX: Value::setAsString(), ::getAsString take const ref. - arg chain was string instances before, corrected to const ref. - also extracted Value specialization into own module. commit 9e67225a5c7cf21573d492a8db3d99c41a8404d7 Author: Frederik Heber Date: Thu Jan 10 11:00:09 2013 +0100 FIX: Made Parameter functions inline. commit 2665d30579bb5fa0e665b2940560e80469692b9b Author: Frederik Heber Date: Thu Jan 10 14:26:25 2013 +0100 String specializations of Value placed into own module. commit 574a4fb837ec6f0b34a1b8a499790ea0787f0067 Author: Frederik Heber Date: Thu Jan 10 21:55:03 2013 +0100 FIX: python testsuite did not check for units, required by boxmaker. commit 50eff3908d53467937940ec3efcb73a34375bcd1 Author: Frederik Heber Date: Thu Jan 10 21:12:01 2013 +0100 FIX: Value::getValidRange() and ::getValidValues() were broken. - not casting to const and forgot to return the value. commit 4e904bc08ae46a7c0d529330138db45b728e994d Author: Frederik Heber Date: Thu Jan 10 21:11:33 2013 +0100 Removed atom::IsInShape(). - this makes libMolecuilderAtom not depend on ..Shapes. commit a2f5e5a55d2bfddbb0e42406f2241bd96b7703f7 Author: Frederik Heber Date: Thu Jan 10 21:58:23 2013 +0100 FIX: Cleaned up includes in Psi3Parser_Parameters. commit 42f2f07d3df05e4c874e53d9947526e77bd2cd68 Author: Frederik Heber Date: Thu Jan 10 21:57:48 2013 +0100 FIX: MpqcParser_Parameter now simply uses Parameter instead of . - we had some silly construct with inlined template specializations before in place to change Parameter's default behavior from 0/1 to no/yes. We might have simply used a new class ParameterBool that inherits the templated one and overrides the function with correct behavior (and could still be placed in ParameterStorage) ... but it's actually better to just use a string Parameter with a discrete set of values: yes and no. commit 58fccca9f201fa2902390ac75cadcc21572534c8 Author: Frederik Heber Date: Tue Jan 8 15:40:11 2013 +0100 FIX: XyzParser::load() stumbled if no empty line between timesteps. - also replaced char* by string and using getline(). commit b4b36487fc1ed74df5c22e1c187777c5c699ea52 Author: Frederik Heber Date: Tue Jan 8 12:19:28 2013 +0100 FIX: Parameter unit tests all lacked CodePatterns lib. commit 7d82a5107dfcc03ee6f2a1b4ee8c3083515b6ff2 Author: Frederik Heber Date: Fri Nov 2 14:38:08 2012 +0100 Changed bond::ptr into boost::shared_ptr. Changes: - refactored some BondedParticle functions, cleaning up the interface in terms of private and public functionality, added some helper functions to find bonds. - ptr = NULL --> .reset(). - now initialising to NULL. - BondsPerSP is now list of boost::shared_ptr as well. - some include of bond.hpp instead of forward references necessary. - leftatom and rightatom are now set to NULL on UnregisterBond(). - bonds are not deleted anymore but simply unregistered. - FIX: BondedParticleInfo did unrequiredly inherit AtomObservable. - removed UnregisterAllBonds(), code is now in RemoveAllBonds() where UnregisterBond is called for both bond partners. This ensures that the bond is correctly released and shared_ptr free'd. commit c8302f3908877b8fb1eda3e8ac494300a5249860 Author: Frederik Heber Date: Fri Nov 2 14:36:49 2012 +0100 Removed molecule::RemoveBond(s) and ::removeAtom(). - this functionality has only been used in ListOfBondsUnitTest but nowhere else and it obstructed with change to boost::shared_ptr. commit 88c8ec20f4a97f9685638eda1c07bca7fe46bd4e Author: Frederik Heber Date: Mon Oct 29 01:28:46 2012 +0100 REFACTOR: Replaced all "bond *" appearances by bond::ptr. - this is preparatory for making bond::ptr a boost::shared_ptr of bond. - NOTE: We had to remove a const prefix at four or five places and forward declarations had to be replaced by the true inclusion of bond.hpp at tne or so files. Apart from that, the replacement has been very smooth. commit d6b6ce277d43f008628b94a8af863c2f33eff1e5 Author: Frederik Heber Date: Sun Dec 16 20:51:53 2012 +0100 Set version to 1.3.9. - Molecuilder library is now 11:0:0. - Codename "Benzene" (The C-C bond distance in benzene is 1.39 angstrom). commit a30b7f576711b6033b0eed077d52f3ead1d3412a Author: Frederik Heber Date: Mon Oct 8 14:12:44 2012 +0200 Added check on L2 sum and Lmax norms of fitted Tersoff with respect to training data. commit 17b35987a27bdf15de59d722edd1fe2b0d797d2d Author: Frederik Heber Date: Sun Oct 7 17:35:53 2012 +0200 Starting parameters for Tersoff minimization in LevMartester are now chosen randomly. commit d032921179582b5da1ab3dfa13a0d02d06251602 Author: Frederik Heber Date: Fri Oct 5 21:18:28 2012 +0200 Implemented box constraints for FunctionModel, using a feature of LevMar. - we need lower and upper bounds for each parameter. These can be passed on to specific function of LevMar. - LevMartester checks whether isBoxConstraints apply and requires parameter derivatives in this case. commit f48ad38cd0929af71770a13f3b37615e477e02b2 Author: Frederik Heber Date: Fri Oct 5 18:40:53 2012 +0200 LevMartester now uses FunctionModel::setParameter() to set initial parameters. - this also adds initial parameter for the Tersoff case which have not been present before. commit eb1efe719c9062ecc3dbe78c9ad1eefbf84a5023 Author: Frederik Heber Date: Fri Oct 5 16:02:07 2012 +0200 Extended LevMartester to fit a Tersoff potential to the first order fragments. - this required adding a globalid to argument_t for the triplefunction to work, i.e. in order to get at possible neighbouring atoms and their distances. This requires some global information. - TESTFIX: We don't need static variable CurrentConfiguration in ManyBodyPotential_TersoffTest anymore as we have the index to the current configuration now stored in each argument_t. commit bc55c96be4a2187ff0a65ac84ba020d9a58c4900 Author: Frederik Heber Date: Thu Oct 11 00:37:55 2012 +0200 Added NaN check to Tersoff's parameter_derivative(). commit 56c5de4c82fcb8f395292fb1210c497b6aa81ec9 Author: Frederik Heber Date: Thu Oct 11 00:35:53 2012 +0200 Added an offset to the Tersoff potential. commit 2e94862fe129a46553a3b511b832956e78a1b260 Author: Frederik Heber Date: Mon Oct 8 23:30:38 2012 +0200 FIX: Tersoff must sum potential over every of the arguments. commit ca8d8233e18d2fac0946021d984e388e215e9212 Author: Frederik Heber Date: Sun Oct 7 17:28:49 2012 +0200 FIX: Corrected parameter derivatives of ManyBodyPotential_Tersoff. - setParameters also allows setting of less parameters than required. commit f904d5f531c1e72c1dd49182c9acbc071c10c0ac Author: Frederik Heber Date: Fri Oct 5 22:28:13 2012 +0200 Added complete parameter derivatives to ManyBodyPotential_Tersoff. - this is required as levmar_bc_dif is implemented via levmar_vc_der. Derivatives are taken from [Malshe, '08]. - extracted angle calculation from three lengths into function_theta. commit 752dc7655143ca8a6de30ce81c8c379cca0d84c7 Author: Frederik Heber Date: Fri Oct 5 22:27:13 2012 +0200 FIX: Made R and S also fixed parameters, this is in accordance with [Malshe]. commit 990a6201b35907a408b9560a3016513b5b26db66 Author: Frederik Heber Date: Fri Oct 5 18:45:23 2012 +0200 FIX: Tersoff parameters lambda3, alpha, chi, and omega are now fixed. - for this we needed to exclude them from params. This is the cleanest way as suggested in levmar FAQ Q20. commit ffc3688dd044a0c874c10a37de01139caff883c1 Author: Frederik Heber Date: Fri Oct 5 00:01:47 2012 +0200 ManyBodyPotential_Tersoff is now correctly implemented. - changed implementation to match with [Tersoff, '89] with incorporates configurations consisting of different elements and which is also the one implemented in tremolo (for whose ptential parameters we aim for). - we have unit test of operator() that checks against a set of values obtained from a brief run with tremolo of a configuration consisting of 5 carbon atoms: the results are the same by each function. commit e7579ed03a2594b79fb214806a5efc0a927b5480 Author: Frederik Heber Date: Thu Oct 4 13:34:36 2012 +0200 Changed ManyBodyPotential_Tersoff to also have parameters_t instead of single member variable definitions. - added enum to give each entry in params a meaning. - modified setter and getter for parameters accordingly. - default constructor is now private, as we always need the triplefunction. - changed other constructors accordingly. commit 76cbd082753cf16eee92e72dd98df9644cb2bd3f Author: Frederik Heber Date: Thu Oct 4 12:58:53 2012 +0200 Added PairPotential_MorseUnitTest. - so far, added simple test on operator() with a range of data obtained from gnuplot table. - derivatives are only tested at the minimum. commit b70b536beb4d228f4c98907dc83872914b6b8e5f Author: Frederik Heber Date: Tue Nov 27 09:41:58 2012 +0100 FIX: Checked PairPotential_Morse::parameter_derivative with Maple. - also added maple's results as comments and reformatted code to match. commit 155cc2b018aff9ee38cdc162034777bae6e9c894 Author: Frederik Heber Date: Wed Oct 3 22:23:20 2012 +0200 Added PairPotential_Morse with derivatives, used by LevMartester. - we can now succesfully fit the stretched CC bond in C2H6 to a Morse potential. commit 9e903b3e7c30cd9a3ff47d2adb5dc8e7b73bee4f Author: Frederik Heber Date: Wed Nov 28 12:47:23 2012 +0100 Added operator<<() to FunctionArgument. commit 371c8b9de46ae63a283967c0c114cc9cf2ae14d2 Author: Frederik Heber Date: Sun Oct 7 17:34:28 2012 +0200 Added FunctionApproximation::checkParameterDerivatives(). - FunctionApproximation::prepareModel() and ::setParameters() now allow less than required number of parameters. commit 63b9f71278dfbb84333e9df7d2b5df0d4fd3af8c Author: Frederik Heber Date: Sun Oct 7 17:24:51 2012 +0200 REFACTOR: Split off prepareModel() and prepareOutput() from FunctionApproximatio::operator(). commit 76e63d1c9c00614290e258f4cef1e1ccbbf3a1c6 Author: Frederik Heber Date: Fri Oct 5 18:37:54 2012 +0200 Extended FunctionApproximation::operator() to receive JacobianMode parameter. - this lets decide between finite differences or supplied parameter derivative. commit 3c14659b7603330f67b6366728f59a4a8a39c5a3 Author: Frederik Heber Date: Thu Oct 4 12:19:39 2012 +0200 Added PairPotential_HarmonicUnitTest. - so far, we test the operator() with a simple set of ten datapoints. - the derivatives are only tested at the minimum. commit 5b572453f3696dfe64e32fd5b3a3a1e74aef4b3b Author: Frederik Heber Date: Wed Oct 3 21:58:56 2012 +0200 FunctionApproximation now uses levmar_der, i.e. additionally the derivative of the FunctionModel. - added LevMarDerivativeCallback as another static function. - added ::evaluateDerivative that fills the Jacobian matrix as output. - removed meyer and jacmeyer from FunctionApproximation module. commit 1dca9a7ed8242e0bbe4f550311b7e370bbdd0fe8 Author: Frederik Heber Date: Wed Oct 3 21:58:07 2012 +0200 Modified PairPotential_Harmonic to have an internal vector of parameters. - an enum gives which index in the vector refers to which parameter. This makes the subsequent implementation of the parameter derivative easier. commit 3ccea38d4d73d1d49951e5f8f152aafea660b576 Author: Frederik Heber Date: Wed Oct 3 21:08:38 2012 +0200 EmpiricalPotential and FunctionModel are now inherited virtually, have overlapping function definitions. - EmpiricalPotential and FunctionModel differ only in the way of the derivative. The simple function evaluation is the same. EmpiricalPotential however desires the derivative with respect to the arguments, while FunctionModel requires the derivative with respect to the parameters. - therefore, we shifted some of the function definitions in between the two and had to some typedefs in PairPotential_Harmonic and ManyBodyPotential_Tersoff to clarify ambiguities. commit dac89b16e49da2d46b22d430cacca889c77271f3 Author: Frederik Heber Date: Tue Dec 11 17:03:55 2012 +0100 Using FunctionModel and setTrainingData in LevMartester. commit 65c42c3fc547a78ed19d50b2c1d4f12aa67cc2d8 Author: Frederik Heber Date: Tue Dec 11 17:03:40 2012 +0100 PairPotential_Harmonic now has additional offset parameter. - do we need this value in general or not?. A constant should in fact be removed by zero and first order ... but it has to to remove the minimum value. Otherwise the fit cannot converge properly (hence the parameter probably inavoidable for stability). - With this setup we were able to successfully fit to a C2H6 system where the CC bond length was specifically manipulated. However, the harmonic function is not the best model, a Morse potential seems more adept. commit c62f9677cf0a73fc8f5df3ff21f2a8c1ee86554b Author: Frederik Heber Date: Wed Oct 3 12:47:16 2012 +0200 LevMartester uses now FunctionApproximation. commit 4f82f83a50fa8fb99e9d809e96bed7e48c874dfe Author: Frederik Heber Date: Wed Oct 3 12:45:56 2012 +0200 Rewrote EmpiricalPotentials and the specific implementations such that they are usable as FunctionModel's. - FunctionArgument (i.e. argument_t) now resides with FunctionModel and is removed in EmpiricalPotentials. - Empirical Potentials is now an empty interface and might be removed. commit 66cfc791a31134a511bad433ec78b3e5532d5106 Author: Frederik Heber Date: Tue Oct 2 22:45:09 2012 +0200 Added new class FunctionApproximation that encapsulates the LevMar usage. - two new helper interface FunctionModel and FunctionArguments. The latter taken from EmpiricalPotentials. commit dda3e8e0ed52a27bea7146869d59f76442212c40 Author: Frederik Heber Date: Thu Oct 4 12:19:07 2012 +0200 Added Helpers::isEqual() as equality operator taking numerical (im)precision into account. commit bf12d19a7f676d91ce9221675cebc29d5393caa9 Author: Frederik Heber Date: Mon Nov 19 15:21:33 2012 +0100 FIX: WriteTable might fail because of size_t difference. - MaxLevel-StartLevel might wrap and hence cause ASSERT in writeTable to wrongly fail. - added checks in printReceivedFullResults() whether we actually have MaxLevel larger than 2. - also enhanced documentation a bit. commit f06d528db608aa670621118d65d43dc67a5b5fd2 Author: Frederik Heber Date: Tue Oct 2 14:16:04 2012 +0200 Added LevMartester that employs levmar package for non-linear regression. - as liblevmar is not a dynamically linked library, we don't need lapack. - path to levmar has to be given with --with-levmar (and is not tested so far). - LevMartester is linked against liblevmar and with includes. - copied Meyer's (reformulated) problem from lmdemo.c which is solved to same result. commit fe0355ee3fec7d6cbe3e4b2fdc1797b211092dff Author: Frederik Heber Date: Tue Oct 2 18:02:13 2012 +0200 Split HomologyGraph_getFromKeyset module off from libMolecuilderFragmentation. - added stub into own module to allow linking against libMolecuilderFragmentation independently from libMolecuilderUI remainder. - changed libHomologyContainer linking accordingly. - this is especially useful for NNtester and LevMartester. commit 610c11a5323c7e86a4ffb55afc832f78510a0136 Author: Frederik Heber Date: Wed Sep 26 17:18:41 2012 +0200 Added Tersoff potential as first many-body potential. commit 6bb72a1d333eb13b241f2296056b61a3f431aa72 Author: Frederik Heber Date: Wed Sep 26 17:16:29 2012 +0200 Added general interface EmpiricalPotential and a first potential, the harmonic pair potential. - EmpiriCalPotential is to be derived from any potential function, setting the interface of how these are called. - PairPotential_Harmonic implements a simple harmonic potential. - EmpiricalPotential has subclass argument_t for the argument consisting of distance and index pair as we need to store the indices of the given distance. commit da5b82d30ae2c9f8347379eb8e0fa1ea90a2ab78 Author: Frederik Heber Date: Fri Dec 7 09:20:15 2012 +0100 Set version to 1.3.8. - Molecuilder library is now 10:3:0. - Codename "Lead-acid battery" (13.8V is the optimum voltage for charging the battery in cars). commit 97a858e8bd34fb9d017810e7d91311ade1fbbf2e Author: Frederik Heber Date: Fri Dec 14 15:24:30 2012 +0100 Added some developer scripts to check on commits and releases. commit 12098a4b39967b9685cdc4ee1bad7bc1723f2073 Author: Michael Ankele Date: Fri Nov 23 14:57:12 2012 +0100 Refactoring: use vector instead of vector in RemoveShapeAction's state commit 29ea65c708b2778dfed09f35f53078f9ae87ceed Author: Michael Ankele Date: Fri Nov 23 13:56:54 2012 +0100 StretchShapeAction added commit 3ce0f13dab1ee13c2e8e829c15cf3a7273768d19 Author: Michael Ankele Date: Wed Nov 21 16:47:47 2012 +0100 RotateShapeAction now handles center!=0 commit 216dad89cd27e5381aff3b8ab1a91d103e160257 Author: Michael Ankele Date: Wed Nov 21 15:54:53 2012 +0100 added shape edit actions to QtShapeController commit 7e19060840b9a23d7a7c09c60fa66cc83c9325c6 Author: Michael Ankele Date: Wed Nov 21 14:44:36 2012 +0100 use degrees as angle input in shape actions commit a2bbb14f9ffbccf2908b0ddcaff8ca3770503097 Author: Michael Ankele Date: Mon Nov 19 16:37:53 2012 +0100 RotateShapeAction added commit 0b50574573487816f0c12002dfdc46008b5003c6 Author: Michael Ankele Date: Mon Nov 19 15:11:03 2012 +0100 TranslateShapeAction added commit 46706955cf987164d435b2495e8028df14fb89f9 Author: Michael Ankele Date: Thu Nov 22 16:00:47 2012 +0100 "FIX": allow tesselation of points with negative coordinates commit 2defa919a0e331941938bf6a647c3669b670275f Author: Michael Ankele Date: Wed Nov 21 14:38:27 2012 +0100 FIX: (ShapeFactory) wrong test for trivial rotations commit 13202cd9d0bcc0bfe77191e405183fde83564a55 Author: Michael Ankele Date: Mon Nov 19 16:34:32 2012 +0100 FIX: made Cuboid.isOnSurface() robust enough for transformations commit 148dde065b79344a7f3c001cf89995babe5342af Author: Michael Ankele Date: Mon Nov 19 15:10:12 2012 +0100 FIX: missing map.erase() in GLWorldScene::removeShape() commit 6d084a46769eb22a8c67c068665f18be1882bd87 Author: Frederik Heber Date: Fri Oct 5 14:05:28 2012 +0200 DEBUG: InterfaceVMGJob does not printGrids anymore. - output folder grows and grows. - TODO: We should have VMGDebugGridJob print the total density as well! commit 91a5652e07406f1a37c1832e3a3c16579713f146 Author: Frederik Heber Date: Fri Sep 28 18:23:12 2012 +0200 DEBUG: Added some debugging output for constructed HomologyGraphs in FragmentationAutomationAction. commit 28e203e6456a3f5cc0834db4820e44de942f6625 Author: Frederik Heber Date: Fri Sep 28 18:22:03 2012 +0200 FIX: nodes_t and edges_t in HomologyGraph must be a map. - there may be multiples of the same node or edge. Hence, now we store the count in a map. - changed operator<<() accordingly. commit d058e636e53f3d9b6081470e70bece6d6ee784cc Author: Frederik Heber Date: Fri Sep 28 16:10:18 2012 +0200 Exposed const begin,end of container in HomologyContainer to allow read-only access. commit 79398d120cb8deaf4a8415e95a30158667b93359 Author: Frederik Heber Date: Fri Sep 28 12:38:11 2012 +0200 Extended map in FragmentResults to a pair of values for both value and contribution. commit 2dd305d105005aebf180a24502171bfdb638c5f2 Author: Frederik Heber Date: Fri Sep 28 12:31:51 2012 +0200 Split FragmentResults functionality in cstor into cstor and operator(). - this allows accessing IndexSetContainer's contents afterwards which is required in order to sensibly access the new map< IndexSet::ptr, MapType>. - adapted call in FragmentationAutomationAction. commit bfbd4a376406cc93fa60892e691159cc09a8a35a Author: Frederik Heber Date: Fri Sep 28 10:58:39 2012 +0200 Storing KeySet file with global ids now. - We now parse in key set file in FragmentationAction::performCall(). - new function Graph::getLocalGraph() which sorts out all keysets local to a given molecule. - this local graph is passed on to Fragmentation::FragmentMolecule(). - Fragmentation::AssignKeySetsToFragment() now has const Graph ref as param. commit d1ba0df07713d2a30843b694f8e7a087b45fd936 Author: Frederik Heber Date: Fri Sep 28 10:57:14 2012 +0200 FIX: Forces-Factors are now written with global ids, HomologyContainer relies on it. - in FragmentationAutomationAction::performCall() we now use the ForceKeySets to create the HomologyGraph (which has global ids with hydrogens). commit e71325dab5e319d68b99f336888240e7745ed87a Author: Frederik Heber Date: Fri Sep 28 10:52:15 2012 +0200 FIX: All functions in Fragmentation and related now use const string reference for path/prefix. - they need nothing more anyway. commit 17c03fa7645e73b1b9eb1e67912eaaca6a1971cf Author: Frederik Heber Date: Fri Sep 28 10:00:23 2012 +0200 Extracted parseKeySetFile from FragmentationResults, FragmentationChargeDensity, FragmentationAutomationAction. - this removes the code duplication. commit 766767c66b905081c5796b3988065b0f0c31b855 Author: Frederik Heber Date: Thu Sep 27 18:26:02 2012 +0200 appendToHomologyFile() now constructs the HomologyGraph and its values. - i.e. now we truely append our calculated fragments to the HomologyContainer. commit 372c912d546dab1fa0cacaa5ecc66020c7b3b282 Author: Frederik Heber Date: Thu Sep 27 18:24:25 2012 +0200 Extended HomologyGraph to also be constructable from IndexSet reference. - we templated logic in getNodesFromSet() and getEdgesFromSet() and have a version for either KeySet (int) or IndexSet (size_t) that instantiates the template accordingly. - also extended the stub by two more dummy functions such that we avoid still the clutter of World, atom, ... commit b8f0b250c2143e3d8e7c3b8ef67750ab6eccc8b1 Author: Frederik Heber Date: Thu Sep 27 17:53:20 2012 +0200 Extended FragmentResults and FragmentationChargeDensity to contain map of (IndexSet, contributions) pairs. - this is preparatory for storing these in the HomologyContainer. commit 69e065666b610d9348120ce282aabfeb2adc7149 Author: Frederik Heber Date: Thu Sep 27 17:52:00 2012 +0200 Added getContributionForIndexSet() and ...Value...() to (Orthogonal)Summator. - this is preparatory for storing a map of IndexSet's and its contribution in the sense of the ANOVA decomposition. commit 07266bba2e30da79ac2bdd0f561abbdbd5b68ccf Author: Frederik Heber Date: Thu Sep 27 17:51:23 2012 +0200 Added SetValueMap::getConstValue() for getting const reference to SetValue. commit 240c3e6656ddf8b49c7e2d1576ded8eab2d3245b Author: Frederik Heber Date: Thu Sep 27 16:42:38 2012 +0200 FragmentationAutomationAction now uses a file containing a serialized HomologyContainer. - the idea is that we append the calculated keysets als HomologyGraphs to the instance that is afterwards again serialized to file. - so far, we do not yet create the graphs, we only parse the file and write again the instance. - new parameter "homology-file". commit 37ce5d4d59915ca74d0ededb806c014397524a22 Author: Frederik Heber Date: Fri Sep 28 16:09:19 2012 +0200 FIX: Switched SYSTEM and FILESYSTEM libs in LDADD in src/Makefile.am. commit f24af7ca0af91ea6929d8f8d7a43e2000d186c1a Author: Frederik Heber Date: Fri Oct 5 13:59:38 2012 +0200 FIX: FillRegularGridAction is now usable with random-atom-displacement. - the problem was that the randomly shifted atoms peeped out of the tightly fitted bounding shape and hence the insertion positions were always discarded. - now the bounding shape is extended by this random displacement such that insertion points are valid again. commit 55feea1b3363ddc5e3281f1e64847e46ec7ed1a7 Author: Frederik Heber Date: Fri Oct 5 13:58:05 2012 +0200 molecule::getBoundingShape() can now be given an additional boundary extending the shape. commit 0e2e6ce718fd04d073da7655ecff3431099dd501 Author: Frederik Heber Date: Fri Oct 5 13:57:36 2012 +0200 DEBUG: Checked that RandomInserter does its job correctly (correct undo). commit 35ec9cc711c9d565e3bc6360d3a0fc4119c9f6bb Author: Frederik Heber Date: Fri Oct 5 13:56:56 2012 +0200 Added output operator to ClusterInterface. commit 5251af47de8fb4cca67fe218856c61bc40011501 Author: Frederik Heber Date: Fri Oct 5 13:56:20 2012 +0200 FIX: ThermoStatContainer generated a default thermostat but did not call addToContainer(). commit 4882d52fd77a2eb51b75de4188f4386a1dbad67f Author: Frederik Heber Date: Fri Oct 5 09:59:22 2012 +0200 Rewrote VerletIntegrationAction to diminish dependence on ForceMatrix. - atom::VelocityVerletUpdate() now works on the forces stored in AtomicForces. - ThermoStatContainer::getActive() getter for the currently active thermostat. - VerletForceIntegration::operator() split up into several smaller functions. commit 8b886f03775fdc38d05053874958082ee74602f3 Author: Frederik Heber Date: Wed Nov 14 17:29:51 2012 +0100 Added ChangeBondAngleAction that changes the bond angle while keeping the distance. - also added regression tests with undo/redo. commit f63e41b6a0ddb762209a7c4ba24753bc9ceb33a2 Author: Frederik Heber Date: Wed Nov 14 11:37:48 2012 +0100 Added Actions to add and remove a bond in between two atoms. - added new menu "bond". - added new CommandLineParser options "bond". - added new regression test folder "bond". - also added regression tests with undo/redo for the new actions. commit cb24653f1d394016a9d49b8680f7ae30dc421f9b Author: Frederik Heber Date: Wed Nov 14 11:19:54 2012 +0100 FIX: Changed Atom's AddAction and RemoveAction header inclusion prevention name. - this would collide with new Bond's actions. commit e85169ea16ab11d65e89040c995f640fe49d571b Author: Frederik Heber Date: Thu Feb 2 15:13:02 2012 +0100 FIX: Prevented errors message occured due to clearing BondsPerSPList. - BondsPerSPList contains newly allocated bonds which a not registered with the atoms. Hence, we trigger a warning when removing the bonds which tries to unregister them first. - this is because we abuse our atom-bond system a sort of low man's way to a graph structure. We would be better off by obtaining the key lists representing the fragments from a true (dissected) graph. Then, we would have no need for this bond con- and destruction. commit 0cfc27793a722b1fdf1c500d9e92ac5c537731f2 Author: Frederik Heber Date: Tue Apr 24 12:34:28 2012 +0200 If no CPPUNIT is found, compilation of unit tests is disabled. - uses conditional CONDCPPUNIT. commit 7ace68b056e959069efaf78ec2c7fe5d32417cae Author: Frederik Heber Date: Mon Feb 6 16:04:48 2012 +0100 Added multiplicity guesser for Psi3Parser's UHF. - TESTFIX: changed multp in testuhf.psi and testtwocon.psi of regression tests Parser/Psi3 due to multiplicity guesser. - TESTFIX: changed multp in the same way in ParserPsi3UnitTest. commit 14de8e10b6472939a227125bc47dee8250c96dcc Author: Frederik Heber Date: Fri Apr 13 18:41:58 2012 +0200 Molecuilder parses and executes python script 'molecuilder.py' prior to launch of UIs. - this is mostly copy&paste from http://wiki.python.org/moin/boost.python/EmbeddingPython which was really simple to adapt to as we already had the python-scriptability in place. - NOTE: This can also easily be extended to "loading" a script and executing it as sort of meta/macro action. commit 7ef5b9a28cc8e6a75e313d161b3e003834eae2a6 Author: Frederik Heber Date: Fri Mar 16 13:29:01 2012 +0100 DOCU: Extended documentation on how values from the user are eventually used by Actions. - updated ValueStorage docu. commit 6ffc0b5857c2bdc65abf4dd377e4d6ab72c2dc7b Author: Frederik Heber Date: Thu Apr 12 18:01:24 2012 +0200 DOCU: Enhanced documentation of tests with information from TRAC. commit 3b75c2be482efc41261ee310e9d7912a9290bf1b Author: Frederik Heber Date: Thu Oct 25 10:40:51 2012 +0200 FIX: FormatParserStorage now first deletes the parser, that flushes the stream, and then removes the stream. - this is cleaner in terminating the stream as otherwise the stream has been removed but the parser still has a pointer to it. commit fc41df4b80fbb4e23eb2ca6de63d734de2f9ba5d Author: Frederik Heber Date: Thu Oct 25 10:40:00 2012 +0200 FIX: TremoloParser::readAtomDataLine now uses const ref word and const_iterator for usedFields_load. commit 05e2edeb4381b4ecb7c744e4a9837e2607de986d Author: Frederik Heber Date: Thu Oct 25 10:29:25 2012 +0200 FIX: TremoloParser did not load/save imprData or torsion correctly. - this error was introduced when incorporating local-global-maps and conversions where this was not correctly done for the improper and torsion string: - conversion from local to global on load was present but went over all atoms, not just newly parsed ones. adapt.. now gets atom vector as param. - save did no global-local conversion. For this we generalized adaptIdDependentDataString() to get a function pointer converting ids. - TEST: We added a new regression test on this matter where a .data file with impropers is loaded and stored. commit 67ab71acd6bc1af77192d3984502c597446d439b Author: Frederik Heber Date: Thu Dec 6 14:52:30 2012 +0100 FIX: default's resSeq in TremoloParser written inconsistently. - TremoloParser::saveLine() would add +1 to moleculeId but not else. Hence, if we load a .xyz file and store as .data, the resSeq is 1. If some default value has been set before, it would be 0. Also, it would get parsed as 1 and wrongly stored as 0 (see e.g. Parser/Tremolo's pre and post test.data). - TESTFIX: new Parser/Tremolo/post/test_xyz.data to check correct default value used in testsuite-parser-tremolo-save. - TESTFIX: Modified Parser/Tremolo/post/test.data as parsed value is 1. - TESTFIX: Modified Parser/Tremolo-Potentials/post/test.data as default value is 0 (pre is .xyz file). commit a86cda26ca0c4a3c5b8164b32b95deff7c1f48c2 Author: Frederik Heber Date: Thu Oct 25 10:00:33 2012 +0200 FIX: TremoloParser tripped over following tab in ATOMDATA line. - we now swallow whitespace between keywords. commit 0d97b4b7169d73c32a31da6e1baa10b740848f7e Author: Frederik Heber Date: Wed Nov 14 11:55:37 2012 +0100 FIX: Disclaimer appeared twice in each testsuite. Second time removed. commit 1d02c2d6cd53d64b17fe552a87cbeaa42c2f7fff Author: Frederik Heber Date: Fri Nov 23 08:47:09 2012 +0100 FIX: GLWorldView lacked molecule include. commit 8ce7304ad758a1033725c3d0e5473fcad51e87bf Author: Frederik Heber Date: Fri Nov 23 08:46:20 2012 +0100 FIX: Issue related to LOG_OBSERVER in GLMoleculeObject_molecule::update(). - copy&paste error from GLMoleculeObject_atom::update() probably. commit c8f12e4acd58d1a34b62174adb2b4c39788ea160 Author: Frederik Heber Date: Mon Dec 3 13:56:45 2012 +0100 Set version to 1.3.7 - Codename "Fine structure constant" (the fine structure constant is about 1/137). commit 79ac0395a78b6767dfc9c1d71f87c49f607546b7 Merge: a576ebf 12a24cb Author: Frederik Heber Date: Thu Dec 13 11:12:51 2012 +0100 Merge branch 'Fragmentation_Homology' into Candidate_v1.3.7 Conflicts: src/unittests/Makefile.am - new subfolders are in neighbouring lines, no real conflict. - Removed temporary class Fragment from HomologyContainer, replaced by SetValues/Fragment. commit a576ebf5f3584942d7d48537934a4df3bed212ae Author: Frederik Heber Date: Thu Sep 27 16:41:06 2012 +0200 Added serialization capability to Fragment. - also added unit test function on this. commit 12a24cb265abb9ed292c6a016a6a745267373e05 Author: Frederik Heber Date: Thu Sep 27 15:52:16 2012 +0200 Added serialization to HomologyContainer and completed HomologyContainerUnitTest. - Added specific operator==() to HomologyContainer as multimap's values' ordering is not guaranteed and boost::serialization does not adhere to it (simple copy of multimap probably maintains the ordering). - added InsertionTest, EqualityTest, and serializeTest(). commit 67db806639ff7456fbd7dd055cd5657502eb2af1 Author: Frederik Heber Date: Thu Sep 27 15:23:40 2012 +0200 Added serialization capabilities to FragmentEdge, FragmentNode, and HomologyGraph. - also added unit test function for each. commit e33bac08ce3d2ffc405a788b637506f147601331 Author: Frederik Heber Date: Fri Nov 23 18:43:33 2012 +0100 Set version to 1.3.6. - Codename "Triangular numbers" (The sequence 0,1,3,6,10,...=n(n+1)/2 or A000217 in oeis.org). commit db6f7d5bfbb4b11d713dc5ba5ec62d4a67309ab8 Author: Frederik Heber Date: Sat Sep 22 16:58:36 2012 +0200 FIX: We must not assert but check whether full molecule is loaded in FragmentationAutomationAction. - TESTFIX: Regression test Jobmarket molecuilderrun did not supply full molecule. commit cd2591cc2d151041e4a7f97421983ac4ccad8db0 Author: Frederik Heber Date: Thu Sep 13 10:26:14 2012 +0200 Added interpolation-degree as parameter to FragmentationAutomationAction. - this allows setting the interpolation-degree without recompilation. - this is now required as we have to calculate the nuclei energy whose precision depends on the interpolation degree from the potential grid. commit 67fec1f0516fdf2281ae25b110de4eb02240e94a Author: Frederik Heber Date: Thu Sep 13 10:17:08 2012 +0200 Changed VMGDataMap to contain entries for electron, nuclei, and total contributions. - due to now sampled potential for nuclei, we store these in the table file as well and also the difference as the total contribution. commit 82cbe49d38c142fdca94ca1ba031e48277563cb9 Author: Frederik Heber Date: Thu Sep 13 10:15:00 2012 +0200 Writing additional VMGEnergy table to file. commit a82602d89e2fa235117faebd8927979ae430d56d Author: Frederik Heber Date: Wed Sep 12 17:23:13 2012 +0200 InterfaceVMGJob now also calculates nuclei interaction energy. - necessiated to Particle::commMPI(). - CommParticles() call in ImportRightHandSide(). - in ExportSolution() we just copied stuff from interface_particles.cpp from VMG project. - returndata.e_long now contains calculated energy from there. commit 5a5196ce72216409382904043b36c0b0e8c3d422 Author: Frederik Heber Date: Fri Sep 7 17:20:22 2012 +0200 FIX: Now we OrthogonalSumPerLevel potential * charge per fragment. - otherwise the short_range_correction yields the full coulomb interaction and we obtain zero for the remaining long_range energy. commit d4f31f81b52f0c8280c1e51d05c0c10027b7a75e Author: Frederik Heber Date: Wed Sep 5 16:10:01 2012 +0200 FIX: FragmentResults now sums up long-range correction only for level 2 onwards. commit 19c50eb693e8d3faf8263bc25521a1c6c63b67e5 Author: Frederik Heber Date: Tue Sep 4 10:26:23 2012 +0200 IndexSetContainer now treats super set specially. - The super set must not gather its subsets via the gatherSubsets() as by construction all other sets are its subsets! As the super set is very large the power set way is no good idea. - added default cstor for SortedVector - removed SubsetMap::getMaximumSubsetLevel() as is replaced by ::getMaximumSetLevel() which is the level to sum up to. - changed all uses of getMaximumSubsetLevel() to getMaximumSetLevel(). - TESTFIX: Changed unit test function on getMaximumSubsetLevel() to check on getMaximumSetLevel() - removed OrthogonalFullSummator as is fully replacable by OrthogonalSummator. - changed IndexSetContainer::createSuperSet a bit. - IndexSetContainer::AllIndices is now no more static convenience entity but truely contains the super set (non-statically). ::createSuperSet() is for convenience to be called in cstor for AllIndices. commit 4f056ee4f8f8ba61bbfbf5d3291ade39e1f70347 Author: Frederik Heber Date: Tue Sep 4 10:13:21 2012 +0200 Refactored controller usage in FragmentationAutomationAction: Made three distinct parts. commit 27594e98143a33dbfb73bbd57d1e04ef63ad1cb8 Author: Frederik Heber Date: Fri Aug 31 19:19:30 2012 +0200 Added FragmentationChargeDensity to contain summed up charge density. commit 86cfac549b241910bb5f0786c6c412d4802f2ecc Author: Frederik Heber Date: Tue Sep 4 10:10:03 2012 +0200 Resulting tables in FragmentationAutomationAction are now written to files. commit 376a3b4220232a3fc45f7570dc4ff0ac93d50add Author: Frederik Heber Date: Fri Aug 31 18:39:17 2012 +0200 Added FragmentationResults as a container to hold final fragmentation results. commit a3112d40f12175114c1cbb5f5fd931fa82579847 Author: Frederik Heber Date: Fri Aug 31 18:38:33 2012 +0200 (Orthogonal)SumUpPerLevel now is template for the data structure, too. - this allows it to be used with MPQCData and VMGData. commit 184615a835601d841ff0ed66b473f820611f27cc Author: Frederik Heber Date: Fri Aug 31 18:27:22 2012 +0200 Extracted createMatrixNrLookup() into own header file. commit c699f4a92bce188cea9745629daa5f131c0768d8 Author: Frederik Heber Date: Fri Aug 31 18:24:43 2012 +0200 Removed OrthogonalSummation stuff from printReceivedMPQCResults() again. - this should bring printReceivedMPQCResults() down to what it was when we started this branch. commit 447481c9093e8228d3068ae67d0b5e676c825ae1 Author: Frederik Heber Date: Fri Aug 31 18:21:47 2012 +0200 Extracted template function extractJobIds() into own header file. commit a2295a3134eea526357331db860e7c4fa6cbf28c Author: Frederik Heber Date: Fri Aug 31 14:31:11 2012 +0200 We now create one full potential VMGJob of each summed up grid per level. - i.e. we now have a vector of full_sample and full_sample_solution. - new fusion map VMGLongRangeMap_t and VMGLongRangeVector to print the summed up grids via writeTable<>. commit 2388688c3e24cb54fc978d6c8efd1ddead979d8a Author: Frederik Heber Date: Fri Aug 31 14:29:13 2012 +0200 Added VMGDebugGridJob that just prints given sampled grid as VTK grid. - this is to allow inspecting the potential on the various summed levels. - added to FragmentationAutomationAction::performCall(). commit 4aee30a5e04ca02651e262da12049cf46466d8d3 Author: Frederik Heber Date: Thu Aug 30 17:32:41 2012 +0200 Timings of MPQCJob are now gathered for total and for the gathering process. - the gathering process e.g. includes sampling of electron density. commit de84efb698bb8f2f44d7a4e036e23a3817d025b4 Author: Frederik Heber Date: Wed Aug 29 15:11:50 2012 +0200 FIX: Poisson problem is now calculated in atomic length units. - as we calculate in atomic units, we must pass lengths not in angstroem to VMG but on bohr radii. commit 0655742262dfa8dd58ce4c44e738fe5208a3c4f5 Author: Frederik Heber Date: Wed Aug 29 15:09:08 2012 +0200 Added level and near_field_cells as options to FragmentationAutomationAction. - new options are grid-level and near-field-cells that allow setting the precision of the electron charge density sampling (and potentil calculation) and the smearing out of nuclei charge density on the command-line. commit 758e56a80af32184c09fb482a0b9e0072ce4e5a6 Author: Frederik Heber Date: Mon Aug 27 23:35:01 2012 +0200 printReceivedFullResults() now multiplies long-range potential times charge distribution. commit 0990e199f85d3f8130636eb3256b7f969a320595 Author: Frederik Heber Date: Mon Aug 27 23:31:26 2012 +0200 FIX: MemDebug needs to come after VMG stuff, otherwise we run into trouble with invalid new/deletes. commit c44322dead4b532287ef5f5ad002e748690ccd77 Author: Frederik Heber Date: Sun Sep 23 12:00:03 2012 +0200 Using operator<<(SamplingGrid&) to give debug info in MGFragmentController::createLongRangeJobs(). commit ffe0574b028ca944317a09afeafb7d94ea893726 Author: Frederik Heber Date: Mon Aug 27 13:59:18 2012 +0200 Added SpecificFragmentController and subclasses that contain functions to add type-specific jobs. commit e15ffe45688ddef78bcef1bbba8b711c8a07f382 Author: Frederik Heber Date: Fri Oct 19 14:50:45 2012 +0800 Added HomologyContainer::operator<<(). commit 54a56195d09e9b0c9488358886a6955cc0e399c0 Author: Frederik Heber Date: Fri Sep 28 16:10:51 2012 +0200 Added output operator to HomologyGraph. commit 77b350d4a59d3e57df0f050138ff3e04048d90f2 Author: Frederik Heber Date: Tue Sep 25 19:31:00 2012 +0200 HomologyGraph may now be created from a given KeySet referring to World's atoms. - HomologyContainer now contains HomologyGraph as keys in a multimap and it stores a (rudimentary) fragment and an energy value. commit 7b6b21f8725bdab8c2d666fc902d98a54d5ccaba Author: Frederik Heber Date: Fri Nov 30 11:12:28 2012 +0100 Added HomologyGraph that contains combined information on edges and nodes. - this class represents a specific homologous molecular fragment. - added unit test on comparator and assignment. commit 8387e06f968d381b3fce254b7726ba0d11c5a748 Author: Frederik Heber Date: Fri Nov 30 11:11:58 2012 +0100 Added FragmentNode and FragmentEdge to contain all information for comparing upcoming HomologyGraphs. - added unit tests on both contained comparator functions. commit 4694df82c685e4d9f1a22a75eb0c1355964be59f Author: Frederik Heber Date: Sat Sep 22 16:54:13 2012 +0200 Added class HomologyContainer and unit test. - is basically a multimap that takes keys with equal underlying chemical structure as same. commit 3aa8a59c4b8e2d177c403ddd9d9ddb5524e3df0d Author: Frederik Heber Date: Fri Sep 21 18:22:50 2012 +0200 REFACTOR: AdjacencyList now just contains a single internal map. - map may either be created from world for a given vector of atomids or parsed from file. - Moved molecule::StoreAdjacencyFromFile() over to StoreToFile(). - removed atom_bondedparticle::OutputAdjacency(). - changed comparison functions into operator<,>,==,!=(). - adapted FragmentationAction and SaveAdjacencyAction due to new calls, the former also needs to check the adjacency file for existence. - SaveAdjacencyAction does not split given filename into path and name anymore. - TESTFIX: Fragmentation-MaxOrder is working again, removed XFAIL_IF. - TESTFIX: Rewrite of AdjacencyListUnitTest due to heavily changed interface of AdjacencyList. Also wrongadjacencyfile3 was buggy. - TESTFIX: regression test SaveAdjacency replaced tab by space and removed tab after last entry in test.adj. commit 5197e543aadb7e0a5343495b6e246005819cd457 Author: Frederik Heber Date: Fri Sep 21 14:11:23 2012 +0200 REFACTOR: AdjacencyList's map creations may now create either map. - this is to allow having either way: Either the info from file as internal map or the info from the World's atoms. commit 0fad93db3291c128f999fcbf427d65f1824b785b Author: Frederik Heber Date: Thu Sep 20 18:31:44 2012 +0200 Renamed CheckAgainstAdjacencyFile -> AdjacencyList. - operator() is now CheckAgainstSubset(). commit 91207d4b79b8e46e1a50f522302e766ddeff4fb8 Author: Frederik Heber Date: Thu Sep 20 18:09:37 2012 +0200 AtomMask is now fully used, only marked atoms end up in fragments. - i.e. now only the selected atoms are fragmented. - AdaptivityMap::MarkUpdateCandidates() now marks all false who are already below threshold. - Fragmentation::CheckOrderAtSite() does not clear AtomMask anymore and does not set to true only to false when order has been reached. - We reversed direction as the AtomMask is not cleared anymore but just subsequently all sites are removed who are below threshold or have reached desired order. commit 2ab6b6fe93bbcbee3b2b87e40ef236d5a2c472c8 Author: Frederik Heber Date: Thu Sep 20 16:39:38 2012 +0200 FIX: Fragmentation::TranslateIndicesToGlobalIDs() now returns truely global ids. - before we just converted from sons to father's Nr, now its the globally valid Id. commit b4f72c33d00d959ec3b194e7ef824ee9baf108a4 Author: Frederik Heber Date: Thu Sep 20 15:44:17 2012 +0200 ExportGraph_ToFiles now does not require molecule reference anymore. - SortIndex is now just a dummy (identity) map. - FragmentationAction combines all graphs from each Fragmentationm call and exports these in one go. commit dcbb5dac817f661e01dae1a9436a1ec9bb379493 Author: Frederik Heber Date: Thu Sep 20 15:12:32 2012 +0200 REFACTOR: Replaced SortIndex by a distinct class to allow replacement. commit ca8bea22ad6c12313c02f7a53946becdc3eff35a Author: Frederik Heber Date: Thu Sep 20 14:37:12 2012 +0200 ExportGraph_ToFiles performs now the storing of the generated Graph to files. - FragmentMolecule now fills an internal graph. - ExportGraph_ToFiles gets graph in cstor and writes the contained KeySets to file on call of operator(). commit de0af277f13a3ac53d2d96963e46ad3c1326ef1f Author: Frederik Heber Date: Thu Mar 8 19:15:44 2012 +0100 Added some initial files for exporting a fragmented system to someplace else. commit 33991004f0fd68e26af2be1f2bbdf1baa32bec7c Author: Frederik Heber Date: Wed Sep 19 16:32:32 2012 +0200 Fragmentation now operates on a single molecule. - FragmentMolecule() does not continue on Subgraphs. - shifted remaining functionality from MoleculeLeafClass to Fragmentation. - FragmentList, KeySets, and RootStack are all just instances not arrays anymore. commit b9401edbe17098acc6816309ace63ac082269ef6 Author: Frederik Heber Date: Wed Sep 19 16:04:47 2012 +0200 Removed Correcting bond degree in Fragmentation::FragmentMolecule(). commit 9511c7d4a4f6056dc63228e8a4b73b94759e001c Author: Frederik Heber Date: Wed Sep 19 16:03:25 2012 +0200 CheckAgainstAdjacencyFile is now instantiated in FragmentationAction not in Fragmentation. - CheckAgainstAdjacencyFile was changed to have the adjacency structure from the file for precisely this purpose. commit 06f41f3c956f559b0c681f2d22c237c2160d0f8d Author: Frederik Heber Date: Wed Sep 19 15:55:43 2012 +0200 CheckAgainstAdjacencyFile now works on given vector of atomids. - added helper function getGlobalIdsFromLocalIds() as we have to translate molecule's internal ids to global atomId_t to check against those in file. - TESTFIX: Adapted CheckAgainstAdjacencyFileUnitTest to the changes, also added another test case to operatorTest(). commit b78dfdecf40858a10780a6f9e58864c03c09da59 Author: Frederik Heber Date: Wed Nov 28 13:30:27 2012 +0100 Added helper getGlobalIdsFromLocalIds. - for CheckAgainstAdjacencyFile we need global ids but Fragmentation gets only local ones but also the molecule. Hence, we may translate them. commit bf42a0fbcc056cc1fb1cc17080df678caba35b24 Author: Frederik Heber Date: Wed Nov 28 13:29:16 2012 +0100 FIX: Renamed double inclusion preventer of fragmentation_helpers. - collided with one from Fragmentation/helpers. commit 3501d220b42c41a509f1636a333c1770e161d572 Author: Frederik Heber Date: Wed Sep 19 12:11:12 2012 +0200 REFACTOR: CheckAgainstAdjacencyFile now gets File in cstor. - we cannot have multiple files, but we may have multiple fragmentations. Hence, CheckAgainstAdjacencyFile should get and parse the File in its cstor and get a set of atoms in its operator() to check against. commit 2a0eb0bc95d9c1abbb0bac5df2ab2b1531f888e6 Author: Frederik Heber Date: Wed Sep 19 11:47:16 2012 +0200 FragmentationAction now works on selected atoms, split into molecules. - i.e. we still call Fragmentation on a specific molecule but fragmentMolecule() receives a vector of ids to use in its AtomMask. This is however not yet implemented. - TESTFIX: added --select-molecules-atoms to all fragmentation calls. commit 34e74fda34e6b1a1242d6d24f88fd932c75726f1 Author: Frederik Heber Date: Fri Sep 7 12:49:23 2012 +0200 FIX: Fragmentation::GuesstimateFragmentCount() now uses saturation in estimate. - when not saturation the count is a lot higher ... commit e554d0cb4265472eca336884d7b64c3671f1a025 Author: Frederik Heber Date: Fri Sep 7 12:46:01 2012 +0200 Removed SortIndex as (unused) parameter in OutputConfigForListOfFragments(). commit d4d7a1bd17bebcb9a0627ca68125673382918cbe Author: Frederik Heber Date: Fri Sep 7 12:39:43 2012 +0200 SortIndex is now a map. - SortIndex is used for giving forces in correct order. - we must -1 if atom is not present in map. commit 34340193276773ab7abaeb6bbee9133e14de0dfb Author: Frederik Heber Date: Mon Aug 27 18:00:03 2012 +0200 longrangeData nows needs its own MatrixNrLookup, since job ids are different. commit 3dd32f25e60ad8bec93457ff6b96836c8d924c54 Author: Frederik Heber Date: Mon Aug 27 17:24:37 2012 +0200 MatrixNrLookup ist now used const throughout templated functors. - createMatrixNrLookup() returns it to allow for creating const variable directly. commit c9f9bbb2d96080528233d702e81243480b34033d Author: Frederik Heber Date: Mon Aug 27 13:51:09 2012 +0200 Combining FragmentResult's id and ...Data in FragmentationAutomationAction's helpers. - all ...Data are always placed into map, hence associated to fragment job id. - necessitated changes to all ..Summators, ..SumUpPerLevel, and DataConverter. commit 995e2f630769a5f3b1bfaa3010c8e6eb0e1f0a9e Author: Frederik Heber Date: Mon Aug 27 14:12:59 2012 +0200 createMatrixNrLookup() now just needs vector. - sumUpChargeDensity(), putResultsintoMatrices(), and printReceivedMPQCResults() likewise. commit 0398bd3f86573bb724b71c8e05ebaeadda50c7c7 Author: Frederik Heber Date: Mon Aug 27 14:31:31 2012 +0200 Moved ConvertDataTo and ..SumUpPerLevel into distinct header files. commit 3023451f9bb244c1ffafbac7f100be34a2430f1f Author: Frederik Heber Date: Fri Aug 10 18:17:28 2012 +0200 FIX: (Orthogonal)Summator would not create correct indices for present super set. - when the super set is contained as a normal set, i.e. we obtain a value from the calculations for it, then we only treated this correctly for a single index sets. commit 7f85250f2873734c9d5ffecf9d9db2e664aa3334 Author: Frederik Heber Date: Fri Aug 10 15:36:27 2012 +0200 Changed overall debug levels in output of FragmentationAutomationAction. commit 1f76f3c0db8419b5c96fd12a77fcf7d63f64c657 Author: Frederik Heber Date: Mon Aug 27 15:05:51 2012 +0200 Fullsolution in printReceivedFullResults() has to be given extra. commit c5feefc3ad7c91074ee36557b80175e313f0d3b4 Author: Frederik Heber Date: Mon Aug 27 13:56:27 2012 +0200 Added energy_potential to fusion keys in VMGDataFused and summing up energy_potential. commit 06865e9af8ba15417cf8a83c602dca55d5af6373 Author: Frederik Heber Date: Fri Aug 10 18:37:46 2012 +0200 FragmentationAutomationAction now also treats the case correctly with sets including superset. - we don't need any extra... stuff, we just need to treate the last result extra. commit 358ddb37ffa1a42ccb292d081c67a06b75b91005 Author: Frederik Heber Date: Wed Aug 8 18:56:24 2012 +0200 FragmentationAutomationAction now also sums up potential and obtain long-range energy. - this does not yet seem to be fully working but all the pieces are in place and the failure might also be connected to various issues (e.g. bohr radii) of mpqc. commit a0f8d32c46a65add52f2d4294ddba66aa2b50eac Author: Frederik Heber Date: Wed Aug 8 18:54:37 2012 +0200 Generalized template functions Convert(MPQC)DataTo and ConvertFragmentDataTo(). - may now deal also with VMGData. commit f3bc5f070b9f68b25bb74138308ce7c41d1e935f Author: Frederik Heber Date: Fri Aug 10 10:21:49 2012 +0200 Added extensive unit tests and some more functions to Fragment. commit 1849434d9b5e8747f19c49b9bd8147e201503b9c Author: Frederik Heber Date: Wed Aug 8 15:36:24 2012 +0200 Added Fragment to MPQCData fusion maps and is used in FragmentationAutomationAction. - new helpers Fragment::getPositions() and ::getCharges(). - SumUpChargeDensity() now also sums up a full Fragment. - the Fragment is used by createLongRangeJobs to extract required posittions and charges from. commit c74fdb7d4752180ef951320937f2e2c2c36abd7f Author: Frederik Heber Date: Wed Aug 8 15:22:56 2012 +0200 Added new SetValue Fragment for summing up nuclei positions and charges. - this is required only temporarily until we eventually combine the creation of the fragments and their automated calculation. commit 849cd8e107c07fa8b744cd0f691da136460b27f0 Author: Frederik Heber Date: Wed Aug 8 15:17:44 2012 +0200 Created new function sumUpChargeDensity() that just sums up the grid. - this is mostly just taken from printReceivedMPQCResults(). commit 94d530feefb1ab3f22599705d28b424606dab346 Author: Frederik Heber Date: Wed Aug 8 14:35:31 2012 +0200 Added template function SumUpPerLevel() that does now all the summation on one function. commit 635645a8ca973ea73ffcce9696511ddda99591fb Author: Frederik Heber Date: Wed Aug 8 14:17:40 2012 +0200 Translated convertMPQCDatato...() into specialized template functions convertMPQCDataTo(). commit c4ee0808e13827946db48dc3d32793d3fd932f0e Author: Frederik Heber Date: Wed Aug 8 13:33:59 2012 +0200 Extracted several functions out of printReceivedMPQCResults(). commit a22e05063f3dfbe6ca51f2a7a65d67f2503c902c Author: Frederik Heber Date: Tue Nov 20 14:00:14 2012 +0100 Set version to 1.3.5. - Codename "Tongue" (Radical 135 of Kangxi script has this meaning). commit 36bb2d7a076ed791ede05f0dc93c94e2ad78995d Merge: cebac0b a1436b3 Author: Frederik Heber Date: Tue Nov 20 12:04:12 2012 +0100 Merge branch 'VMGJob_SamplingNucleiCharges' into Candidate_v1.3.5 commit cebac0bc1365c484c97d232fa920080fc7c902e2 Author: Frederik Heber Date: Mon Nov 19 11:28:40 2012 +0100 Set version to 1.3.4. - Codename "Cymdeithas Rheilffordd Eryri" (No.134 is the designation of a locomotive of the Welsh Highland Railway Society under restoration). commit d5307bd74e46ad30ea58a9ee1f4368f5bdad3997 Author: Frederik Heber Date: Mon Nov 19 14:48:06 2012 +0100 DISTFIX: new logo files were not in EXTRA_DIST. - renamed logos.qrc -> icons.qrc to match with icon file prefix. - renamed liblogo.a libicons.a. - adapted QtMainWindow::QtMainWindow. - qrc_icons.cpp needs to be in CLEANFILES. commit d61161337b5ad56815ad99afc6755e5991c31abd Merge: 286a967 3153514 Author: Frederik Heber Date: Mon Nov 19 11:27:51 2012 +0100 Merge branch 'michi-list-query-validator' into stable commit 3153514f596b31a77566f32f0a3cdd9fdb08cb65 Author: Michael Ankele Date: Fri Nov 16 14:56:17 2012 +0100 Refactoring: nicer map construction for shape names commit 30421d4c9515c8215cc765e018219d205a802a06 Author: Michael Ankele Date: Fri Nov 16 14:45:55 2012 +0100 Refactoring: replace if/else with switch commit a1436b30558f015098c13d123357549c76c5af31 Author: Frederik Heber Date: Fri Aug 10 10:24:09 2012 +0200 Printing now four grids for debugging in InterfaceVMG. - also shifted message about grid size to beginning. commit 17fcbe7a4a60ff1616ecb9b7e16b3917a0c70c1e Author: Frederik Heber Date: Wed Aug 8 13:05:24 2012 +0200 FIX: Correcting normalization in InterfaceVMGJob among others. - with lots of help from Julian Iseringhausen. commit 08cc62d7672570b6c105a349a3d88e33a3f37871 Author: Frederik Heber Date: Mon Aug 6 19:19:45 2012 +0200 DEBUG: Modified printing of summed grid charge and grid potential. - now we use comm::GlobalSumRoot(). commit 16b4fe503e2385385f9ca2fc8019a738f4913fbe Author: Frederik Heber Date: Mon Aug 6 19:18:06 2012 +0200 DEBUG: Added writing grids as VTK files to InterfaceVMGJob. - writing both initial right-hand side and potential. commit 03d422a0fbeb428160b5e5c4c6f173c62afd7bdf Author: Frederik Heber Date: Mon Aug 6 19:16:34 2012 +0200 Added a normalization to interpolation of charges onto particle_grid in InterfaceVMGJob::ImportRightHandSide(). commit 4adef72d2906cbf71e5806a79c74cdbf57f43d69 Author: Frederik Heber Date: Mon Aug 6 19:14:43 2012 +0200 Added some debugging output to FragmentationAutomationAction. commit 2bc560b6277c26c9ab7b1ca0ddea3ce629bda009 Author: Frederik Heber Date: Mon Aug 6 19:14:07 2012 +0200 Added VMGData as container for data returned from VMGJob::Work(). commit fb881a1f80f17f42fdbdb40fbf1901b56fe07b5d Author: Frederik Heber Date: Mon Aug 6 11:10:32 2012 +0200 Energy- and Timetable are given without eigenvalues and flops, respectively. - we use boost::mpl::remove to create sequences without these for writeTable. commit 27afbfb8dd654781c2da98607fb879fd28cd8d5a Author: Frederik Heber Date: Fri Aug 3 12:09:29 2012 +0200 FragmentationAutomationAction now prints table of results for energy, force, and times. - added template functor writeTable that does what was present before as code in printReceivedMPQCResults(). commit c42a433c75c0f0aecd907cbc3120544ffdfecda3 Author: Frederik Heber Date: Fri Aug 3 11:51:07 2012 +0200 Added ValuePrinter with templated operator() for mpl::for_each to print row-wise values for tables. - this is preparatory to write the summed up results to file. commit 20b3dff8d133c4a69026d9bd0c31acd3c455a06c Author: Frederik Heber Date: Fri Aug 3 11:32:19 2012 +0200 Added HeaderPrinter with templated operator() for mpl::for_each to print header for tables. - this is preparatory to write the summed up results to file. commit beb16e5d247b507955235e440b1e7f8e0b097418 Author: Frederik Heber Date: Fri Aug 10 10:54:58 2012 +0200 Added template function ZeroInstance to have zero value in OrthogonalSummation::Sum() initially. - the problem is that e.g. double's default cstor does not initialize to 0 as the underlying representation is not a bunch of 0 bits as given by the OS. commit 310201030048c0e346d50c39f08bcb7a69c0d92c Author: Frederik Heber Date: Wed Aug 8 18:45:15 2012 +0200 Getter (Orthogonal)Summation::getSetVales() added. - this is actually access some specific contributions such as the one from the super set. commit ff9963d2848d88341ab23ab176ec1c3871acc1c5 Author: Frederik Heber Date: Fri Aug 3 11:15:42 2012 +0200 (Orthogonal)Summation now goes level-wise. - print(Orthogonal)Sum go through all levels and call on (Orthogonal)Summator to get value which is stored in vector of result of MapType. - (Orthogonal)Summator hands on level to (Orthogonal)Summation - (Orthogonal)Summation::operator() and Sum() now require level as parameter. - NOTE: We cannot set the value to zero (this depends on the default cstor). If level==0, then we return an uninitialized value. - Renamed print(Orthogonal)Sum -> AllLevel(Orthogonal)Summator. commit 8a0e78b785b9ae5193eb4768b53b5c7fbb222d7d Author: Frederik Heber Date: Fri Aug 3 10:57:10 2012 +0200 Added IndexSetContainer::countSetsTillLevel() to count sets up to size. - we require this function in SummationUnitTest. - also added unit test function. commit a96b02be2381aa330df86c1a1c114213944e1657 Author: Frederik Heber Date: Fri Aug 3 10:13:46 2012 +0200 (Orthogonal)Summator now have internal instance Summation. - added createValues() and getSubsets() that are called in cstor to create the necessary variables for (Orthogonal)Summator's cstor. commit d199cc8649eee7e4b74fe6a4fc9da9737f7e5c82 Author: Frederik Heber Date: Wed Aug 29 15:12:36 2012 +0200 Added new function SubsetMap::getMaximumSetLevel(). - just gives the size of the super set. commit db11d49b153cd63db8037e831d66468ef0acf659 Author: Frederik Heber Date: Fri Aug 3 09:54:39 2012 +0200 Added SubsetMap::getMaximumSubsetLevel() to know up to which level to sum. - also added unit test function. commit a3a3828acd79a61dbfa8cb49dbf30534f750cbaf Author: Frederik Heber Date: Fri Aug 3 09:32:00 2012 +0200 FragmentationAutomationAction creates instance of print(Orthogonal)Sum. - this is preparatory for summing up to a certain level. commit a67a041130640966bf105d1d86850cc600a3e6b8 Author: Frederik Heber Date: Thu Aug 2 21:42:36 2012 +0200 IndexedVector's cstor ignores -1 as indices. - this is to allow for ignoring the saturated hydrogens whose index is -1 in Force-Factors.dat and also to mark certain vectors as to drop. - -1 has been enumerated as DropIndex. - FragmentationAutomationAction now correctly parses forces also for the contained hydrogens due to specifically created IndexedVectors with index sets that also incorporate hydrogens. commit 8b58ac216014d5bef5ecc26c850653adf4ddd5aa Author: Frederik Heber Date: Fri Nov 16 15:01:22 2012 +0100 KeySetsContainer::ParseKeySets() may now parse arbitrary files. - ParseKeySets() can now be given filename to parse, also ACounter is no longer required. - changed joiner, analyzer, FragmentationAutomationAction and controller_MPQCCommandJob due to changed signature. - FIX: KeySetsContainer would not correctly parse keys but often one too many. commit 5b991af4e784dced8ffa5e1d31bdb3b7242e87b4 Author: Michael Ankele Date: Wed Nov 14 16:06:00 2012 +0100 compile icons into the executable commit e59e8e8b9ce5bb893627d993f70c76bb4b236309 Author: Michael Ankele Date: Fri Nov 2 16:43:14 2012 +0100 ParserTypeValidator + And_Validator: values readable by QtQueryList commit 713a4346de9abe1861f54c9fac819c08579edffb Author: Michael Ankele Date: Fri Nov 2 15:57:04 2012 +0100 QtQueryList can use STLVectorValidator's ElementwiseValidator commit 66f7121a451c210f2d973fe0bddc5d5ee9fbbfaa Author: Michael Ankele Date: Tue Oct 30 13:48:51 2012 +0100 FIX: Cylinder_impl::getNormal()/isOnSurface() now respect points on top and bottom commit b3b228ed2f97b3423a7ee4a52e00ed16e454e906 Author: Michael Ankele Date: Fri Oct 26 15:42:49 2012 +0200 GLMoleculeObject_shape: dirty transparency effect commit 85c36d18bc07088784b26e3f1c1031fd38b98dfb Author: Michael Ankele Date: Fri Oct 26 14:58:05 2012 +0200 cached shapes in GLWorldScene + cleaner ShapeRegistry notifications commit 7de208124fa7b2ea9b4a226181df09f8fda8bc24 Author: Michael Ankele Date: Thu Oct 25 16:36:55 2012 +0200 FIX: Cuboid_impl::getNormal used wrong coordinates commit bf83184dc2965f6ba10d71f263bcadf6814994fb Author: Michael Ankele Date: Thu Oct 25 16:34:16 2012 +0200 Cuboid_impl::getHomogeneousPointsOnSurface (cruedly) implemented commit 70e9eb61d4629017938dd5719f7e63a90e269e8b Author: Michael Ankele Date: Thu Oct 25 14:54:07 2012 +0200 FIX: segfault when removing shapes * "delete" button called wrong action * shapes were still selected after removing them from shapeRegistry commit ec53b5cd7038d8ad55a910117928b9198464ab84 Author: Michael Ankele Date: Thu Oct 25 14:34:08 2012 +0200 QtShapeController: label + button icons + plumbing clean up commit 301bc2b71fcf7385f9abf1ed3bed5d9502caef48 Author: Michael Ankele Date: Thu Oct 25 14:15:14 2012 +0200 QtShapeController added (buttons for shapeList) commit 9765fde1e805cda1de4707929f7fcb51488a1ba5 Author: Michael Ankele Date: Tue Oct 23 16:03:12 2012 +0200 icon for stereo view added commit 25e08accb780cc7af7c398763d3bfcaff7eed567 Author: Michael Ankele Date: Tue Oct 23 15:51:29 2012 +0200 new icons for atom/molecule selection commit e8c5421d7b65e6276569546ce109335795d863d7 Author: Michael Ankele Date: Tue Oct 23 14:47:16 2012 +0200 Refactoring: RandomNumberValidators as DiscreteValidator commit 751d6b712005ed58371cb95f6d3cb6df3c6585e1 Author: Michael Ankele Date: Tue Oct 23 14:46:46 2012 +0200 Refactoring: BoundaryConditionValidator as DiscreteValidator commit dbf6c75cc47f8e2ae9d31a5c93c7386614cac23a Author: Michael Ankele Date: Tue Oct 23 14:00:22 2012 +0200 StringQtQuery: ComboBox for discrete values commit dc438cb07c848923bd7cabf6e2ae91e1cdaa9150 Author: Michael Ankele Date: Tue Oct 23 13:20:01 2012 +0200 Refactoring: ShapeTypeValidator as DiscreteValidator. - added ShapeTypeValidator clone() and operator==(). commit 284551b1c81c6adb8f9ba10a7028099c14e3bd7c Author: Michael Ankele Date: Tue Oct 2 16:04:47 2012 +0200 GLWorldView shows the selected shapes from ShapeRegistry commit f754917924b80919f8e64d1677b63a945f3b35f9 Author: Michael Ankele Date: Mon Aug 6 15:20:38 2012 +0200 GLWorldScene: addShape() added commit afd3d207a2a22630f13ebba4403b69ab2d1653ba Author: Michael Ankele Date: Mon Aug 6 15:18:14 2012 +0200 GLMoleculeObject_shape added commit 615eee75a1f9bbadd8d833f5246fdea36cc726d6 Author: Michael Ankele Date: Mon Aug 6 15:15:55 2012 +0200 GLMoleculeObject: prepare for deriving shape class commit f20da52f1db9ff211bd8cc8dd78121b43459ef0d Author: Michael Ankele Date: Tue Oct 2 15:04:38 2012 +0200 RemoveShapeAction added commit d893672e01f0e26c4741145555239bb97390622a Author: Michael Ankele Date: Tue Oct 2 15:04:18 2012 +0200 CreateShapeAction: redo() implemented commit 842aac61c6439ac82216b2a76ac58cea36787afe Author: Michael Ankele Date: Mon Oct 1 16:05:07 2012 +0200 Refactoring: FillSurfaceAction uses ShapeRegistry commit 060c7da2493bdd92f7464a136b182c7edb14498d Author: Michael Ankele Date: Mon Oct 1 15:59:16 2012 +0200 Refactoring: NotAllAtomsInsideVolumeAction uses ShapeRegistry commit ff9e5aa00cb3a198f58315ad4dda3952ed5b34eb Author: Michael Ankele Date: Mon Oct 1 15:55:58 2012 +0200 Refactoring: AllAtomsInsideVolumeAction uses ShapeRegistry - ShapeFactory and ShapeRegistry are now purged in cleanUp. commit d475a6a0999cac8aeb6aff8e333ae87daa0a514d Author: Michael Ankele Date: Mon Oct 1 15:37:40 2012 +0200 CombineShapesAction added commit 25f8f7a9dcad7ab130b29e6561fdda708928b06c Author: Michael Ankele Date: Mon Oct 1 15:37:02 2012 +0200 Fix: ShapeOpValidator forgot public commit cf373bc7fefa3c336bbef0d87b575ee49566d670 Author: Michael Ankele Date: Mon Oct 1 14:25:44 2012 +0200 ShapeOpValidator added commit a0d5ef742c48094468d71a7cbd8d4a0c094b74b9 Author: Michael Ankele Date: Mon Oct 1 14:08:29 2012 +0200 QtShapeList: selection in GUI calls selection actions commit 2c004d1f6531a9331f798a31d3e7c652d4079a37 Author: Michael Ankele Date: Mon Oct 1 13:51:57 2012 +0200 SelectionNotShapeByNameAction added commit a27dcb591e92b38dd000e1357e027eaa75b123f2 Author: Michael Ankele Date: Mon Oct 1 13:26:16 2012 +0200 SelectionNotAllShapesAction added commit 663606f9fc7a2df3110487b780c25c07738d5ecd Author: Michael Ankele Date: Fri Sep 14 17:04:07 2012 +0200 SelectionShapeByNameAction added commit 4cd00e67cb46cf0670241717c29dc3f29f0ed5eb Author: Michael Ankele Date: Fri Sep 14 17:03:07 2012 +0200 ShapeName/TypeValidator implemented and renamed commit 70bce952fe074f8df663ea61ed19170aefbb6afd Author: Michael Ankele Date: Fri Sep 14 16:13:16 2012 +0200 AllShapesAction added commit 43c79a35f2709709e8cc7d2bc7fee569ae9bff5b Author: Michael Ankele Date: Fri Sep 14 16:12:37 2012 +0200 QtShapeList can now show which shapes are selected (not interactive yet!) commit 8f12de70abbc748dfb3f3ce791b30c7615cf0cb8 Author: Michael Ankele Date: Fri Sep 14 15:51:26 2012 +0200 Shapes now selectable in ShapeRegistry commit 4458b09d5581fddd238a05956231b1e22bba1f56 Author: Michael Ankele Date: Fri Sep 14 15:17:00 2012 +0200 QtShapeList added commit 6131d8ffa9a5b6169c706021db0bd650ef76d377 Author: Michael Ankele Date: Fri Sep 14 14:32:34 2012 +0200 CreateShapeAction added commit 1c95882265b58588cd99b3ea7195b86467099a6b Author: Michael Ankele Date: Fri Sep 14 14:31:31 2012 +0200 Refactoring: ShapeFactory now uses global ShapeType commit 8f6a27114a45faed529524ec253583f7c4a78a20 Author: Michael Ankele Date: Thu Sep 13 14:40:54 2012 +0200 made ShapeRegistry an Observable commit d8421f967e624f5adb8d53bc22fa61e7e9bfad40 Author: Michael Ankele Date: Thu Sep 13 14:24:13 2012 +0200 ShapeRegistryUnitTest added commit 14549870ead800ed0ce73e795e339010dca476a7 Author: Michael Ankele Date: Thu Sep 13 14:23:57 2012 +0200 ShapeRegistry added commit d0cd6d67b84acc94d9f54617384f672de8b7573d Author: Michael Ankele Date: Thu Sep 13 14:22:50 2012 +0200 Shape: added name property for use in ShapeRegistry commit eff53659045871fd5068f260387e8147a43c861f Author: Michael Ankele Date: Fri Sep 7 15:55:53 2012 +0200 AllAtomsInsideCuboid/SphereAction > AllAtomsInsideVolumeAction (using ShapeFactory) commit 09eaac759eb27466e27c56d0a6d29cceab152181 Author: Michael Ankele Date: Fri Sep 7 15:31:23 2012 +0200 FillSphericalSurfaceAction > FillSurfaceAction (using shape factory) commit 98d03bd3ced77f80f72da1e84e0d04c750719b66 Author: Michael Ankele Date: Thu Sep 6 17:27:29 2012 +0200 ShapeNameValidator added commit 4dc30911b17eed762fa2312657a6cead1ac5593d Author: Michael Ankele Date: Thu Sep 6 16:54:42 2012 +0200 SetShapeAction added commit a367b81f9d73ebe6fddef7c4b5acf176cbc0f459 Author: Michael Ankele Date: Wed Sep 5 17:38:31 2012 +0200 ShapeFactoryUnitTest added commit 4477b74eac8ea168e6f9f5200430b9b2b41b7bf4 Author: Michael Ankele Date: Wed Sep 5 16:36:21 2012 +0200 ShapeFactory: produce() implemented commit 4f041a4b395b1ac0ec939e2084c63540de6b096a Author: Michael Ankele Date: Wed Sep 5 16:11:12 2012 +0200 ShapeFactory: factory state commit 6e5d3505f24b8a20ca76bfd8af8acb635bc5b7a6 Author: Michael Ankele Date: Wed Sep 5 15:59:58 2012 +0200 ShapeFactory: name/type maps added commit fb69e991ceb98f78bdb604d5dd15bfe1438c640e Author: Frederik Heber Date: Thu Aug 2 19:55:26 2012 +0200 Added conversion constructor from KeySetsContainer to IndexSetContainer. - conversion is outsourced from FragmentationAutomationAction. - FIX: super set would actually get added twice before in above conversion. commit cd77fcf679a54de7deec8445ce3cd9cccd538da9 Author: Frederik Heber Date: Thu Jul 26 12:17:56 2012 +0200 Positions and charges of nuclei are also contained in MPQCData and used by VMGJob and InterfaceVMGJob, respectively. - this is a temporary solution until we finally create the fragments and send prepare the MPQCJobs in one go. I.e. for now mpqc has to fill in the vacant MPQCData entries of positions and charges to be used by the VMGJob created from this information. - Using CommSerial/MPI in ImportRightHandSide() to getParticleGrid(). commit 092be05641d86ffa7806dfa77f2c1245d91a22c7 Author: Frederik Heber Date: Mon Jul 30 11:08:57 2012 +0200 FragmentationAutomationAction now sums up times in non-orthogonal manner. commit c40e15d6697957957c2cc47a2cd1f72c7a539eae Author: Frederik Heber Date: Mon Jul 30 11:08:44 2012 +0200 Added Summation, Summator, and printSum for non-orthogonal Summation. - this is needed for adding up times in FragmentationAutomationAction. commit c6ca23fe871942ffe00849bb181ca2fe88d7bc94 Author: Frederik Heber Date: Mon Jul 30 11:05:53 2012 +0200 Renamed Summator and printSum to OrthogonalSummator and printOrthogonalSum. - this is preparatory for introducing a non-orthogonal summator. - sadly, I don't have a quick answer how to generalize the above to an arbitrary templated (Orthogonal)Summation. commit e72c61273d7fd87405519a8e0373d653e9c2d1a6 Author: Frederik Heber Date: Thu Aug 30 17:34:36 2012 +0200 Added Sampling::integral(SamplingGrid&) that allows for a (charge) weighted integral. commit a1fcc6d39c0ec8619ef1b8f189304b7c5f64b6c0 Author: Frederik Heber Date: Mon Aug 27 23:30:07 2012 +0200 Added SamplingGrid::operator*=() for multiplying potential with charge distribution. commit c37c2055044428a2512b96af7bd6cd3272550813 Author: Frederik Heber Date: Mon Jul 30 10:57:33 2012 +0200 Added SamplingGrid summation to FragmentationAutomationAction. - added sampled_grid as key to boost::fusion::map. commit 80959a16d0dd23c8ec827b49c6ae45434d2ecddc Author: Frederik Heber Date: Sun Sep 23 11:59:50 2012 +0200 operator<<(SamplingGrid&) now gives info on size and level. commit cb33635e76780eb90a121b583f30834ba1ccb07c Author: Frederik Heber Date: Wed Aug 8 18:44:48 2012 +0200 Added SamplingGrid::integral(). - this is also used for output streamer. commit c889b7d07d4553e5cc902de0cd0de8fd90e0c533 Author: Frederik Heber Date: Mon Jul 30 10:12:02 2012 +0200 Extended SamplingGrid to be usable as SetValue. - added operator+=() and operator-=(). - added unit tests for SamplingGrid and SamplingGridProperties. commit bebafd04e8cadea91a33bd0b5f59af91f63b7452 Author: Michael Ankele Date: Wed Sep 5 15:25:05 2012 +0200 (empty) ShapeFactory added commit 4adfba4c02b009fde445dcd95a19e5bd02447985 Author: Frederik Heber Date: Mon Jul 30 10:11:15 2012 +0200 LibMolecuilderJobsGrid is now a distinct convenience library, however included in libMolecuilderJobs. commit 442ceedac1f17008644f48fc45034d4d28604b23 Author: Frederik Heber Date: Thu Jul 26 10:46:43 2012 +0200 Added potential_grid as output SamplingGrid to VMGJob and InterfaceVMGJob. commit 28c025c7f16461a5e282e398e0048ebf27c7deec Author: Frederik Heber Date: Thu Jul 26 10:45:44 2012 +0200 Added SamplingGrid and SamplingGridProperties to contain information about sampled 3D function. - MPQCData, MPQCJob, and VMGJob now contain instances of SamplingGrid (Properties). commit d12d62174ff6d2796691d3074a5db03af886ecb4 Author: Frederik Heber Date: Wed Jul 25 20:26:01 2012 +0200 VMGJob, MPQCJob, and MPQCData now contain information how to sample the density. - begin, size, and level are stored in the classes. Additionally, InterfaceVMG stores the level as VMG::Interface::levelMax is private. - We obtain begin and size via the domain size of the system, the level is set via an arbitrary constant that later has to be adapted to the required accuracy. - MPQCJob is uses by mpqc to place the infor in resulting MPQCData, wherefrom VMGJobs are constructed that now also contain the vector of sample points. commit 2764e08a4c838a97a1a5416a338b1c476a1e6dcd Author: Frederik Heber Date: Wed Jul 25 20:24:27 2012 +0200 Added ConvertFragmentResultToMPQCData to FragmentationAutomationAction. - also printReceivedMPQCResults now gets a vector of MPQCData that is converted beforehand. commit 815f60023acd8faa70610ea84199dc881930c681 Author: Frederik Heber Date: Wed Jul 25 13:28:35 2012 +0200 Added density to MPQCData. commit 88c2c131b8435156a37fc7a7dab579092f57b2f0 Author: Frederik Heber Date: Sun Jul 15 15:46:26 2012 +0200 DEBUG: Added output of grid intervals and extent. commit 69c73300e331c0e82ee133aff558328a4ce1705a Author: Frederik Heber Date: Sun Jul 15 14:54:01 2012 +0200 Added second part to FragmentationAutomationAction that calculates long-range part. - we create VMGJobs, as of now with a lot of 0 as sampled_grid. - added HAVE_VMG to compile on VMGJob only if vmg is available. - new option DoLongrange to FragmentationAutomationAction to deactivate long-range calculations by default. commit 8a8c8c804fad49bc435d83757fd9744a46a45bee Author: Frederik Heber Date: Mon Jul 30 15:05:40 2012 +0200 Using CommMPI in VMGJob now. - this is used instead of CommSerial as CommMPI is better maintained right now. - using lx_find_mpi from Libra project to detect mpi compiler and linker flags. commit e9cfc4c0be4434abf2dfa7dfd45fef57caf91dbd Author: Frederik Heber Date: Sun Jul 15 13:22:16 2012 +0200 Added rudimentarily complete structure of interface to VMG and VMGJob that uses VMG. - interface is adapted from interface_particles.cpp. - VMGJob is adapted from interface_fcs.cpp. - this is a test whether we may compile solidly against VMG component. - so far, the grid is initialized to zero, the MG solver is called and the potential should return as zero. commit d2a0f6d2e6fc25cd0d246a3f6942fb00bd93273c Author: Frederik Heber Date: Fri Jul 13 16:16:26 2012 +0200 VMGJob can now be conditionally compiled in via --with-vmg. - requires vmg library from scafacos project which is can be brought in via a modified .pc file. - AC_ARG_ENABLE checks for vmg, PKG_CHECK_MODULE for VMG. - added AM_CONDITIONAL CONDVMG for this purpose. commit 286a967c05f3483fdec8a81de5365aebc67c1410 Author: Frederik Heber Date: Mon Nov 12 17:05:47 2012 +0100 Set version to 1.3.3. - Codename "Last Discovery" (STS-133 is the mission designation of the last flight of space shuttle discovery) commit e13990bfa81063bc4e2dd8eec99ef2d0b440077c Author: Frederik Heber Date: Mon Jul 30 10:10:24 2012 +0200 FragmentationAutomationAction now also sums up the forces from each fragment. commit 7d92f13f3b892a09752e7243b50f0efcd8b79b60 Author: Frederik Heber Date: Mon Jul 30 10:08:44 2012 +0200 Added another SetValues named IndexedVectors for a bunch of (force) vectors associated to an index. - this is required to sum up forces obtained from fragments. commit e06820e17d5c8fbdc7dae1b736bcbd4e798d3a1b Author: Frederik Heber Date: Mon Jul 30 10:04:54 2012 +0200 Renamed Fragmentation/Histogram/ -> Fragmentation/SetValues/ - also moved subfolder unittests. - changed includes and Makefile.am's. commit dde8ec590497d06486d2c7c6e1c9cacda42115c6 Author: Frederik Heber Date: Sun Jul 29 19:53:39 2012 +0200 Histograms are now summed up, too. - added Histogram cstor that just takes vector. - extracted Histogram::getMinMaxFromSamples(). - aded energy_eigenvalues key to MPQCDataEnergyVector_t. commit 1f66c7447fe08a8eda304683cb7fc7e77ce95ba5 Author: Frederik Heber Date: Mon Jul 30 10:54:19 2012 +0200 Renamed and extracted namespace FusionKeyNames -> printKeyNames. - also renamed related file MPQCData_printName -> MPQCData_printKeyNames. commit 286e3649c8528fe76cb64a3db5b19b18282fe9e2 Author: Frederik Heber Date: Sun Jul 29 14:22:38 2012 +0200 Placed template functor printSum into own module. commit adccaed9f6ccb7c231630a4ea73dd689da24dfc5 Author: Frederik Heber Date: Wed Aug 1 18:13:44 2012 +0200 Split MPQCData::energy_electron_repulsion into _coulomb and _exchange. - we may obtain it this way from mpqc. commit 8cae4c222d38d45129885e5a2edc6e31879577de Author: Frederik Heber Date: Tue Jul 31 16:30:24 2012 +0200 FragmentationAutomationAction now may sum up almost everything. - split MPQCDataMap_t into Energy, Force, and TimeMap as boost::fusion::map may only consist of up to 9 template types. - added boost::mpl::list enumerations of the map keys. - using boost::mpl::for_each to go through each map key that is used a specialization type to a printSum() function that calls OrthogonalSummation, sums up, and prints the result. - TODO: Missing Histogram cstor for vector, missing class for forces with the four required operators, times need just to be summed up, not orthogonalized. commit 56df379c672f095aa9b6ac364949cfa8c0ba57d5 Author: Frederik Heber Date: Sat Jul 28 11:06:15 2012 +0200 Added general-purpose Summator that is basis for OrthogonalSummation on an arbitrary struct of types. - Eventually, we need to sum up each variable in struct MPQCData. For this we need to place the initialisation and executing of OrthogonalSummation into a list and we need to enumerate the types in MPQCData in a unique fashion, i.e. to associate the name of the member variable and its type with a specific unique key. This is achieved via boost::fusion. - this is exemplarily used for energy.total. - later we add boost::fusion for_each to let the summation automatically go through each type by its own. - note that summing up a single IndexSet's must be specially treated as the single set corresponds to the full set also. commit b420a526130d8e1f74f5cc4ee61bbe826334df8b Author: Frederik Heber Date: Sat Nov 10 16:25:28 2012 +0100 FIX: testsuite-jobmarket-molecuilderrun did not kill server, worker on failure. - if molecuilder fails to compile, the testsuite will stop dead at this test. commit 05402511c3f95c6bfae95f164a91283dc92b2190 Author: Michael Ankele Date: Mon Sep 3 16:38:32 2012 +0200 Fix: (UnsignedIntQtQuery) overwrite QSpinBox default maximum of 99 commit 619a0ec09f12676ecd235da29b989c8d5b7ec369 Author: Frederik Heber Date: Mon Jul 30 15:03:35 2012 +0200 Added checks for boost::fusion and boost::mpl. - wrote simple header-only checks for boost.m4. commit 965e2fdeb4a01f3b569d70307746f102a48494ab Author: Frederik Heber Date: Fri Jul 27 17:51:36 2012 +0200 Added OrthogonalSummation of eigenvalues as Histogram to FragmentationAutomationAction. - this requires four operator implementations from the class to sum and we have noted down these requirements in OrthogonalSummation class info. commit e561ffd2a049fba5697db2ff97902964a1377b30 Author: Frederik Heber Date: Fri Jul 27 17:50:59 2012 +0200 Added assignment operator to Histogram class. - TODO: We need a unit test function on this, especially self-assignment check. commit 9fd8896b808bd00218bf6455d84d89e1bfeb780d Author: Frederik Heber Date: Fri Jul 27 17:50:21 2012 +0200 Added Histogram::addSamples() to add samples lateron. - TODO: We need to add a unit test function on this. commit 6bed1fe65ef0bdadc2c6372942a37e354d44bce8 Author: Frederik Heber Date: Fri Jul 27 17:49:06 2012 +0200 Changed Histogram's cstor to take offset and binwidth instead of CountBins. - CountBins was nonsense anyway, could have been taken from samples.size() as well. - with these two values, we may also add the samples lateron. commit cf18c56dc21a7e19c3ae8878df1eff00fe51bd99 Author: Frederik Heber Date: Fri Jul 27 17:47:04 2012 +0200 Added output operator<<() for Histogram. commit e11e233c07a12e1326fe0bf88e4139bf7a48d20e Author: Frederik Heber Date: Fri Jul 27 16:20:24 2012 +0200 Commented-out most of the debug messages in Histogram functions. commit e4048f07b3e15ce14739e8b7d10d15926761e91a Author: Frederik Heber Date: Fri Jul 27 16:11:48 2012 +0200 Added Histogram::extendMissingBins() to generalize superpositions. - extended unit tests on Histogram::operator..=() to also test superposition of both larger and smaller histograms. - unit test function superposeOtherHistogram_Test() now checks whether the correct amount of bins have been added instead of thrown AssertFailure. - removed asserts in superposeOtherHistogram(). commit 1dd4198ca162ca1bc63d2d9fdf9d5736eb3e7e70 Author: Frederik Heber Date: Fri Jul 27 15:35:38 2012 +0200 Added Histogram::getLowerEnd(). - this function helps where to add new bins in superpositions. commit 22c4f5731d6c6dc832d7e06a1815fe17d0e1ad46 Author: Frederik Heber Date: Fri Jul 27 14:37:16 2012 +0200 Added superposeOtherHistogram and implemented thereby operator+=() and operator-=(). - the logic so far is that the other histogram must not extend beyond the present one. commit 45f4f96ff7e9477af0058a9389d13649b876c2e8 Author: Frederik Heber Date: Fri Jul 27 14:35:40 2012 +0200 FIX: Bins are initialized as normalized from samples. - Bins are now initialized as normalized from samples. - the addition to the histogram by one sample always equals a surface area of one, i.e. we add 1 / binwidth. - only then may we sensibly add and subtract different histograms with different binwidths. - also added Histogram::area() function and unit test. commit bb68c067393663e69ab9660392a5d505c90d4e01 Author: Frederik Heber Date: Fri Jul 27 14:33:41 2012 +0200 FIX: Histogram::binwidth is now const member variable. - this is safer as binwidth must not change over the presence of the instance. commit e5dbd54d1f8172f45025cb5f61f1a63bb8f720eb Author: Frederik Heber Date: Fri Jul 27 15:08:28 2012 +0200 Add printBin() function to Histogram. commit 3f6bbb555bab877158bb09d8beddda31547a35aa Author: Frederik Heber Date: Tue Jul 31 15:09:06 2012 +0200 Added operator<<() to for single bin of type Histogram::Bin_t. commit 1c365e251287e70f63ed373deb7abb09abced5ce Author: Frederik Heber Date: Tue Jul 31 15:08:48 2012 +0200 Split getBin into getLowerEndBin() and getHigherEndBin(). - this functionality is required within the operator+=() and operator-=(). commit c4fd03029d3c59c8aa32a73a4e4e4afd60d9e7d4 Author: Frederik Heber Date: Thu Jul 26 20:08:38 2012 +0200 Added rudimentary Histogram class. - we still lack operator+=() and operator-=(). - this is supposed to take up the range of eigenvalues and allow to get a sampled represenation of the density of states via the OrthogonalSummation. - added unit test. commit a2215d21a6fe3ea3e23a6ba1d7e070e6f5a4ac62 Author: Frederik Heber Date: Thu Jul 26 15:22:21 2012 +0200 FIX: OrthogonalSummation must cover also the full set for which no value is obtained. - however, the full set is required as a super set of the IndexSetContainer. commit e9200616195d7017da20bb03e2b418d9a6f8cfde Author: Frederik Heber Date: Thu Jul 26 14:28:22 2012 +0200 libMolecuilderFagmentationSummation is now just a normal convenience library. - We might keep it as a shared as it is independent of others. However, as libtool is buggy with pulling in shared library dependencies, we would have to add them also to the executables LDADD. - also we removed the extra compilation SUBDIRS. - adapted all paths in Makefile.am and unittests/Makefile.am. commit 40698b19cf010762adad30fcf5d7bc64f80397e8 Author: Frederik Heber Date: Thu Jul 26 14:27:14 2012 +0200 FIX: Include paths for unit tests lacked "Fragmentation/Summation/"-prefix. commit 6ca578398c0a55a029ee81d176ca5bb849301f60 Author: Frederik Heber Date: Thu Jul 26 13:29:18 2012 +0200 Simple use of OrthogonalSummation in FragmentationAutomationAction. - so far, we just make use of the already parsed in keysets, translate it to IndexSets and sum up the energy.total found in MPQCData. - note that internal MPQCJob just creates empty MPQCData regardless of the actual job. - TESTFIX: regression tests tests/JobMarket/molecuilderrun does not check for the resulting energy and forces as we only get empty results. - libMolecuilderUI now requires libMolecuilderFragmentationSummation. commit 188639b405c8485adb0bbb575d15d94b769a1b99 Author: Frederik Heber Date: Tue Jul 24 21:10:48 2012 +0200 Added vector of eigenvalues to MPQCData. commit c5324f5fef866d52eb12447aaca117dcf2dba87d Author: Frederik Heber Date: Sun Jul 15 13:26:51 2012 +0200 Refactored FragmentationAutomationAction, pulling out bracketed function parts into distinct functions. commit 1e7dd43451cc813dbdf63921c91127e6add87249 Author: Frederik Heber Date: Wed Jul 4 16:12:07 2012 +0200 Added OrthogonalSummation and unit test. commit 0a387eb05bb064023a609198c7502635736f7fc8 Author: Frederik Heber Date: Thu Jul 5 15:45:04 2012 +0200 SetValueMap's internal Lookup now is const iterable. - added unit test function. commit c508fea16569df9af0aa7ba2b7489419e3bb3698 Author: Frederik Heber Date: Wed Jul 4 16:36:50 2012 +0200 Added SetValueMap that contains association from IndexSet to SetValue. commit 30abdc71b9be0d957e3a2cbc4ed79217640753bb Author: Frederik Heber Date: Wed Jul 4 17:31:42 2012 +0200 SetValue now has a contribution along with its value. - contribution is Cacheable and new function calcSum() which is called when contribution is accessed. - operator+=/-=() are now OBSERVEd, too. - adapted unit test to check whether contribution is working. - added two mocks for SubsetMap and SetValueMap. commit 7bed4e2d4e3289fec489381350b2bda1df73f24e Author: Frederik Heber Date: Wed Jul 4 16:08:48 2012 +0200 SetValue is now an Observable. commit d699deb0842e7f1db520bb6cbef3956df3ea6202 Author: Frederik Heber Date: Wed Jun 27 18:31:59 2012 +0200 Added templated SetValue with unit test. - set containment is checked in operators. commit 2df58073c4555585bcb4fd140b1cdabe8e1aae79 Author: Frederik Heber Date: Wed Jul 4 11:47:53 2012 +0200 Added SubsetMap which is a container to a lookup map from IndexSet to all contained sets. - also added unit test. - added shared_ptr typedef ptr. commit 063fab36c8b0361e5f0a8e75f076b674379ba00f Author: Frederik Heber Date: Tue Jul 3 18:32:53 2012 +0200 Added SortedVector and use in IndexSetContainer. - the SortedVector is meant if access is frequent and insert is seldom, i.e. basically the set is given to the cstor and little change is made afterwards. - SortedVector::Comparator is specific internal functor; this way the functor can be used outside in SubsetMap for its internal map with IndexSet_ptr as keys. - IndexSetContainer has member typedef ptr to shared_ptr. - added unit test. commit 146c26d1db374118e51291a5034fccfd78aaee7d Author: Frederik Heber Date: Mon Jun 25 17:32:57 2012 +0200 Added class IndexSet and unit test. - IndexSet contains the set of indices identifying the subspace. - has member typedef ptr to shared_ptr. commit 4bc75d97ed72e9069dfe436ea18f8e2fbc540afd Author: Frederik Heber Date: Fri Jul 13 12:45:14 2012 +0200 Renamed files MPQCCommandJob_MPQCData -> MPQCData. commit a9558f08725aef6a869b5db8e1f8f566b591db1b Author: Frederik Heber Date: Thu Jul 12 12:40:29 2012 +0200 Restructured MPQCData, added times, and nuclear repulsion energy. - constructors for MPQCData's energy_t and times_t, setting all to zero. commit 28e8944862c75fbea6c16bc66cb0ae88753f4e00 Author: Frederik Heber Date: Wed Jul 11 16:52:28 2012 +0200 FragmentationAutomationAction now creates MPQCJobs. - MPQCJobs are simply MPQCCommandJobs without the command, i.e. they do not inherit SystemCommandJob but derived directly from mpqc and receive the inputfile via JobMarket's FragmentJob and also transmit the results directly encapsulated in MPQCData in a FragmentResult. commit ed9da42cb5c88968f446c0eb8417821e6c6a5c71 Author: Frederik Heber Date: Fri Sep 7 12:22:35 2012 +0200 Replaced OrderArray and MaxArray arrays in Fragmentation::ParseOrderAtSiteFromFile(). - OrderArray is now a map, MaxArray uses AtomMask_t commit f7307f517e3e49d24af719c519057c7db7f5be4f Author: Frederik Heber Date: Fri Sep 7 12:16:11 2012 +0200 Using ListOfLocalAtoms_t now also as SonList. commit f968742be974e94db1c9b45ea28719c21790e2c1 Author: Frederik Heber Date: Fri Sep 7 11:14:32 2012 +0200 AtomMask is now a set, inherited into own class. - this is preparatory for multiple molecules fragmentation. Otherwise AtomMask would always have size of total system. - introduced template Mask class and added MoleculeMask for masking molecules. commit 6d551c63a46260c606910ef3f9b4e0bccf1a3cac Author: Frederik Heber Date: Fri Sep 7 10:47:35 2012 +0200 ListOfLocalAtoms is now a map, inherited into a distinct class. - this is preparatory for allowing arbitrary fragmentation of atoms not only of a single molecule. commit dbe3b9615dc60b343ad89e6cc61e91866b5f136d Author: Frederik Heber Date: Tue Oct 23 17:25:11 2012 +0200 Set version to 1.3.2. - Molecuilder library is now 10:2:0. - Codename "Amtsanmassung" (Paragraph 132 of the german Strafgesetzbuch is about assumption of authority) commit 7edb2c7f89aa38bee9b9e1ecab671803f2e9a575 Author: Frederik Heber Date: Tue Oct 23 17:14:19 2012 +0200 RandomNumbers and Shapes are now (installed) shared not convenience libraries. commit be6b3add8aee3b2ef543ddbdee0f35f83c01e16c Author: Frederik Heber Date: Fri Sep 21 15:19:14 2012 +0200 Selection(Not)AtomById now always return valid state object. - we must not mix Action::success with a true state object as then the cast goes wrong. - this fixes ticket #215. commit f7c7cf132d69c7077ffd2cc11e7348c672217c01 Author: Frederik Heber Date: Fri Sep 21 15:07:26 2012 +0200 Selection(Not)AtomById now works on multiple ids. - this closed ticket #189. commit 3a51bd61d13a71ec61cf8dd25196d15612bdfe3e Author: Frederik Heber Date: Wed Sep 26 14:42:27 2012 +0200 Added new StretchBondAction to stretch the bond within a molecule. - also added regression test with undo and redo on this. commit 15621cdd451f1ac4c9a1158436e23c54fc23fb4c Author: Frederik Heber Date: Wed Sep 26 14:40:41 2012 +0200 Added Plane::SignedDistance() function. - function used on Plane::onSameSide() and in Plane::distance(). - this function can be used for deciding on which side plane a Vector lies. commit 1795c9e402bb7db99033e9d30d61568860e22b32 Author: Frederik Heber Date: Fri Sep 21 16:22:16 2012 +0200 FIX: Fixed typo in ProgramHeader(). commit b8f64f300d1073f2b7751a8b022011371f69e655 Author: Frederik Heber Date: Tue Sep 18 20:17:35 2012 +0200 FIX: Fixed printing of AtomMask. commit a8fc703da70b9e75a3be6679fb8b560fd699b281 Author: Frederik Heber Date: Tue Sep 11 16:48:30 2012 +0200 FIX: Added disable to stereo-viewing options. - setting eye separation to zero is handbook way of disabling it and was already implemented. We added the Action to the pop-down menu. commit 6253ed4bcfa0dd23c33719d286276be9760ec373 Author: Frederik Heber Date: Tue Sep 11 10:48:06 2012 +0200 FIX: Added license disclaimer to every testfile .at of the testsuite as well. - so far, there was no disclaimer on the copyright of the code. commit 94d5ac60852caf3933c959f8314ca0be3d3a7c51 Author: Frederik Heber Date: Tue Sep 11 10:26:02 2012 +0200 FIX: As we use GSL internally, we are as of now required to use GPL v2 license. - GNU Scientific Library is used at every place in the code, especially the sub-package LinearAlgebra is based on it which in turn is used really everywhere in the remainder of MoleCuilder. Hence, we have to use the GPL license for the whole of MoleCuilder. In effect, GPL's COPYING was present all along and stated the terms of the GPL v2 license. - Hence, I added the default GPL v2 disclaimer to every source file and removed the note about a (actually missing) LICENSE file. - also, I added a help-redistribute action which again gives the disclaimer of the GPL v2. - also, I changed in the disclaimer that is printed at every program start in builder_init.cpp. - TEST: Added check on GPL statement present in every module to test CodeChecks project-disclaimer. commit eb0d77f90a866276e4c00426ad66892f4ab7583f Author: Frederik Heber Date: Fri Jul 13 10:57:55 2012 +0200 FIX: Shared library libMolecuilderJobs needs to be given explicitly where brought in dependently. - in my eyes, this is a libtool bug (see #1002565 on ubuntu's launchpad) as libtool should pull in shared libraries that are list as dependencies in given shared libraries (and also known to libtool according to the .la file). However, libtool.m4 has a switch find_all_dep_libs which is set to no for linux systems. Activating it causes the correct linking behavior but faults later because shared libraries are not found (i.e. some rpath problem). - Hence, libMolecuilderJobs.la is given as dependency everywhere where also libMolecuilderUI is listed (also for all unit tests). commit b1b413633e908b4e5b1fa1836c215523caad9217 Author: Frederik Heber Date: Sun Sep 23 14:36:16 2012 +0200 FIX: Removed AC_PROG_CC from configure.ac - we don't need C bindings. commit a98122699817c2e3349a1c766d31f056d089567e Author: Frederik Heber Date: Thu Sep 6 16:08:25 2012 +0200 FIX: AtomicLengthToAnstroem was not consistent with CODATA1986. commit 856d050c260e8ca4094eca45ccee6f8340751eae Author: Frederik Heber Date: Wed Sep 5 16:10:32 2012 +0200 MEMFIX: Added WorldTime and ObserverLog ::purgeInstance() calls. - added several memory fixes: - XmlParser has VectorContent in static instance - ObserverLog must always be purged in case of --enable-debug. - WorldTime was not purged. - mpqc does not had BOOST_CPPFLAGS although CodePatterns includes. - we now require CodePatterns 1.2.3 to fix two ill-reported static instances. - fixing ax_jobmarket to include boost dependency and we now require JobMarket 1.1.1. - added ObserverLog include to GLMoleculeObject_bond, _molecule, and GLWorldView. - TESTFIX: due to changes with new JobMarket, we need to give jobids in regression test mpqc-jobs. commit c3ecdebf811a656da8def9b1e9f18fa45d93252a Author: Frederik Heber Date: Wed Aug 29 15:06:39 2012 +0200 FIX: KeyValueValidator did not understand more than one keyvalue pair. - now we also check for separating semi-colon and check each found pair separately. commit 66dc3644d4a14b344d220eb4bfce21ddd5626b49 Author: Frederik Heber Date: Fri Aug 10 15:28:06 2012 +0200 FIX: Written fragments are not centered on edge and stored. - this would prevent the sampled electron densities from matching up. commit 52cac098cd034f39e8355616dd66465d1f16be00 Author: Frederik Heber Date: Thu Sep 6 16:11:24 2012 +0200 FIX: MpqcParser now writes atom coordinates with precision of 10. commit e9dc19b605415117678f62dff3e617c823d2068c Author: Frederik Heber Date: Mon Aug 6 19:20:15 2012 +0200 FIX: MpqcParser now does not center the written set of atoms anymore. - This allows placing the molecule within the grid of the simulation domain. - TESTFIX: adapted ParserMpqcUnitTest due to changed coordinates. - TESTFIX: regression tests Parser/Mpqc and Atoms/Add due to changed coordinates. commit 43f2278a1c4041a07215b76387c05449d12eb3e7 Author: Frederik Heber Date: Thu Aug 2 19:14:06 2012 +0200 FIX: removed src/Actions/test.sh and src/ReMapDBondFileFromXYZ.py. - this was used to incorporate paramvalids automatically in the Action's .def files. - the other is far even more ancient and out-dated. commit 158c3d92dc1c236289eeedbee6d4d027c96acc2c Author: Frederik Heber Date: Wed Aug 1 12:36:06 2012 +0200 FIX: Removed out-dated libmenu.a in src/Makefile.am. commit e6e4a08379fd0455f9fb873ca41da3ba311d7297 Author: Frederik Heber Date: Fri Jul 13 11:36:24 2012 +0200 FIX: TremoloParser did not treat key F properly in saveLine() and readAtomDataLine(). - did not write/load all three components. - TESTFIX: ParserTremoloUnitTest due to key F changes. - TESTFIX: regression tests Atoms/Add and Parser/Tremolo and Tremolo-Potentials neded their .data files adapted (F was so far stored with just one component and not three). commit 5d4179ffa47a551e7e4e3ad8cda9197d161d936d Author: Gregor Bollerhey Date: Wed Jul 4 15:18:15 2012 +0200 Fixed minimal radius, so r will never be 0. commit f4a8632ac2be7ef9ac27dae9e13d2e676b3c0569 Author: Gregor Bollerhey Date: Fri Jun 22 17:41:24 2012 +0200 Implemented getLineIntersections. Needs testing! commit 9e2737fa5ce1d7cc3d3106d30a8d08a71b9e4bd9 Author: Gregor Bollerhey Date: Fri Jun 22 16:46:24 2012 +0200 Implemented getHomogenousPointsInVolume. Incoming N is rounded to the next possible value to generate evenly spaced points in z- and r- direction. Since the ring-size changes for every r-segment, points in zXr-direction are NOT evenly spaced. Corrected getHomogenousPointsOnSurface and changed nomenclature for dnz, because it is misleading in this context. commit 6f0507e019406f2c89021c77fc22b149063fca25 Author: Gregor Bollerhey Date: Fri Jun 22 16:30:21 2012 +0200 Implemented getHomogenousPointsOnSurface. Incoming N is rounded to the next possible value to create evently spaced points. commit 0eb8f45f1e1939cbfd3df7516d7961efabb4b05a Author: Gregor Bollerhey Date: Mon Jun 18 16:43:14 2012 +0200 Cylinder implementation. Taken from somehow broken branch, so rebase was not possible, unfortunately. The cylinder shape is centered on (0 0 0) and its height (z-Axis) ranges from -1 to 1. Different scalings can be applied with the special constructor. commit 52575c82d0127ae0f5a1d9fa134d452d2069a4d3 Author: Michael Ankele Date: Fri Aug 31 18:16:24 2012 +0200 QtInfoBox: save current tab page when switching atoms commit 0b2be148c3293964646488c3d12d1375dd352635 Author: Michael Ankele Date: Fri Aug 31 18:02:31 2012 +0200 nicer QtInfoBox (bigger lists) commit 6cab5359fa1ebfa57a00816a14bff88825c7223d Author: Michael Ankele Date: Fri Aug 31 16:16:03 2012 +0200 Fix: don't execute SelectionMoleculeByIdAction during QtMoleculeList.refill() commit d6203ad15085d32365cde94f765e26f53ec177f0 Author: Michael Ankele Date: Wed Aug 29 16:02:16 2012 +0200 Refactoring: GLMoleculeObject_molecule.updateBoundingBox() added commit 12584104d42ac2cc27fdf050a70dd8c1a2141b7e Author: Michael Ankele Date: Mon Aug 27 15:12:27 2012 +0200 Made Sphere_impl::getHomogeneousPointsOnSurface() more accurate - TESTFIX: BaseShapesUnitTest now may check whether the desired number of points actually also resulted. - TESTFIX: Fixing regression test Spherical surface due to changed number of points. commit 7e6a1b770d14e19d98f2df7fda5d952e46da0441 Author: Michael Ankele Date: Fri Aug 17 16:23:10 2012 +0200 Fix: list queries called wrong update function commit 852ea33df94f60a47eea4e44cd3faa3d166f5ebe Author: Michael Ankele Date: Thu Aug 16 17:38:10 2012 +0200 further query merging (QtQuery added, handle() won't use param.set()) commit 1c55b87bd6df0fd793f6ec74d286a02d9a0de67c Author: Michael Ankele Date: Tue Aug 14 16:52:25 2012 +0200 combined Query super classes into template commit a55e6f407eec642fe6ff7723a0966f78c9483eaa Author: Michael Ankele Date: Fri Aug 10 15:26:28 2012 +0200 really remove ValueStorage commit 5ca6b5f0669fee6abb940c6b02f384ca2f8a16c7 Author: Michael Ankele Date: Fri Aug 10 15:15:34 2012 +0200 drop deprecated references to ValueStorage commit b2a7ccecbc8b860afe8c429fe125f88d088de1a3 Author: Michael Ankele Date: Fri Aug 10 14:46:03 2012 +0200 drop unused references to ValueStorage commit 1887bbc5b2069c9a1d8a81ac07736aa4322f5f0c Author: Michael Ankele Date: Fri Aug 10 14:34:13 2012 +0200 drop compatibility for old boost version (filesystem) commit d0f3ba56533333c78a8145f2227a4b9e0b1214e0 Author: Frederik Heber Date: Fri Aug 10 08:56:05 2012 +0200 Set version to 1.3.1. - Molecuilder library is now 10:1:0. - Codename "Ayers Rock" (Uluru in Northern Territory of Australia is at longitude of 131) commit 5e7ebea0b2ee9c0187847da054cf691a6bd4f387 Author: Frederik Heber Date: Fri Aug 10 17:55:37 2012 +0200 DISTCHECKFIX: AllActionHeaders.hpp must not appear as nobase_ and nodist_. - AllActionHeaders.hpp is created by Makefile.am and depends on config.h, hence only nodist_. - This is faulty since we use JobMarket for FragmentationAutomationAction. commit 59739ebad0016b4f71b25a7031eca38927b5dd34 Author: Frederik Heber Date: Fri Aug 10 08:39:21 2012 +0200 DISTCHECKFIX: QtQuery.hpp appeared twice in Makefile.am. - this would cause installing it doubly at the same place. commit 22d01e4959b19ad6db178586f85d6d19d29a7221 Author: Michael Ankele Date: Wed Aug 8 15:14:50 2012 +0200 Qt: ask whether to save on quit commit 5bcbc7a2d1bba7860aa82160dbbd451f2711cb3b Author: Michael Ankele Date: Wed Aug 8 14:12:35 2012 +0200 OutputAction added commit 59ec0470cac074f0f96e159fb8ccaa40cb25405e Author: Michael Ankele Date: Wed Aug 8 14:11:41 2012 +0200 FormatParserStorage::isAbleToSave() added commit 072f0e15a96284ee34557de1f64c61821fd49aeb Author: Michael Ankele Date: Tue Aug 7 17:16:28 2012 +0200 Refactoring: renamed OutputAction -> OutputAsAction commit 05a05e96293627c455f3d1c247d9b5901390fee7 Author: Michael Ankele Date: Tue Aug 7 16:40:46 2012 +0200 only saveAll() on exit when using CommandLineUI commit 462201496f98b28d548d57bcc4efdd6d942174b3 Author: Michael Ankele Date: Tue Aug 7 16:34:11 2012 +0200 UIFactory::getUIName() added commit 5125f6b01a8afdc77a111b33e9247b76ca91a831 Author: Michael Ankele Date: Tue Aug 7 15:17:10 2012 +0200 added handler QtMainWindow::closeEvent() commit fa437c43a969290eaa1699b87fa10b7a7f979ea1 Author: Michael Ankele Date: Tue Aug 7 15:09:39 2012 +0200 made ChangeTracker::hasChanged() public commit 22d99fe17d0e815c3d95d45fb214512ba69956a1 Author: Michael Ankele Date: Fri Aug 3 14:14:19 2012 +0200 Fix: ElementQtQuery: pre selected hydrogen was not really selected commit 72a4c1dda0b76cb7b68789163463b8e8a1582f81 Author: Michael Ankele Date: Fri Jul 27 16:29:50 2012 +0200 GL: using multiple levels of detail for the meshes commit b7b7529e093f7e052cf8a0bfdc71df38ce36f36d Author: Michael Ankele Date: Thu Jul 26 14:10:53 2012 +0200 don't undo/redo when there's nothing to undo/redo commit 65d7cac649012e931f932ad85e9286b008fec5f6 Author: Michael Ankele Date: Wed Jul 25 16:05:16 2012 +0200 Fix: World::registerAtom() did not notify observers commit cbe40bc78ef9b9568d59ada64c778140e27562e7 Author: Michael Ankele Date: Wed Jul 25 14:02:52 2012 +0200 FillSphericalSurfaceAction use VectorNotZeroValidator for axis commit 08e137890d5c20882d801a94cb62c4be5820ae33 Author: Michael Ankele Date: Tue Jul 24 17:10:51 2012 +0200 all xxxQtQueryPipe removed commit 1ae8203bd04bcd66a13ba3721df275deccdd729b Author: Michael Ankele Date: Tue Jul 24 16:50:05 2012 +0200 QtQueryList applied to MoleculesQtQuery commit 2f4e81b6a8d1f91cd35eed3b964ceea32494cf93 Author: Michael Ankele Date: Tue Jul 24 16:46:07 2012 +0200 QtQueryList applied to AtomsQtQuery commit 7e8e79465ba50a4dc28069a4a0bea94cd8308702 Author: Michael Ankele Date: Tue Jul 24 16:42:01 2012 +0200 QtQueryList applied to DoublesQtQuery commit 26ac2d88f08c03184d258443d1ada622c4124e4d Author: Michael Ankele Date: Tue Jul 24 16:37:47 2012 +0200 QtQueryList applied to IntsQtQuery commit 32440327d877417b93614a8af32e17fedf6abfde Author: Michael Ankele Date: Tue Jul 24 16:15:55 2012 +0200 QtQueryList applied to FilesQtQuery commit 5727016afa28309442458be03eb48bd768aea788 Author: Michael Ankele Date: Tue Jul 24 16:08:40 2012 +0200 QtQueryList applied to ElementsQtQuery commit f84992c16bf92e5a1b141f5fccae1516c7ab340c Author: Michael Ankele Date: Tue Jul 24 16:02:58 2012 +0200 QtQueryList applied to VectorsQtQuery commit a2aa2f03c84652ba4f2658e682e9e382d1a1b174 Author: Michael Ankele Date: Tue Jul 24 15:50:04 2012 +0200 QtQueryList applied to UnsignedIntQtQuery commit 7b8a8ede0fd727c6c8763a959f82bfa5784d5cda Author: Michael Ankele Date: Tue Jul 24 15:28:39 2012 +0200 QtQueryList added (only used in StringsQtQuery yet) commit 7dfd07ff7c14ac5ea7a5146c49720f246584a67b Author: Michael Ankele Date: Fri Jul 20 11:25:14 2012 +0200 Refactoring: removed QtPipe usage (list queries unusable at this point!) - also made QtDialog* into Dialog* in QtQueries commit 7c99210d342dfb64d6b9787241278d8bfdd2ba58 Author: Michael Ankele Date: Thu Jul 19 17:14:14 2012 +0200 Refactoring: smarter QtQueries won't need pipes - derived all xxxQtQuery classes from QWidget (multiple inheritance officially allowed in this particular case) - xxxQtQuery uses its own slots TODO: ListQueries not rewritten yet! commit 3c53fab132a654bdaeb1f52475a15042e83357cc Author: Michael Ankele Date: Thu Jul 12 17:59:13 2012 +0200 Refactoring: renamed QtMoleculeView -> QtInfoBox commit 0eb7bf3ed92029119a1774bacc1193fcf40eb3a2 Author: Michael Ankele Date: Thu Jul 12 17:37:12 2012 +0200 Refactoring: renamed QtWorldView -> QtMoleculeList commit f31b344229c97061506fe26561d3e45bcbf7e0f4 Author: Michael Ankele Date: Thu Jul 12 17:28:03 2012 +0200 rearranged toolbar buttons + more sensible icons commit 8e7dd9d2ba504a61b416ad5b4160fbfac6c228f8 Author: Michael Ankele Date: Thu Jul 12 16:41:48 2012 +0200 GLWorldView: added stereo modes commit 8d5fde3eb8f5529e67276391a39f6d30d150eee8 Author: Michael Ankele Date: Tue Jul 10 17:43:38 2012 +0200 exception handling in QtMenuPipe::called() added commit 70c33d56a595a0739519ded17c64e2b083f857c1 Author: Michael Ankele Date: Tue Jul 10 16:15:00 2012 +0200 VectorNotZeroValidator: use existing IsZero() test commit 5b6a4b7525d60fc4bc69875c8701b34f8ed3ae62 Author: Michael Ankele Date: Tue Jul 10 16:12:31 2012 +0200 molecule: RotateToPrincipalAxisSystem only needs a const Vector for axis commit 7a1e7d379e64aaa85289af2424e86bb454904aaa Author: Michael Ankele Date: Tue Jul 10 16:04:18 2012 +0200 VectorNotZeroValidator added (for actions using rotation axis) commit b3a54d297c531a6a0c32ca19afe7061e11492b31 Author: Michael Ankele Date: Mon Jul 9 17:04:57 2012 +0200 QtQuery: use Query::temp instead of param.get() commit 9d5531fbb47ef59c8eae4c778a79805d99f454f2 Author: Michael Ankele Date: Wed Jul 4 15:49:18 2012 +0200 VectorQuery: removed obsolete _check parameter commit 30cd0d25b732f9eb7c703472deb5ff64d4f30d3c Author: Michael Ankele Date: Tue Jul 3 15:34:51 2012 +0200 GLWorldScene handles IndexChanged message from atoms commit 4f7f0bff79a3fbdade6309a3b8cf90e4a7556ba9 Author: Michael Ankele Date: Tue Jul 3 15:34:13 2012 +0200 Fix: atom now sends IndexChanged notification commit 49c965977db74e1c81e9b3d742130dd103646d77 Author: Michael Ankele Date: Fri Jun 29 17:28:17 2012 +0200 Fix: GLMoleculeObject_bond must not signOff after subjectKilled commit c736fe19837d559d7ec40b8cb58fcbac0cb3e68a Author: Michael Ankele Date: Fri Jun 29 17:27:43 2012 +0200 Fix: GLMoleculeObject_atom must not signOff after subjectKilled commit be374addea820519d3c137811e4dd6eeeff0c489 Author: Michael Ankele Date: Fri Jun 29 17:25:34 2012 +0200 Fix: QtMoleculeView must not signOff after subjectKilled commit 7772aa38625bdfda71c1c587bf5e826885493651 Author: Michael Ankele Date: Thu Jun 28 15:19:57 2012 +0200 Fix: (QtMoleculeView) don't show molecule info for atoms without a molecule commit 4a2f3ed211b4ee1eff64ea5f4a0e9bfc2ef7d352 Author: Michael Ankele Date: Tue Jun 19 15:46:00 2012 +0200 QtMoleculeView using a timer to delay the display after hovering commit 4f7473143b0331eca779d35fa339619f6cf9d8da Author: Michael Ankele Date: Mon Jun 18 17:01:14 2012 +0200 QtMoleculeView: show some data commit 7b6bcfed168caa6002b849fdf3aae450af884029 Author: Michael Ankele Date: Mon Jun 18 15:35:31 2012 +0200 QtMoleculeView: pages for hovering atom and molecule (no information yet) commit 407638e48fac07c5800aec4019fa6c579cee8420 Author: Michael Ankele Date: Mon Jun 18 15:33:33 2012 +0200 GL: Qt signals rewired - GLWorldView now tells us, over which atom the mouse is hovering commit 859a008e875bf15678d5274d66188c486bdf83f6 Author: Michael Ankele Date: Fri Jun 15 17:43:29 2012 +0200 added selection modes to toolbar commit 6966b7cf37614cc876825e55ffe4c48ffdd33c3d Author: Michael Ankele Date: Fri Jun 15 17:42:22 2012 +0200 GLWorldScene: added selection mode (atom/molecule) - this controls whether atoms or molecules will get selected by clicking on an atom commit 41815a3756a0f2055c9cb51862e52d3fd6674034 Author: Michael Ankele Date: Thu Jun 14 17:40:01 2012 +0200 QtWorldView: removed usage of MoleculeListClass commit 99e8ea1022051236b615f4a635d18f9ab621baa5 Author: Michael Ankele Date: Wed Jun 13 16:47:58 2012 +0200 Fix: QtWorldView suffered segfault when changing the bond graph - QTreeWidget.clear() in some cases (?) sends an itemSelectionChanged signal on which QtWorldView iterates over potentially non-existent molecules - this is solved by setting a flag before clear()ing commit 2aafe887a08757e3de2db25e0a53a99fa70681ec Author: Michael Ankele Date: Tue Jun 5 14:38:27 2012 +0200 Fix: StringsQtQuery works - created StringsQtQueryPipe as its own class so moc can operate without template'ized classes commit c7e00098eb3914905e6b2e108df27d9fe997aa93 Author: Michael Ankele Date: Tue Jun 5 12:14:59 2012 +0200 GL: saving color settings (domainBox, dreinBein) commit b821011a76f662862e258a9f5800fbd44c952960 Author: Michael Ankele Date: Mon Jun 4 16:21:57 2012 +0200 saving window geometry via QSettings commit 073a2ff9471076d92a33746ad54ff0aa9734c2eb Author: Michael Ankele Date: Mon Jun 4 14:46:33 2012 +0200 GL: enable lighting also for empty world commit 0a6ff933ec8470fc1471de5c95459c32a9bb46c6 Author: Michael Ankele Date: Tue May 15 13:55:48 2012 +0200 GL: culling enabled - only draws the atoms which are in the camera "frustrum" commit 02b2d340ed7827b56c7e0a1fbc6d01288f33edfd Author: Michael Ankele Date: Tue May 8 15:11:41 2012 +0200 GL: prettier domain box commit 26ed254cf6abded5df42cac864100dc9e983e0a8 Author: Michael Ankele Date: Tue May 8 13:54:37 2012 +0200 GL: dreibein as a real mesh commit bca99d279799516b9d6a51e3b2246c6e4bf9de7e Author: Michael Ankele Date: Mon May 7 13:31:19 2012 +0200 GL: shared meshes commit 585f7821e0083fc68aef094fe9a0497a7f99525e Author: Michael Ankele Date: Mon May 7 11:33:55 2012 +0200 GL: redraw only once during loading - uses a QTimer with interval 0, so the redraw gets handled as soon as the program idles commit e8c6367e0bd5ab83baeb0e807b9f373d951c8565 Author: Michael Ankele Date: Fri May 4 16:24:06 2012 +0200 REFACTORING: moved drawDomainBox()/drawDreiBein() from GLWorldScene to GLWorldView commit d1196d767fdb8e404486f7fd4a094d0b5467c06c Author: Michael Ankele Date: Thu May 3 13:22:43 2012 +0200 GL: added a 3-bein to the origin of rotation commit 45ea59f954dcb14af4649cea99031f65ff93a335 Author: Michael Ankele Date: Thu May 3 12:59:20 2012 +0200 GL: added drawDomainBox() commit 8880c9d1561f505dfd5bf39570302d762bbd9c60 Author: Michael Ankele Date: Thu May 3 12:46:33 2012 +0200 GLWorldView: implemented own camera - rotation/translation mode is controlled via toolbar actions - shift key temporarily toggles mode commit 3f48c29a769773dd0523747beefa22b12f026693 Author: Michael Ankele Date: Thu May 3 12:33:10 2012 +0200 implemented GLWorldView::fitCameraToDomain() commit 0e5d149b9832f322f7c9ee3752ae950482fd6e0b Author: Michael Ankele Date: Thu May 3 12:29:08 2012 +0200 added toolbar actions for camera modes commit e13b3431f3a1efd960bcfb9a151e9d93e73ea8e7 Author: Michael Ankele Date: Thu May 3 12:09:36 2012 +0200 GLWorldView: add (dummy) cameraControlMode commit 7641d4e1b3ea4b5b8ead0b28ccfc5977f0589e4e Author: Michael Ankele Date: Thu May 3 11:47:12 2012 +0200 added a toolbar commit 511645e9b697691c5ed31f3c31d97987d4216953 Author: Frederik Heber Date: Wed Jul 11 15:02:27 2012 +0200 Set version to 1.3.0. - Molecuilder library is now 10:0:0. - Codename "Banana oil" (Common name for Isoamyl acetate which has a molar mass of 130g/mol). commit b5c39c6721de3e95ff56bba6f7ca18d80b7f86c1 Author: Frederik Heber Date: Thu Jul 12 12:33:19 2012 +0200 DISTFIX: removed JobMarket/ prefix in install path for headers of MolecuilderJobs. commit 8a4b88626f69e80cb6fd4391cb051f4a17d8a519 Author: Frederik Heber Date: Wed Jul 11 16:32:13 2012 +0200 DISTFIX: Bracketed libMolecuilderJobs in CONDJOBMARKET for libMolecuilderUI. commit bd81f9550d144dc810bf910fa44f3c8249361651 Merge: 0174b62 5ffa055 Author: Frederik Heber Date: Wed Jul 11 12:53:51 2012 +0200 Merge branch 'Candidate_v1.3.0' into stable Conflicts: src/Actions/unittests/stubs/DummyUI.hpp src/UIElements/CommandLineUI/CommandLineDialog.cpp src/UIElements/CommandLineUI/CommandLineDialog.hpp src/UIElements/Dialog.cpp src/UIElements/Dialog.hpp src/UIElements/Makefile.am src/UIElements/Qt4/QtDialog.cpp src/UIElements/Qt4/QtDialog.hpp src/UIElements/TextUI/TextDialog.cpp src/UIElements/TextUI/TextDialog.hpp - File_s_Query was not yet adapted to the new Parameter and Validator structure introduced in v1.2.5. - new Action FragmentationAutomationAction lacked paramvalids. - adapted FilesQuery for all UIs, especially FilesTextQuery. commit 5ffa055f55bf0295a673454bf1b27424d423489e Author: Frederik Heber Date: Tue Jul 10 18:45:11 2012 +0200 DISTFIX: Now all package.m4 are created in build directory and shipped from there. commit 004d5c87ea6293a9829cd1f88041c885baa3bb18 Author: Frederik Heber Date: Mon Jul 9 17:04:43 2012 +0200 Removed JobMarket as it is now in its own repository. - added ax_jobmarket.m4. - added check to configure.ac - Removed libraries libJobMarket... in Makefile.am's, replaced by JobMarket_..._LIBS. - changed some includes that now required JobMarket/ prefix. Larger change to get JobMarket including its tests out of MoleCuilder: - configure has new enable-switch for JobMarket. Only then, we tests for its presence and usability (and also for boost::asio). - I do not know how to check for AM_CONDITIONAL or config.h values properly in a shell. Hence, I moved all regression tests dealing with the JobMarket into their own folder tests/JobMarket with depends on CONDJOBMARKET whether its included or not, similar to tests/Python. - TESTFIX: regression tests moved to tests/JobMarket have their paths changed. - FragmentationAutomationAction is now conditionally compiled in as well. - some Makefile.am's changed because we now have JobMarket_CFLAGS and _LIBS similar CodePatterns. - We use boost::preprocessor to add it dependently on HAVE_JOBMARKET to src/Actions/GlobalListOfActions. - TESTFIX: The former required a small change to CodeChecks test testsuite-globallistofactions_hpp as we can check no longer for the action name within brackets there. - FIX: I removed some unnecessary includes (defs.hpp) from MPQCCommandJob...hpp into the .cpp files. commit c1d78c0d454abca5d830cfc9a9da939bb2452382 Author: Frederik Heber Date: Tue Jul 10 14:59:42 2012 +0200 FIX: Tesselation_BoundaryTriangleUnitTest did not properly removed temporary TesselPoints. - although we did remove them correctly in teardown(), in intermediate removals in functions we did so only via "delete triangle". This kept the TesselPoints especially in the static Observable map which causes memory corruption on program exit. commit edecbab733e2e5f7d3ca8b8784d033c00dca3c0d Author: Frederik Heber Date: Fri May 18 15:09:36 2012 +0200 Added Action to use the JobMarket for FragmentationAutomation. - added regression test Fragmentation/Automation molecuilderrun. - note that FragmentationAutomationAction waits 0.5 seconds in between checking on done jobs. commit 103eb8b758b1d67aaeaf2e52f87bfbba00a58174 Author: Frederik Heber Date: Wed May 30 15:00:50 2012 +0200 Removed SystemCommandJob capabilities from src/controller while maintaining MPQCCommandJob. - SystemCommandJob is now maintained by JobMarket's controller. commit c8446c9dfb15b3dbd1b31f8f0a8400639f778b16 Author: Frederik Heber Date: Thu May 31 09:59:07 2012 +0200 Moved basic Fragmentation/Automation regression tests over to JobMarket. - removed scripts that were moved over to JobMarket in tests/regression. commit 7da5cd8f40af510421808552471affe096db4402 Author: Frederik Heber Date: Mon Jun 4 11:19:42 2012 +0200 Moved all Controller.., ..Options, and .._main() files over to JobMarket. commit a10cc029b85f24d56d1c8a1dd7fe5048f9d8f9df Author: Frederik Heber Date: Fri May 18 16:37:17 2012 +0200 Moved all Fragmentation/Automation into new subpackage JobMarket. - adapted most files (which have been copied from sub-package LinearAlgebra). - adapted all Makefile.ams to splitting. - unit tests are ok. - there is one very strange issue: Whereas for LinearAlgebra in its header files a prefix of "LinearAlgebra/" is _not_ required (and even has been removed when LinearAlgebra was placed in its own folder), the same does not hold for "JobMarket/". Here, we have to use both includes, one with the prefix and one without. - NOTE: We force libJobMarket to be linked with c++ linker via dummy.cxx file. - Removed all reference to FRAGMENT... in JobMarket's Makefile.am. commit 7546b0b65f515aa9912563671305e96bb443e945 Author: Frederik Heber Date: Mon Jun 4 09:41:05 2012 +0200 Split off main() in controller, poolworker and server into ..._main() to allow placement in library. commit fd4d5e9f6169e6fb4f1b3ebf883388e3bcf11569 Author: Frederik Heber Date: Mon Jun 4 11:59:33 2012 +0200 Added convenience libraries for Controller, Server, Pool, and PoolWorker. - added shared library libFragmentationAutomation.la. - Controller, Server, and PoolWorker now also depend on libCodePatterns and libboost_programoptions. commit 014bc488792ee58f26e7bf769da070ed1c146bfc Author: Frederik Heber Date: Sat Jun 2 12:51:09 2012 +0200 Introduced interface controller_AddOn.hpp that encapsulates controller extending functions in struct controller_AddOn. - allocating function for derived structure controller_AddOn is contained in extra module to allow indepent linking, i.e. combine controller.cpp, controller_AddOn_SystemCommandJob.cpp and controller_SystemCommandJon.cpp or with controller_AddOn_MPQCCommandJob.cpp and controller_MPQCCommandJon.cpp. commit cbcbbd63e97a2e60704da03bab709f5377d591aa Author: Frederik Heber Date: Fri Jun 1 21:53:13 2012 +0200 Split off SystemCommandJob-specific stuff in controller into module controller_SystemCommandJob and controller_MPQCCommandJob - this is preparatory for introducing a generic interface. commit ee61ce4beaab0d3c2f7cf501fc17d4a09765d3b7 Author: Frederik Heber Date: Fri Jun 1 20:30:13 2012 +0200 Extracted ControllerCommand and ControllerCommandRegistry from controller and placed into own modules. - ControllerCommand encapsulates a controller command name and its deque of bound functions. - ..Registry stores these instances. commit 865a21813c77962eaecd6f2a35712d565b481ffe Author: Frederik Heber Date: Fri Jun 1 19:54:41 2012 +0200 Merged createjobs() and creatingJob() into createJob() in controller.cpp. commit ad39c2eca1ee630db703cf9b682fee50b18debc2 Author: Frederik Heber Date: Fri Jun 1 19:46:15 2012 +0200 Server now uses SignalHandler as well (as poolworker does). commit 2a20bd4a82910d923c263ca2b18663dcd4c6a7c9 Author: Frederik Heber Date: Fri Jun 1 19:42:59 2012 +0200 Placed all Option parsing in Server into ServerOptions on own module. commit 4ccc8d2a0e08e449e21a29c7af634aef94536be6 Author: Frederik Heber Date: Fri Jun 1 19:35:01 2012 +0200 Placed signalhandling into own class SignalHandler from PoolWorker. - signal() requires pointer to global function as handler, not some bound member function. commit 6c52d21071940cf6fad648f37d1ea0b21900a409 Author: Frederik Heber Date: Fri Jun 1 18:45:42 2012 +0200 Refactored option parsing in poolworker into WorkerOptions and SignalOptions in own modules. commit 5fa1f0d91ec5fcecb8e7f01bba8935242d296f10 Author: Frederik Heber Date: Fri Jun 1 18:45:25 2012 +0200 Outsourced DefaultOptions, ControllerOptions, ControllerOptions_SystemCommandJob, and ControllerOptions_MPQCCommandJob, into own modules. commit 0aaf84342d2a408836cb6f595bc543d391f96af5 Author: Frederik Heber Date: Fri Jun 1 18:23:05 2012 +0200 Added DefaultOptions, containing help and verbosity from ControllerOptions. - same options are required for Server and PoolWorker. commit 685e283ee3f9d16a668510a75aef7352cc2aa59d Author: Frederik Heber Date: Thu May 31 11:08:05 2012 +0200 Removed the lot of switch statements in controller's main(), replaced by deque's of bound functions. - This will eventually allow the use to simply add another command by furnishing it with its own queue of bound functions. commit 9dcce34bb40a82c811dead7c3f0fad21f1fffb01 Author: Frederik Heber Date: Thu May 31 10:33:43 2012 +0200 Refactored parsing of command line parameters into structure ControllerOptions. - this structure can be derived from to add other parsing functions and options. commit 311137ba72b2a6d1e9387251b02ad24abd7810de Author: Frederik Heber Date: Mon May 21 12:42:12 2012 +0200 Changed FragmentController::printDoneJob() -> ::getJobStatus() which returns pair of numbers. - this is to make FragmentController just an intermediate and remove the ouput operations from it. commit cc5db582dad56745fce8f970d96f7197f1842609 Author: Frederik Heber Date: Wed Jun 6 17:40:14 2012 +0200 Moved all MPQCCommand... to src/Jobs, controller,server,poolworker to src/. - this is preparatory for moving stuff in Fragmentation/Automation into own subpackage JobMarket. - first, we need to split off dependencies of Fragmentation/Automation on modules in src/Fragmentation (which is MPQC-related stuff). - added src/Fragmentation/Automation to INCLUDES for the moment. - TESTFIX: changed all executable paths in regression tests Fragmentation/ Automation. commit c586d8167c446dff7b1ea58c21d9589f1abb8b54 Author: Frederik Heber Date: Wed Jun 6 17:31:40 2012 +0200 Removed file Worker.cpp. commit 2c5765fc2598fb70685cc0ead59e118f3df88b1c Author: Frederik Heber Date: Mon May 21 11:56:07 2012 +0200 Added Query for File_s_, i.e. vector of boost::filesystem::path. commit 30438f89e3a449dd812a1126279d816e4403195f Author: Frederik Heber Date: Mon Jun 18 14:57:26 2012 +0200 OperationQueue can be blocked to prevent further operations to be pushed. - this is used in poolworker after shutdown. E.g. when working on a job and we receive shutdown, then sendresultop might be pushed after remove op which prevents shutdown as io_service is not done. - added unit test function to OperationQueueUnitTest. commit 7f19f8d965b9500bdd7eb697fe07e841aae90249 Author: Frederik Heber Date: Tue Jun 5 17:13:49 2012 +0200 Added helpful error message in ControllerListener_t::handle_ReceiveJobs(). commit 469f53b02a87fe6229bfe93496f0e546f5c6bde3 Author: Frederik Heber Date: Sun May 13 21:03:53 2012 +0200 Regression test FragmentationAutomation enroll-in-pool now also adds a job. - this is have it both ways: First the job, then the worker as in adding-job. And also, first the worker, then the job as now in enroll-in-pool. - this is to make sure that the observer mechanism is working on both ways correctly. commit 2ab0b03d874d2e7e06e6d68656d9dff831805e23 Author: Frederik Heber Date: Sun May 13 20:56:51 2012 +0200 DOCU: Added extensive documentation on the client/server/controller concept of the Fragmentation Automation framework. commit 9d7c6a15e3a0cde241838d05c776bc8f4bee3d16 Author: Frederik Heber Date: Sun May 13 19:53:34 2012 +0200 PoolWorker now has an OperationQueue and ServerAddress. - OperationQueue works the same way as for FragmentScheduler. Operations are simply handed over to it with callback function in place from cstor. - ServerAddress stores server's address to hand to OperationQueue on pushing the operation. commit b08c7ca9d5d6fe815e57e7f4ed568ab03f791cc6 Author: Frederik Heber Date: Sun May 13 19:53:05 2012 +0200 Renamed PoolWorker::address -> ::MyAddress to differentiate from ServerAddress to come. commit 122de0e5e729498fdba798da4a3f7a7806557733 Author: Frederik Heber Date: Mon May 14 15:57:39 2012 +0200 PoolWorker now shuts down when enrollment is not successful. - new bound function initiateme contains call to initiateSocket() and is called when EnrollInPoolOperation succeeds. commit bff93d44ade4571ea324e40c71e6fa2cce82cf93 Author: Frederik Heber Date: Fri May 11 22:00:28 2012 +0200 RemoveFromPoolOperation is now async. - changed PoolWorker such that we close down socket and listener via success callback handler of the operartion. - FragmentScheduler now sends true/false as status of removal. commit d57585e6a2a4bac3922a30b0d4538287bd9d1987 Author: Frederik Heber Date: Fri May 11 21:42:43 2012 +0200 Added ExitflagContainer that FragmentController and PoolWorker use. - all Operations have been stripped of their internal Exitflag. - PoolWorker and FragmentController uses callback mechanism to let the AsyncOperation set their Exitflag in case of failure. commit 9db22d3dcf243224ac36894c1c0683c009857077 Author: Frederik Heber Date: Fri May 11 20:23:22 2012 +0200 AsyncOperation and all derived classes changed their cstor and operator() signature for success/failure callback handlers. - This allows starting certain functions depending on whether an asynchronous operation succeeded or not. - FragmentController and PoolWorker are adapted to new AsyncOperation's cstor and operator() signatures. commit 17017ba23edbf313cf0a6d860e5d06ea726b2b6a Author: Frederik Heber Date: Fri May 11 21:39:08 2012 +0200 FragmentScheduler sends true or false instead of specific enumeration as acknowledge of enrollment. - adapted EnrollInPoolOperation accordingly. commit e48f5c03dc6e0e86bea7cf8f7ad67548413965ed Author: Frederik Heber Date: Thu May 24 00:00:32 2012 +0200 Hostname argument to poolworker is now optional. - we use gethostname() to obtain the hostname if no argument given. commit af9b9fff30a59d026e6a6f323b457bfda82ed6df Author: Frederik Heber Date: Thu May 3 14:46:59 2012 +0200 Controller now also uses boost::program_options to parse command line options. - also we now cleanly check whether each command has its required arguments before making any connections to the server. Hence, nothing can be lost. - TESTFIX: Changed regression tests due to changed controller calling signature. - TESTFIX: regression test Fragmenation/Automation mpqc-jobs uses removeall instead of giving kill. commit 267b8daa521f5d13c38827367820abbe54d9da41 Author: Frederik Heber Date: Thu May 3 13:14:23 2012 +0200 Server now also intercepts sigint and shuts down gracefully. - new FragmentScheduler::shutdown() function is bound and given as signal handler. - on signal we first remove all workers and only shutdown and close sockets when there are no workers. - note that we do not release the signalhandler after first received signal but after a given number as two ctrl-c are required to shut down server having poolworkers. commit d9373b981317876af100f1e1720cf65c82487219 Author: Frederik Heber Date: Wed Apr 25 14:22:22 2012 +0200 Server now gives information about number of total and idling workers when new one is added. - WorkerPool has new convenience functions for the size of each internal queue. commit 684bc115d868b72f2c94303c9ebeab68f5c4b75e Author: Frederik Heber Date: Wed May 23 14:33:01 2012 +0200 Server now also parses worker and controller port via boost::program_options. - TESTFIX: Same again, adapted server calls due to changed command option signature in regression tests Fragmentation/Automation. commit 012c98ba863e08e6690bf8a87b6c2f401acaba73 Author: Frederik Heber Date: Wed May 23 14:32:36 2012 +0200 We now set option reuse_address to be more gentle only used ports. commit 5ac92ec01c987087e2a3329a233da101edaa2998 Author: Frederik Heber Date: Wed Apr 25 12:27:55 2012 +0200 PoolWorker now parses command line options via boost::program_options. - all of poolworkers command line arguments are now parsed via boost::program_options. - As a sideeffect multiple signals may now be specified to catch on the command line. - TESTFIX: Usage of poolworker has changed, hence adapted regression tests. commit dc759cf0dae2560ef8d66043ed7c98f2c23561aa Author: Frederik Heber Date: Wed Apr 25 12:04:21 2012 +0200 FIX: All checks on command line arguments are now done in phase one, exit on fail. - otherwise we lost e.g. results when receivempqc had received them but noticed afterwards that the required path is missing. commit 92b1d39c3763b13224e498d28e23523734f99945 Author: Frederik Heber Date: Tue Apr 24 18:53:31 2012 +0200 OperationQueue now has a max_connections and allows only this number of running operations. - OperationQueue::launchNextOp() is called by update() and push_back(). - new AddressMap takes endpoint addresses and is used to know which operations still have to be executed. commit 81c96b65f11d727ebf6d8807281c83144e27d2c1 Author: Frederik Heber Date: Tue Apr 24 18:26:01 2012 +0200 FIX: Listener (and PoolWorker) now check whether address to listen on is in use. - we use acceptor construction as given in boost::asio::basic_socket_acceptor to listen on the desired port. Bind gives error code when error occurs. commit 270364d30b85b57d70fb871eb67806735064e784 Author: Frederik Heber Date: Thu May 3 16:20:25 2012 +0200 Rewrote FragmentScheduler::removeAllWorker() to only give shutdown signal to all idle workers. commit 668b554b80cc9918a3e3163e572e7c8a4c22b121 Author: Frederik Heber Date: Thu May 3 16:20:05 2012 +0200 FragmentScheduler::shutdown() now returns bool and does not remove workers anymore. commit b15c4f94be3c79c09159bcc3186d3b4d4f735d7c Author: Frederik Heber Date: Thu May 3 16:18:24 2012 +0200 Added new RemoveAllWorkerOperation and removeall command to FragmentController. - FragmentScheduler::ControllerListener_t has second bound function to removeAllWorker() from FragmentScheduler instance. - this is preparatory to split shutdown into first removeal and then closing of sockets. commit befcf8c878bf1f2e44464cc013b9380efa377e48 Author: Frederik Heber Date: Thu May 3 15:30:09 2012 +0200 Rewrote FragmentScheduler::shutdown to make sure idle_queue is truely const. - WorkerPool has new function to return idle_queue addresses as Vector. - We first get all addresses, then shutdown each and also we iterate over this as long as OperationQueue has Ops and idle_queue has idlers. commit ba995dcf6e21a9d90d6b3f43c134c6556ee111de Author: Frederik Heber Date: Tue Apr 24 17:34:20 2012 +0200 ShutdownWorkerOperation is now an asynchronous operation. - FragmentScheduler places shutdown op into queue as well and waits for empty queue in removeAllWorkers(). - OperationQueue has convenience function empty(). commit a40c85e2a7ef886ef6dc01bfdf7300e9f5816bc5 Author: Frederik Heber Date: Tue Apr 24 16:58:50 2012 +0200 FragmentScheduler is relieved of observering Operations, is done by OperationQueue. - i.e. OperationQueue is now an Observer and uses push_back() and remove() to sign on and off from the given operations. - added unit test function to check this behavior. commit 9a6b895a55d61fe22e8701297c9f6a31aefa1816 Author: Frederik Heber Date: Tue Apr 24 16:56:21 2012 +0200 FIX: FragmentScheduler now has an OperationQueue that monitors its async.ops. - this fixes the issues with multiple jobs being handed out. commit f45c08b2b3e2af3a790d950101ca23b93baa49cc Author: Frederik Heber Date: Tue Apr 24 16:36:36 2012 +0200 Implemented OperationQueue that takes care of AsyncOperations. - this is preparatory to fixing FragmentScheduler: When more than one job is placed in the JobQueue at the same time and multiple workers are idling, then also multiple SendJobToWorkerOperations are required. So far there is only a single instance, hence it is overwritten and only the last worker gets its correct job. - also added unit test on functionality of OperationQueue. commit 2e661a0041b96400c1fd8b0f780a60bb0980bd5e Author: Frederik Heber Date: Tue Apr 24 16:35:21 2012 +0200 AsyncOperation is now an Observable. - it gives update() when the operation has been completed. - this is preparatory to placing AsyncOperation inside a queue that automatically takes care of their removal. commit 86a1e83160d08067c1519bccea028fd23f281173 Author: Frederik Heber Date: Tue Apr 24 16:34:35 2012 +0200 SendJobToWorkerOperation can be given job in its cstor. commit 3eb035c6f7afcfdb9083b294cefd27ed9b4d24f5 Author: Frederik Heber Date: Tue Apr 24 12:38:54 2012 +0200 FIX: Removed channel WorkerRemoved in WorkerPool as it may cause cyclic updates in FragmentScheduler. - If jobs are already present in the queue and an idle worker arrices, then marking a worker busy will cause an update inside the callback that is used to send the job to the new idle worker. This will trigger the same notification that is not yet removed to be called in notifyAll(). This causes a cycle in the updates. commit d76161ebad259dbe9c91bea5ed52654bda2d48d6 Author: Frederik Heber Date: Tue Apr 24 12:36:30 2012 +0200 FIX: Removed channel JobRemoved from FragmentQueue as it may cause cyclic updates in FragmentScheduler. - An update is triggered, when a job is popped from the queue. If a new job has just been pushed and a worker is free to pick it up, the callback function is used to do this. If we trigger an update by popping a job, even if it's now a JobRemoved, not JobAdded, all notifications will again call notifyAll() and the same notification will be triggered twice. commit bc16259004479a079319350325887ab2b54b8cf5 Author: Frederik Heber Date: Mon Apr 23 14:40:15 2012 +0200 Regression test mpqc-jobs now requires "correct" results from stand-in mpqc program. - that is, we now extract the results and combine them in controller. commit 5a851238fd5b97176ec16b5c12a642f5fe31c4d4 Author: Frederik Heber Date: Thu Apr 19 20:24:04 2012 +0200 Completed printMPQCReceivedResults() in controller by using MatrixContainer::AddMatrix(). - result is printed at end of function. - Added helper function to controller to parse total number of atoms from Adjacency file. - NOTE: This function is only temporary. It should lateron be outsourced to its own class, maybe as a functor, and then eventually be merged into the main molecuilder program to be accessible inside an Action. commit a98afbcce27393b6d0e5a9d8194861fdc719a427 Author: Frederik Heber Date: Sat Apr 21 12:08:17 2012 +0200 Added regression test to Fragmentation/Automation whether mpqc jobs work. - this test uses stand-in mpqc, as true program would require extra dependency. commit 23d10f2a7f08748470f73c2de10a305adf45f983 Author: Frederik Heber Date: Sat Apr 21 12:07:30 2012 +0200 Added stand-in mpqc program and regression test on it to Fragmentation/Automation. - the stand-in mpqc is used to simulate working mpqc in the background, it just prints a present mpqc output file. commit 917be8b2ef9da0d7774581a46ba0ecc45a38e985 Author: Frederik Heber Date: Mon Apr 23 13:43:07 2012 +0200 MPQCCommandJob now takes command argument to the mpqc executable. - This allows to use stand-in mpqc instead of true mpqc executable. commit c4f43eb3719f0423f4be4dba65a1ed0484ca489f Author: Frederik Heber Date: Thu Apr 19 23:06:07 2012 +0200 GetNextJobIdOperation now may request a vector of ids. - otherwise we needed multiple phase one calls, ever requesting a single id. - now, we state how many ids we want and may eventually get one by one as desired. - adapted FragmentScheduler::ControllerListener_t and FragmentController accordingly as we now have to exchange the desired number of ids, too. - requestid() needs now an additional parameter. commit e1161100bfae430fd5106708fc3936e1fe69a8a8 Author: Frederik Heber Date: Thu Apr 19 22:16:26 2012 +0200 GetNextJobIdOperation now has check whether id is available. commit a2d65328746fcc8fdc1d9c782d15f30309d8cf50 Author: Frederik Heber Date: Thu Apr 19 20:22:48 2012 +0200 Added MatrixContainer::AddMatrix() which takes of the functionality of ::ParseMatrix(). - AddMatrix simply adds a received MatrixArray to the internal matrix. Also, we restructured the function a bit: check preconditions, allocate, then set. - ParseMatrix() creates first such a MatrixArray which it parses from a file. commit d7bb9b11ce8fe602f9904ab524aa2c53b5026e4a Author: Frederik Heber Date: Fri May 18 09:21:43 2012 +0200 Controller now links to libMolecuilderFragmentation, has extended printReceivedMPQCResults(). - extended printReceivedMPQCResults to use FragmentMatrix and alikes. commit 3add4f7d91bf09172989b7f9215b4050e70eddc5 Author: Frederik Heber Date: Thu Apr 19 16:42:11 2012 +0200 Placed src/Fragmentation/Automation behind src in main Makefile.am. - hence, now libMolecuilderFragmentation is compiled before ...Automation as required. commit 4dd16e4bf5f26ec09f04a28ed1029538fce01522 Author: Frederik Heber Date: Fri May 18 09:21:28 2012 +0200 Placed some commodity functions from controller.cpp into FragmentController. commit e032b43e18141e53eb0ce8b43ac92a8842c57459 Author: Frederik Heber Date: Thu Mar 8 16:15:51 2012 +0100 FragmentScheduler::recieveNotification() now asserts that we only received desired notifications. commit d4885d96586c1ba6400b6bf1c77eac3dd46984c1 Author: Frederik Heber Date: Sun Mar 4 21:36:27 2012 +0100 Moved FragmentController from Controller/, removed dir Controller. commit 6ee809ee4e38907f1540d3e575987840d690326e Author: Frederik Heber Date: Sun Mar 4 21:34:33 2012 +0100 Renamed CommandRegistry -> OperationRegistry. commit 50d0954c9954f199b1e23cb238803411a30172b2 Author: Frederik Heber Date: Sun Mar 4 21:05:05 2012 +0100 Moved Controller/Commands to Operations/ folder and split into Controllers, Servers, Workers. - each will eventually go into its own Registry. - also changed all include occurences in all files. - fixed some includes in the definition where path was used (header always resides in same folder as definition). commit 9d14c39cb7829a84513a9389e0526347eb30c2be Author: Frederik Heber Date: Sun Mar 4 21:26:06 2012 +0100 FIX: Renamed SendResultsOperation -> ReceiveResultsOperation in file and class. - also renamed name sendresults -> receiveresults. - also renamed ControllerChoices enum SendResults -> ReceiveResults. commit 425fc6dc643f9f341f0b236c7ace03fce1c18ce0 Author: Frederik Heber Date: Sun Mar 4 21:11:38 2012 +0100 FIX: Renamed ReceiveJobsOperation -> SendJobsOperation in file and class. - also name is receivejobs -> sendjobs. - also renamed ControllerChoices enum ReceiveJobs -> SendJobs. - The Operations should have been named actively, i.e. from the point of the instance who executes it. commit 6b3a376093d3dcb7eae7953f45036bc650bb4286 Author: Frederik Heber Date: Sun Mar 4 23:30:57 2012 +0100 Added begin(),end() for idle_queue of WorkerPool. - this allows shutting down Workers without marking and then unmarking them as busy by FragmentScheduler. - also the returned iterators are const and hence allow to see the which workers are idle but not to modify them this way. - also added WorkerPool::hasBusyWorkers() to allow for waiting server shutdown until all workers have returned from work. - added some tests for this in WorkerPoolUnitTest. commit 6ea7f414c093c35de74613685f74126abe31c582 Author: Frederik Heber Date: Mon Mar 5 00:42:50 2012 +0100 Changed FragmentScheduler::removeAllWorkers() by ShutdownWorkerOperation. - so far, we have to unmark workers busy after getting them via getNextIdle..() - FragmentScheduler does now not remove PoolWorkers after a single job. commit 8acd85c089b57df8dd5a553f092365d01544f4e7 Author: Frederik Heber Date: Mon Mar 5 00:41:43 2012 +0100 Added PoolWorker::shutdown(). - overloaded shutdown(int) with shutdown() and the former is now just a wrapper to shutdown() that additionally calls removeme(). - PoolWorker branches on id of received job, if it's JobId::NoJob, we shutdown. commit 1cfd17d5013291e22da33df356e872425cb97e08 Author: Frederik Heber Date: Mon Mar 5 00:40:23 2012 +0100 Added synchronous ShutdownWorkerOperation. - ShutdownWorkerOperation sends static NoJob as shutdown signal. commit 2344a30f31c0fe3d7ef97b7598871abb375747d2 Author: Frederik Heber Date: Sun Mar 4 17:24:25 2012 +0100 FragmentScheduler is now an Observer of JobsQueue and pool. - ControllerListener gets a bound function shutdown() to pass on shutdown request from controller on to FragmentScheduler itself to shutdown both sockets and the io_service. - FragmentScheduler is notified of JobAdded and WorkerIdle to send out jobs to workers. - Now, FragmentScheduler always initiates WorkerListener's socket. - removed temporary construct in WorkerListener_t::handle_ReceivedResults which launched the next job. - TESTFIX: Regression test Fragmenation/Automation completerun now sends three jobs (this would have lead to crash with temporary construct above). commit fb255d4c207a67e82e4b31c2619ccd8b0877cc54 Author: Frederik Heber Date: Wed Feb 29 18:39:33 2012 +0100 WorkerPool is now observable. - this is preparatory for allowing FragmentScheduler to contact idle Workers and sending them possibly present jobs. - added NotificationObserver in unit test. commit d6b12c1d8227a7a37a477f6fbdc178f95f7caaf3 Author: Frederik Heber Date: Wed Feb 29 17:07:33 2012 +0100 FragmentQueue is now observable. - this is preparatory for allowing FragmentScheduler to send jobs to worker when new ones have arrived. - added NotificationObserver to FragmentQueueUnitTest. commit a06358c06389e0dcc7c1707087422a19b0beb155 Author: Frederik Heber Date: Sun Mar 4 17:11:54 2012 +0100 Added regression test Fragmentation/Automation for enrolling in pool. commit e8f397a97a39bc8a8ad9a4baf1c7c2958cdc74aa Author: Frederik Heber Date: Wed Mar 7 11:36:43 2012 +0100 PoolWorker is now truely listenting. - does now (re-)initiateSocket() after first contact. - FragmentScheduler does not remove after one job. - TESTFIX: Changed all regression tests Fragmentation/Automation to use listening poolworkers. commit aec09889c45d83b21d968ee2b57faa2a8c06a6c8 Author: Frederik Heber Date: Sun Mar 4 17:12:28 2012 +0100 Added signal handling function to poolworker to intercept ctrl-c via PoolWorker::shutdown(). - this is for gracefully shutting down the worker (i.e. letting server know that we are off). - Added PoolWorker::shutdown() function to gracefully shutdown. - We use RemoveFromPoolOperation() to unlist from server's pool. - PoolWorker now contains ref to io_Service in order to stop the service on shutdown. commit 9a3f84cbd399e3427447ded42db8f62d11fd2e1d Author: Frederik Heber Date: Mon May 21 09:14:59 2012 +0200 FragmentScheduler now uses WorkerChoices for handling connection workers. - Workers always first send address, then their choice and depending on this we branch into various handlers. - SubmitResultOperation and EnrollInPoolOperation now correctly give choice after sending address. - handle_enrolled uses getNextIdleWorker() to mark indirectly as busy. This is temporary. - we do not resubmit if Max_Attempts is 1. commit a8f54b69dfbfc0ab76b69519598d610576b3927e Author: Frederik Heber Date: Sun Mar 4 17:04:37 2012 +0100 Added RemoveFromPoolOperation. - is a SyncOperation for the Worker. - added file WorkerChoices.hpp. commit 701bbc41bd25695e7b3b73c64db57c48c3771e36 Author: Frederik Heber Date: Sun Mar 4 16:59:32 2012 +0100 Added SyncOperation and common base Operation. - CommandRegistry stores again Operation which is now the common base class of Async- and SyncOperation. - ShutdownOperation is now a SyncOperation. commit 7dd8bca153017cd0e2b65e43da5fb1c8209e754f Author: Frederik Heber Date: Sun Mar 4 17:05:02 2012 +0100 Added template functions for sync_read() and sync_write() to Connection. - also factored our prepare_write from async_write() which is needed in case of sync_write() as well. commit f98c8e7d28a6990e8994ca30458c622fd31c4cf9 Author: Frederik Heber Date: Sun Mar 4 16:55:32 2012 +0100 Renamed Operation -> AsyncOperation in file and class. - this is preparatory to also have SyncOperation which both derived from a common base Operation. - CommandRegistry for the moment stores AsyncOperation instances. commit fe95b7a95acf0c88e89ca17057d71a53c556f761 Author: Frederik Heber Date: Sun Mar 4 17:18:32 2012 +0100 FragmentQueue can now resubmit jobs. - we keep an internal list of jobs currently being worked on. If the worker returns with a failure, they can be resubmit to the queue. - there are Max_Attempts (currently set to 1) tries to resubmit. - added unit test function on this. - added regression test Fragmentation/Automation resubmitjobs. commit 55938519c676fe8633bfec4246ea3754a88191d6 Author: Frederik Heber Date: Sun Mar 4 17:08:09 2012 +0100 FIX: Replaced calls to Operation::handle_FinishOperation by ::handle_ ... - if Operation::handle_FinishOperation() is protected member function, we call only bind to it like this. commit 38032a2bcd60a9243123e7c23376316197727fc9 Author: Frederik Heber Date: Thu Mar 1 18:55:09 2012 +0100 Renamed SchedulerStates -> ControllerChoices enum. - extracted from types.hpp as well. commit 41c1b778849fcd8e13f030bc1e1012ac80cd8881 Author: Frederik Heber Date: Wed Feb 29 09:32:10 2012 +0100 HUGE: Added PoolWorker, removed (Fragment)Worker, and rewrote parts of FragmentScheduler. - PoolWorker uses EnrollInPoolOperation and SubmitResultOperation to enroll, get the job and submit the result. Enrolling and getting the job is combined to have the same workflow for the moment until the pool is fully implemented. - WorkerListener_t in FragmentScheduler has a callback instance to access sendJobToWorker function for sending jobs when a Worker has connected. - FragmentWorker and Worker have been removed, also WokOnJobOperation. They are all replaced by PoolWorker and its own Operations. ToDo: - FragmentQueue needs a callback function when new jobs have been added. - WorkerPool needs a callback function when a worker is idle. - WorkerListener_t then does not need a callback anymore, just access to the pool who has then the callback. - so far PoolWorker quits after first job (and is also removed by Server). commit 5d8c0f3e6cd2a623237358cf3c11d644a2aaf86c Author: Frederik Heber Date: Tue Feb 28 16:08:09 2012 +0100 Added WorkerPool to handle a pool of Workers. - also added unit test. commit edbf88b839d69b6e01bba6c317710295d1c45d26 Author: Frederik Heber Date: Sun Feb 26 21:19:19 2012 +0100 Added WorkerAddress, serializable host+service address. - also added unit test on comparison operators and serializtion. commit 8d79174ee7e684f7d49d96da0e0f64d0f820c4e9 Author: Frederik Heber Date: Sun Feb 26 21:13:23 2012 +0100 Restructured convenience libraries for Fragmentation/Automation. - new convenience library libFragmentationCommands containing all Operation derived classes. - renamed libFragmentationAutomation -> libFragmentationAutomationHelper. - FragmentController and CommandRegistry removed from this library. commit 95454a7757cb2e73de8ed370a8d7b2ea5103e000 Author: Frederik Heber Date: Wed Feb 22 19:33:19 2012 +0100 Refactored main part in FragmentWorker into WorkOnJobOperation. - essentially FragmentWorker just contains this Operation and nothing else. commit 8036b77b383d40bbb7e818ed0a8809eba5794745 Author: Frederik Heber Date: Wed Feb 22 18:50:06 2012 +0100 Refactored Listener out of FragmentScheduler. - this is preparatory for creating PoolWorker class, i.e. Worker that listen for jobs sent to them by the server. - the connection is just reset() on new initiateSocket(). - closeSocket() correctly shutdown()s and close()s the socket. - Note: As ControllerListener receives new jobs and thus knows when the server is required to listen on worker port again, it needs a bound function to WorkerListener_t::initiateSocket(). This will be removed when the new Pool is in place that handles Worker connections. commit 95b38499d61ebcaaaadab3c032f11c4cd7cff89c Author: Frederik Heber Date: Wed Feb 22 17:50:32 2012 +0100 Removed duplicate code in FragmentScheduler with initiating new connections. commit 98688531d72c70fdcf3a5a081fffe953746b3962 Author: Frederik Heber Date: Wed Feb 22 17:41:15 2012 +0100 Added specific Command to controller to receive mpqc results and combine them. - new entry in CommandIndices ReceiveMPQCIndex. - is not done. This should be implemented using the already present methods in the rest of MoleCuilder. This should go into the function printreceivedmpqcresults(). commit 5090147fa17a4d592427ff1a38e14ca10961c6c6 Author: Frederik Heber Date: Fri Feb 17 11:34:09 2012 +0100 Added output stream operator to MPQCData. commit 554809007e3b5cc0682e8fb20aec965cd247193f Author: Frederik Heber Date: Thu Feb 16 13:40:35 2012 +0100 createjobs now gets two options: command, argument. commit d1dbfc5f3d703923f09bc57a4a3e7b6f4f8e6bc8 Author: Frederik Heber Date: Thu Feb 16 16:09:52 2012 +0100 New GetNextJobIdOperation for obtaining next available JobId from server. - as JobId is required to create the job, we now need two, separate communication phases: gathering info (ids) and sending info (jobs). - new SchedulderState GetNextJobId along with handlers. - new GetNextJobIdOperation that requests another id which is internally stored into a list, along with a getter that extracts them one by one. - controller's createjobs() and parsejobs() each take an nextid parameter now. commit 6f2bc74265e4dfd79255657a1db5cc52e9511f44 Author: Frederik Heber Date: Thu Feb 16 12:12:40 2012 +0100 CheckResultsOperation now receives both scheduled and done jobs. commit bf56f65db66ae65f402f3f5745039390aa2fe1f6 Author: Frederik Heber Date: Thu Feb 16 11:52:47 2012 +0100 Added getPresentJobs() to FragmentQueue. commit 545446b038f1a0d9d33bd09fbb7dc838635c4311 Author: Frederik Heber Date: Wed Feb 15 15:17:54 2012 +0100 Added serialization capability to MPQCCommandJob. - added unit test and operator==() (including test). commit ff60cfa6d1a9d5d02c5383a60a027b1843d6e0b6 Author: Frederik Heber Date: Wed Feb 15 15:14:19 2012 +0100 Controller has new function addjobs. - addjobs parses mpqc input file and creates MPQCCommandJob which is sent to send jobs - old sendjobs is now createjobs which creates empty SystemCommandJob. - added new class GlobalJobId which holds a global JobId such that FragmentJobs created by Controller each have a unique id. NOTE: This should probably be replaced by IdPool implementation when Fragmentation/Automation is integrated into rest of molecuilder. - dummyInit() to have MPQCCommandJob instances known to FragmentScheduler. - TESTFIX: Adapted regression tests Fragmentation/Automation adding-jobs, server-worker, and completerun due to command token change. commit 306f6062be599f351119d201e27f00dfb9a90c1e Author: Frederik Heber Date: Tue Feb 14 17:01:24 2012 +0100 Extended MPQCCommandJob's extractString to understand MP2 keywords. commit cc276ec507f3ccef1a447ef1f76b1f35e8bcd527 Author: Frederik Heber Date: Thu Feb 9 16:27:56 2012 +0100 Added MPQCCommandJob and result container MPQCData. - MPQCData contains data to be serialized into FragmentResult. - MPQCCommandJob implements mpqc-specific result extractor. - added unit test for MPQCCommandJob. - added unit test for MPQCData. commit d920b9e35d1332c01a14e561aa60b85bbe881b3b Author: Frederik Heber Date: Mon Feb 6 10:57:56 2012 +0100 Abstracted FragmentJob and introduced SystemCommandJob which has its former functionality. - FragmentJob now has just virtual function Work(), not implemented. - former command and outputfile is taken over by SystemCommandJob. - a FragmentJob or derived class is default cstor'ed always with JobId::IllegalJob. - so far SystemCommandJob captures command's stdout and parses it back from file. We use mkstemps() for creating a random file and popen() to pipe stdout directly. For this we require boost::iostreams and ::filesystem. - SystemCommandJob has virtual method extractString() to be adaptable to the output of various system commands. - changes almost everywhere due to SystemCommandJob taking place of FragmentJob and FragmentJob::ptr and FragmentResult::ptr requirements. - added FragmentWorker::dummyInit() to enforce binding of the executable to all possible derived FragmentJob's. - added unit test for SystemCommandJob. - added FragmentJobStub that implements a no-brainer job for testing. - NOTE: boost::iostreams is incompatible with MemDebug due to placement new. commit 7670865494307829aa075e60d6056fe423885484 Author: Frederik Heber Date: Mon Feb 6 10:43:38 2012 +0100 Moved FragmentResult to subfolder Results. - changed includes and Makefile.am's. commit 35f58778fb07584ad131cbf43ab743b1e5ab0c58 Author: Frederik Heber Date: Mon Feb 6 10:33:27 2012 +0100 FragmentResult is now also encapsulated in boost::shared_ptr. - this allows in the same way to have different implementations of an abstract FragmentResult class. commit f0834d01293eb49b5445dc39c6e56c78abbdb7ff Author: Frederik Heber Date: Mon Feb 6 09:58:48 2012 +0100 Moved FragmentJob to subfolder Jobs. - changed all includes and Makefile.am's. - changed order of Jobs in Makefile.am. commit 78ad7d0534dc558c9de4b6b9d54bcc8e4dea409f Author: Frederik Heber Date: Mon Feb 6 09:43:07 2012 +0100 FragmentJob is now passed inside boost::shared_ptr. - FragmentJob is to become just an abstract interface to a variety of jobs and we cannot instantiate this interface. We can only pass it around via ptrs. Therefore, we need this switch to shared_ptrs. - We now require CodePatterns 1.2.2 due to boost/archive/iserializer.hpp fix. commit 142ff51c118d30eab5f5726ee90599beb92383ba Author: Frederik Heber Date: Tue Jan 17 20:10:35 2012 +0100 FragmentJob now executes a specific string as command along with an outputfile to work on. - stdout is parsed in as FragmentResult::result, return from std::system is placed into FragmentResult::exitflag. - createjobs() in controller.cpp uses cat and "Nothing" to mimick the same behavior as before. - removed intermediate deadline_timer usage in ::Work(). commit 246d9733f5b13124e5ed8688dc434564d434afe2 Author: Frederik Heber Date: Fri Mar 9 10:47:57 2012 +0100 FragmentResult has additional variable exitflag. - this is to store the result flag from a system call. commit 7ca772e57b80836e2c9d001aebd41bf0608a0b41 Author: Frederik Heber Date: Mon Dec 12 09:32:27 2011 +0100 Operations are now contained in CommandRegistry in FragmentController. - this is a tiny bit less nice due to required static_cast<>, however in the end we hopefully win due to possible placement inside a Queue. - FragmentController:getExitflag() can now just browse through all present Operations and return the first fail. - TESTFIX: changed regression tests Fragmentation/Automation a bit due to: - server-worker,addingjobs: addjobs now always adds two jobs. - JobAdder, ResultChecker, ResultGetter, and Shutdowner have been removed in favor of Controller and a specific command token. commit 0174b62c2b2009923e0e2d4acb4c42bf7923414e Author: Frederik Heber Date: Fri Jun 15 13:41:07 2012 +0200 Set version to 1.2.5 - Molecuilder library is now 9:0:0. - Codename "Abé" (African language spoken in Côte d'Ivoire). commit 78521857f121580b27a514988e577dc7d24e66b2 Author: Frederik Heber Date: Fri Jun 15 13:32:32 2012 +0200 FIX: Changed pyMoleCuilder_LDFLAGS and libMolecuilderUI_LDFLAGS. commit 345883d83bd7eb4a1bdce0143c85cdc3e67f4a9d Author: Frederik Heber Date: Thu Jun 14 16:24:48 2012 +0200 DISTCHECKFIX: Removed old header files in Parameters/unittests that don't exist anymore. - also added some usual libs to Parser/Parameters/unittests/Makefile.am. commit ca331ceac7b5334d5556ab0315bbb33b93f58f63 Author: Frederik Heber Date: Thu Jun 14 15:24:13 2012 +0200 Added Undo/Redo capability to SetTremoloAtomdataAction. - SetTremoloAtomdataAction may either set/append or reset the AtomData line. - TremoloParser has new functions getAtomData() and resetAtomData() along with setAtomData(), added unit test function on the triple. - TEST: Added undo and redo test to Parser/Tremolo-SetAtomData, also new reset test. commit 5b0581944c6a32b73762473862229922ce1b40eb Author: Frederik Heber Date: Thu Jun 14 14:44:55 2012 +0200 FIX: TremoloParser did not make usedFields unique when neighbors=4 and neighbors=2 was given. - now we have two specific comparators that sort and make unique in the right way. - added regression test Parser/Tremolo save-unique_usedfields on this. commit 27cfdeacce55974976b6b373d8be5469cb571627 Author: Frederik Heber Date: Thu Jun 7 17:21:36 2012 +0200 FIX: TremoloParser::makeUsedFieldsUnique() did not use given parameter. commit 5a667d65ddd9600eacfe9936617b6df8681e339d Author: Michael Ankele Date: Mon May 14 13:54:32 2012 +0200 AtomDataValidator implemented, uses static FormatParser::testParseAtomDataKeysLine(). - added static ::testParseAtomDataKeysLine() as it does not need or change any parser internal information it may as well be static and can then be used outside the FormatParserStorage. Works with or without leading ATOMDATA. - knownKeys is now static member of FormatParser, initialised by boost::assign's map_list_of(). commit 2169e0ab7f139ec7ca71e976f42b6fbc0f912501 Author: Michael Ankele Date: Mon May 14 13:34:46 2012 +0200 RandomNumberEngineNameValidator implemented commit 8ccd447c858a4e9526f1b320cbd0872143c894a0 Author: Michael Ankele Date: Mon May 14 13:30:11 2012 +0200 RandomNumberDistributionNameValidator implemented commit 4d177ec4d8c63bc65a43448bfbe3f00be0088f2d Author: Michael Ankele Date: Mon May 14 13:12:48 2012 +0200 FormulaValidator implemented commit 897fdde3358ff839f74d0f2036689207d3d8d8b0 Author: Michael Ankele Date: Mon May 14 13:06:05 2012 +0200 ParserTypeValidator implemented commit 44b62659ab559646eda3daf8149e8ff48ed9ad05 Author: Michael Ankele Date: Mon May 14 12:50:14 2012 +0200 ParserFileValidator implemented - note that ParserFileValidator also needs to compare a dotted_suffix. commit ae1fd1611cf59dc52ff7c58db743a85c92ba3484 Author: Michael Ankele Date: Mon May 14 12:33:57 2012 +0200 MoleculeIdValidator implemented commit 770ec6003099f24173720a698cd2f3619fd73d1a Author: Michael Ankele Date: Mon May 14 12:27:02 2012 +0200 KeyValueValidator implemented. - SetParserParameters now receives vector and they are translated to colon-separated values within Action's performCall(). - TESTFIX: changed regression tests Parser/SetParameters/Mpqc. - added new regression tests that checks that --parser-parameters contains at least one argument. commit 4475b2ded342e7235968f2eba5567ad7d91a19d4 Author: Michael Ankele Date: Mon May 14 12:11:52 2012 +0200 FileSuffixValidator implemented. - note that boost::filesystem3:extension() is with "." while suffix is specified without. commit 0d0b4de37f8cb6a5e624c3c510626bd9f4c4b14a Author: Michael Ankele Date: Mon May 14 11:58:13 2012 +0200 AtomIdValidator implemented commit 9e6a3913ee610ca9fc326dba72f22c0c51b9f25e Author: Michael Ankele Date: Mon May 14 11:48:21 2012 +0200 AtomDataValidator partially implemented commit 2aad5a6a9c5fbad8ec54865887a27ac361d6ba2a Author: Frederik Heber Date: Tue Jun 5 18:30:40 2012 +0200 FIX: ActionRegistry now sets flag completely_instantiated when after fillRegistry() has completed. - ActionNameValidator checks on this flag and returns false if not set to true. commit 6ba9ba23b3e342adcb94de069426dcdba8359702 Author: Frederik Heber Date: Tue Jun 5 16:59:10 2012 +0200 Default values are properly set by the Action into their (Action)Parameters. - we changed the boost::preprocessor magic to accomplish this. - NODEFAULT -> NOPARAM_DEFAULT to be safe. - it has been a hell of a lot of work to make it possible to add a construct such as ", default" to the call of a function, either the comma or the default is easy but both could only be accomplished via a list contained in the sequence of default values. Because the list has an explicit NIL element which is taken as NOPARAM_DEFAULT. - PARAM_DEFAULT is a macro to wrap the default value into a list. commit ab2ebe1421dd395490c1c5ca22b31a48db632d96 Author: Michael Ankele Date: Mon May 14 11:40:47 2012 +0200 ActionNameValidator implemented - FIX: HelpAction's ActionNameValidator caused infinite loop of ActionRegistry::fillRegistry(). Default value must be checked by a DiscreteValidator which comes before ActionNameValidator! - HelpAction::performCall() given string type explicitly. - TESTFIX: Created ActionNameValidatorStub used in ActionRegistryUnitTest and ActionSequenceUnitTest. commit c31fbd0febffa9999491bdd19255e928ffff9276 Author: Michael Ankele Date: Thu May 10 18:27:55 2012 +0200 ElementValidator implemented commit 4d4777c677260b02060c85e4d7bfae363b1c4352 Author: Michael Ankele Date: Thu May 10 18:22:30 2012 +0200 TimeStepPresentValidator implemented (using trajectories) - TESTFIX: Created TimeStepPresentValidatorStub used in ActionRegistryUnitTest and ActionSequenceUnitTest. commit de20319c1dbee9fe5f9cd648d81c2c18dc6ab197 Author: Michael Ankele Date: Thu May 10 18:19:13 2012 +0200 BoundaryConditionValidator implemented commit b194055a6bbf94d42d1c7be0fec2245b2b2bbf62 Author: Michael Ankele Date: Thu May 10 17:46:56 2012 +0200 RealSpaceMatrixSymmetricValidator implemented commit 5510746c06adb4e45b84d9886ebd8dfbd4823799 Author: Michael Ankele Date: Thu May 10 17:41:48 2012 +0200 RealSpaceMatrixInvertibleValidator implemented commit 180421c503d19832caa6bf57c04cf9757228a703 Author: Michael Ankele Date: Thu May 10 17:30:21 2012 +0200 VectorZeroOneComponentsValidator implemented commit b2e31a7cbc67a86641e17257ca50cbe1b20ecc48 Author: Michael Ankele Date: Thu May 10 17:20:14 2012 +0200 VectorPositiveComponentsValidator implemented commit 36180514a334d00dcbeae5152940059eb26e906c Author: Michael Ankele Date: Thu May 10 17:06:04 2012 +0200 BoxVectorValidator implemented - TESTFIX: Created BoxVectorValidatorStub used in ActionRegistryUnitTest and ActionSequenceUnitTest. commit 23958dd80ccf15c9c0392965d2c6f255f8f82917 Author: Frederik Heber Date: Thu May 10 15:24:59 2012 +0200 HUGE: All .def files now contain a useful paramvalids line. - many specific Validators have been added but have only DummyValidator funcitonality so far. - also some more generic (i.e. templated) validators have been added. - TESTFIXES: Some regression tests had to be changed because they either had initial faults or now fail due to stricter validators. - parser-tremolo-potentials-save: lacked .potentials file in testdir (thx validator!) - selection-.*.at: all stored to a targetfile more than once which is not allowed by FilePresentValidator. commit 8453b3ae6d0c496d19f44e98134c48a38e3c79da Author: Frederik Heber Date: Wed May 9 18:44:04 2012 +0200 Exemplarily modified PairCorrelationAction.def to have specific validators. - this commit showcases how to use the new validators in the .def files. - specific validators are placed in Parameters/Validators/Specifics. - added BoxLengthValidator, ElementValidator. - added STLVectorValidator for vector of arbitrary type and validators on size of vector and each element. - added convenience library for Parameters - TESTFIX: Created BoxLengthValidatorStub for later use, e.g. ActionRegistryUnitTest. commit 649aaa496b3f8694fe796e2971b1bb1fd7464e61 Author: Frederik Heber Date: Wed May 9 18:17:57 2012 +0200 All Actions' .def files now have a paramvalids that is used to for validators of their Parameters. - the structure ActionParameters contains Parameter<> instances per required parameter of the Action. - these Parameter<> contain a validation functionality if given a Validator. - right now via boost::preprocessor magic (new defines valid_print and validcopy_print) we create the cstor of the derived ActionParameters class and create a DummyValidator of the correct type for each parameter. - TODO: We have to go through each .def file and replace DummyValidator by the correct Validator. - added src/Actions/test.sh which is the shell script to make these changes. commit 301723ee3699e2aed794325ea0ece0fb5b8c016c Author: Frederik Heber Date: Thu May 10 12:33:28 2012 +0200 FIX: SetWorldTimeAction requires _unsigned_ int for parameter newtime and state oldtime. commit e1f414fde2f0df0c1558a2520784b558bea73472 Author: Frederik Heber Date: Thu May 10 12:21:40 2012 +0200 FIX: RepeatBoxAction requires std::vector< unsigned int > for parameter Repeater. commit cc32d0747ead49a34d484a73f034d122c1cf8222 Author: Frederik Heber Date: Thu May 10 12:13:22 2012 +0200 FIX: (Not)MoleculeByIdAction requires moleculeId_t for parameter molindex. commit e2ff7e580cddf84949a9e22e9b4811a1aa7d9cc7 Author: Frederik Heber Date: Thu May 10 11:40:17 2012 +0200 FIX: SaveSelectedAtomsAsExtTypesAction requires _unsigned_ int for parameter id. commit eced82750b08684e216451cb9f7c05cde8e5fc42 Author: Frederik Heber Date: Thu May 10 11:35:14 2012 +0200 FIX: VerletIntegrationAction requires _unsigned_ int parameter for MDSteps. commit f221e3b76ea0d3beb100da5b86d1bb1c448fb7fb Author: Frederik Heber Date: Thu May 10 11:32:05 2012 +0200 FIX: molecule::RotateToPrincipalAxisSystem() now always normalizes Axis vector. commit 06ccb1b6c8c539f2e0c606a8635b5c5b9e641b61 Author: Frederik Heber Date: Thu May 10 11:28:03 2012 +0200 FIX: LinearInterpolationofTrajectoriesAction requires _unsigned_ ints for parameters start-step, interpolation-steps, and end-step. commit 1c99d1bec970176e4e8adff206496b81a86fcfc9 Author: Frederik Heber Date: Thu May 10 11:10:57 2012 +0200 FIX: BondFileAction requires _unsigned_ ints for parameter skiplines and offset. commit 8ac11f5ee7d341dc1ab59f639f7c474e285eed0b Author: Frederik Heber Date: Thu May 10 11:08:35 2012 +0200 FIX: FragmentationAction requires _unsigned_ int for Order parameter. commit 688fb67ce870859d11c77cb993d5fb6d887502df Author: Frederik Heber Date: Thu May 10 11:04:54 2012 +0200 FIX: VerboseAction requires _unsigned_ int as verbose parameter. commit 8d9b414620874a98d74b9a5b9eec2bf9684c5e2a Author: Frederik Heber Date: Thu May 10 11:02:43 2012 +0200 FIX: FillSphericalSurfaceAction requires _unsigned_ int for count (number of instances). commit d496fd779438588c03d7f49cf25828367937b060 Author: Frederik Heber Date: Thu May 10 11:01:12 2012 +0200 FIX: SurfaceInserter now always normalizes alignedAxis in cstor. commit 7d9416031da0a31907f5d8804559bc704c7c7c3c Author: Michael Ankele Date: Thu May 10 17:00:12 2012 +0200 Turned query into query - CenterInBox and ChangeBox require RealSpaceMatrix instead of Box now for parameter cell_size. - changed all query instances for Box, now query for RealSpaceMatrix. - renamed BoxValue to RealSpaceMatrixValue (no other changes required). This is needed by the CommandLineUI only. commit a483e4e2bea6c72cb2715059a1e35ee18731c342 Author: Frederik Heber Date: Thu May 10 11:57:34 2012 +0200 SetRandomNumbersDistributionAction does not request complex RandomNumbersDistribution_Parameters but simple std::string. - strangely, SetRandomNumbersEngineAction does this already ... :) - this means that RandomNumberDistribution_Parameters...Query are obsolete. They should be refactored into a simple KeyValueQuery and the above parameters of Actions that require a parameter string converted to this type. commit 97f9b9e5c1ffbd088e5670bf7283216e16f68b02 Author: Frederik Heber Date: Thu May 10 12:31:17 2012 +0200 SetBoundaryConditionsAction requires vector instead of string for parameter newconditions. - we also added new setters to Box and Box_BoundaryConditions to enable it. - TESTFIX: Boundary conditions now have to be supplied as e.g. Wrap Wrap Wrap and not "Wrap,Wrap,Wrap" on the command line. - stream operator for Box_BoundaryConditions now also splits by "," and by " ", enhanced unit test function inputTest() on this. commit 8ea3e7e2a013eab7a8936c65a52870438ee1859b Author: Frederik Heber Date: Thu May 10 11:22:07 2012 +0200 CopyMolecule can now copy all currently selected molecules. - this is both removal of molecule as parameter and enhancing the Action. - also we added new UndoRedoHelper RemoveMoleculesWithAtomsByIds. - CopyMoleculeAction::performRedo() simply calls performCall() which is now possible due to new parameter structure. - TESTFIX: as we no longer specify the molecule to copy as argument of copy-molecule, regression test Molecules/Copy has been changed to prior select-molecule-by-id. commit 2382d72bc0cc499741c93764b5eb9ecfa0eff0e4 Author: Frederik Heber Date: Thu May 10 10:57:41 2012 +0200 FillRegularGrid now uses std::vector instead of Vector. - with the new validators it possible to constrain number of entries to 3 easily. - added unimplemented StreamOperator for vectopr. - TESTFIX: option mesh-size needs its arguments now as 5 5 11, not "5,5,11", hence changed regression tests in Filling/RegularGrid. commit 7951b9d3df66de816abcb21f059cd10414a9d20a Author: Frederik Heber Date: Thu May 10 10:38:35 2012 +0200 Rewrote SurfaceCorrelationAction such that selected atoms are used in replacement of parameter surfacemol. - We must not request atoms or molecules inside action parameters. These must be obtained via prior selections. commit e45c1db4f33537aab8e2a1b4716c0deefcc700ec Author: Frederik Heber Date: Wed May 9 20:40:56 2012 +0200 Added ParameterExceptions, is caught by Dialog::checkAll() for the moment. - AssertExceptions are useless eventually when invalid value is set. now, we throw ParameterException's: ParameterValueException and ParameterValidatorException. - ContinuousValue, though unused, now inherits from Value, and just implements necessary functions. - Parameter catches Value's set, get, setAsString, getAsString functions and adds the parameter name as additional information. - Validators may throw ParameterValidatorException, too. - changed some of the test functions in ContinuousValueTest and DiscreteValueTest such that they always expect Parameter...Exception. - changed MpqcParser_Parameters and Psi3_Parameters as they implement specific getAsString for bool type. commit e5d797031b47650a0880c95144d185e1085b0fd7 Author: Frederik Heber Date: Wed May 9 18:21:53 2012 +0200 RangeValidator cstor now can be given start and end of interval directly. - also, we removed src/Actions/test.sh again. commit bf72ecc6f3a089e63a34535b49e47ad0628bea0b Author: Frederik Heber Date: Thu May 10 15:27:59 2012 +0200 FIX: Specialized ConvertTo for std::vector templates. - this should later be placed in CodePatterns/toString.hpp. commit 16876ca6994e6cfaa920af04bed6a9c17e390f42 Author: Frederik Heber Date: Thu May 31 15:24:04 2012 +0200 Implemented all stream operator >> functions in StreamOperators.hpp. - also added operators for const atom* and vector. commit 7b1a19958addd1d541b206cfb12e53e5af25165e Author: Frederik Heber Date: Fri Jun 1 17:37:01 2012 +0200 FIX: Removed unneeded ranges in PairCorrelationAction::performCall(). commit 33d0afb28a622c243f2d109a7b9e6c210afd7512 Author: Michael Ankele Date: Wed May 9 16:15:45 2012 +0200 Ops_Validators: new operators (&&, ||, !) - created a unittest for the new Validator operators commit d555b8de3042f993d9e6e78429e75cfdf58fd94a Author: Michael Ankele Date: Wed Apr 25 15:22:06 2012 +0200 Atom/RotateAroundOriginByAngleAction: recalculating radians - doesn't overwrite angle Parameter - untill default values are used, QtQueries show values from the last call of the same action, so we shouldn't change them commit c70fb48d54b880a98318e4b93346a5810fff549e Author: Michael Ankele Date: Wed Apr 25 15:16:12 2012 +0200 QtQueries use initial Parameter values commit 95f96563b88b0ef53e63013a4ba72bcc762e1825 Author: Michael Ankele Date: Wed Apr 25 15:05:29 2012 +0200 QtQueries only set default values if not already set - added Value.isSet() function commit f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0 Author: Michael Ankele Date: Tue Apr 24 15:55:16 2012 +0200 disastrously big and ugly commit - using new Parameter classes: - Actions - Queries (all UIs) - TODO: - actions crash cause Value is unset - no query commit b9c69dac29d2f587c32996f89b8996a340d919e3 Author: Frederik Heber Date: Thu May 24 14:21:27 2012 +0200 TESTFIX: Wrong usage of --output-types vector argument in regression tests Fragmentation/Fragmenting. - we need to specify a vector of strings as "a" "b" "c", NOT "a b c" which is just a single string. commit 118f1e5c5502b98f4f1a0b14f0483e276a9a13c5 Author: Michael Ankele Date: Wed Apr 18 14:56:29 2012 +0200 ParameterStorage now uses ParameterAsString class commit 6c05d817fc0f2e2fa58400ee20244edbcaeea3f0 Author: Michael Ankele Date: Wed Apr 18 16:02:14 2012 +0200 FIX: Value, empty validators - conversion string -> string only returned the part up to the first blank - replaced NULL validators with DummyValidator - unit tests corrected (because Parameter.clone() now works with unset values) commit 7dc60a2f1f029f5551e4bc7c25ab8af103019ecf Author: Michael Ankele Date: Wed Apr 18 14:02:13 2012 +0200 added ParameterAsString class for Parsers commit 7d98e740862b81f3600adc1e4cb1cb90c2126c93 Author: Michael Ankele Date: Tue Apr 17 16:25:41 2012 +0200 istream>>Vector: added assertion commit 0b84b9486df4dbb31f498b9239fc74baf9788d4b Author: Michael Ankele Date: Tue Apr 17 16:12:33 2012 +0200 renamed old Parser/Parameter classes - Parameter -> ParserParameter - ValueInterface -> ParserValueInterface - renamed header macros SOMEFILE_HPP_ -> PARSERSOMEFILE_HPP_ commit 3c5ef5bb765011de2d2ec540988045f312368c01 Author: Michael Ankele Date: Mon Apr 16 14:56:12 2012 +0200 DiscreteValueTest uses new Value class commit 9b5eb03b7cad5e1f2494b404dc68e986b56b0718 Author: Michael Ankele Date: Mon Apr 16 14:46:45 2012 +0200 added DiscreteValidator.findIndexOfValue - created xxx_impl.hpp commit 047cad4ca87588045ffa9ab6a34544fb3d8b567f Author: Michael Ankele Date: Mon Apr 16 14:30:32 2012 +0200 added string functions to ValueInterface - ContinuousParameter and DiscreteParameter deprecated commit 30ebdd7108a07d220eb86063fca2f5acc94af8ad Author: Michael Ankele Date: Mon Apr 16 13:44:31 2012 +0200 DiscreteParameterTest: using new Parameter class commit adcfc6d7420c9cfd8c6d75e8eebbf82f22a4a9aa Author: Michael Ankele Date: Mon Apr 16 13:39:54 2012 +0200 added Parameter class - ContinuousParameterTest works - fixed macro in ParameterInterface.hpp commit fc32ade39e7cbae7c4fce48e5330b97f6a5c37a5 Author: Michael Ankele Date: Fri Apr 13 17:39:05 2012 +0200 added VectorRangeValidator commit ad691744e67503c7b1acfdcb7160c37bbb1116c2 Author: Michael Ankele Date: Fri Apr 13 17:28:53 2012 +0200 appendValidValue for DiscreteValidator commit 8f130c553ba094607874dcbff96bc28196e50495 Author: Michael Ankele Date: Fri Apr 13 17:20:56 2012 +0200 made Validators comparable commit 4892c3a75ac834100d71aa805116f271177d67d5 Author: Michael Ankele Date: Fri Apr 13 16:56:32 2012 +0200 added ValueTest (unit test) - fixed many minor problems in Value and Validator... commit a9a8f9563644dc24effa1f7395a0d00d26ff58fa Author: Michael Ankele Date: Fri Apr 13 15:48:42 2012 +0200 Value implementation - Validator made cloneable commit d851269277ed540e2f1d63b8873cac5d0c03f6fa Author: Michael Ankele Date: Fri Apr 13 15:06:51 2012 +0200 FIX: missing #include commit a696f954e940fe89f7d674465bc359bb6d856bb5 Author: Michael Ankele Date: Fri Apr 13 15:04:47 2012 +0200 added RangeValidator commit 916a2d090c622bd5d76dba00f2febb29142ceef0 Author: Michael Ankele Date: Fri Apr 13 15:04:28 2012 +0200 added DiscreteValidator commit 20fdc58d4f7284cec73edbdd645857259827ea14 Author: Michael Ankele Date: Fri Apr 13 15:04:02 2012 +0200 DummyValidator: added constructor commit 0ba371859a07ec7dfbb020bb0c64e1574941102a Author: Michael Ankele Date: Fri Apr 13 14:50:40 2012 +0200 added Validator (Interface) - also added DummyValidator commit 9cd0d0b95aa93749d28973e5bf6802127c241fb4 Author: Michael Ankele Date: Fri Apr 13 14:39:07 2012 +0200 refactoring: rename Paramater -> ParameterInterface commit c5e73131f8ffc006b7956e816253e54677adbb78 Author: Michael Ankele Date: Wed Apr 11 15:25:19 2012 +0200 operator Parameter = T commit 7d1b6a327479949780b8727cdc38154708663bf5 Author: Michael Ankele Date: Tue Apr 10 16:29:59 2012 +0200 created some ContinuousValue tests commit 85d89b9a61c8e0abafadf1dd80be697dab94f94b Author: Michael Ankele Date: Tue Apr 10 15:31:05 2012 +0200 range as template specialization commit 992bd50e770e3f20e92968f6d2acf6f6df7ec879 Author: Michael Ankele Date: Tue Apr 10 14:53:06 2012 +0200 fixed some typoes in comments commit c513b750a654f152c83f67cda4335e426c639908 Author: Michael Ankele Date: Tue Apr 10 14:20:03 2012 +0200 removed Converter from Parameters commit 50f4184e01c29a43b8df7405617024a05b8b2f9e Author: Frederik Heber Date: Sun Dec 11 18:43:13 2011 +0100 Removed all those tiny relay functions in FragmentController. - we now use the getter/setters in the derived Operations directly. commit 3a1346d7b0395f88ff1b64df86af48435aa993bd Author: Frederik Heber Date: Sun Dec 11 18:31:37 2011 +0100 Operation now requires an internal name to be placable in a Registry. - derived class give specific name in their cstor. commit 25b30aa890962348fd6d25334f39f8ee621c9843 Author: Frederik Heber Date: Sun Dec 11 18:15:53 2011 +0100 FIX: Added disconnect() call to end of Operation::handle_FinishOperation(). - this should close the socket after the communication has completed as each derived class uses handle_FinishOperation() as last callback function. commit 96c83b29e7b5914533eaf44412eef03d069a20be Author: Frederik Heber Date: Sun Dec 11 18:14:24 2011 +0100 Neither FragmentController not Operation need host or service as params to Cstor anymore. - due to the last change these are given directly to Operation::operator(), hence we have removed them from FragmentController's and Operation's cstor. - removed Operation::getEndpointIterator(). - all small controller executables have been adapted accordingly. commit 9948a765b2debfa507c64194b464a960ac1a7c34 Author: Frederik Heber Date: Sun Dec 11 17:59:08 2011 +0100 Operation::operator() now contains everything to get the endpoint and connect. - getting the endpoint is placed in operator() which needs host and service as parameters. - derived classes just implement handle_connect whose virtual function pointer is boost::bind in Operation::operator(). - this all makes it very easy to implement new commands for the Controller. - all handle_connect_... of course are now the above implementation. - all connect_... are now contained in Operation::operator(), hence have been removed. commit d6fe761176eef8308b81d1ceb788fe4bf80e3d8d Author: Frederik Heber Date: Sun Dec 11 17:44:18 2011 +0100 Added a "testfunction" to each ...Operation along with handle_connect. - this is to test whether we can place the initial connect into the class Operation and have only specific functions required lateron in the derived classes. commit 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2 Author: Frederik Heber Date: Sun Dec 11 17:20:52 2011 +0100 Extracted all other derived Operation's too and placed into folder Controller/Commands. - TESTFIX: Changed regression tests Fragmentation/Automation with respect to the exit code from controller. commit 73d6fce636ade8bb851250adf52ad79adf5225a2 Author: Frederik Heber Date: Sun Dec 11 17:00:42 2011 +0100 Shifted all Controller stuff into own subfolder, extract class Operation. - extracted class Operation from FragmentController and place into subfolder Controller/Commands. - all files containing main() functions are also moved to Controller. commit 1dc209b83f84861106021c6a70d51182a306d7fc Author: Frederik Heber Date: Sun Dec 11 16:24:20 2011 +0100 Enhanced libMolecuilderFragmentationAutomation in Fragmentation/Automation/Makefile.am. - libMolecuilderFragmentationAutomation needs to occur after (above) libMolecuilderFragmentJobs. - FragmentController sources now contained in ...Automation. commit 5adb84984c3a69ab1022d16497045fd243ee9087 Author: Frederik Heber Date: Sat Dec 10 16:17:06 2011 +0100 Factored out Operation and derived all operations from it. - a number of subclass of FragmentController that encapsulate each operation. - Operation contains getEndpointIterator(), handle_FinishOperation() and disconnect(). - Operation now also contains Exitflag that was formerly in FragmentController. - new derived Operations: ReceiveJobsOperation(), CheckResultsOperation(), SendResultsOperation(), ShutdownOperation() that each contain the connect_..., handle_... functions. - functions to initiate operation have been placed into these Operation- derived classes as implemented virtual operator(). - most of the required member variables have also been associated with the class that needs them. Getters and Setters have been relayed for the moment. - each Operation as of now needs ref to connection, host and service. This should be changed and the stuff around getEndpointIterator() refactored along with it. commit fb2324b496d0bc0e217e446455628f8e1d0b0aa5 Author: Frederik Heber Date: Fri Dec 9 22:02:14 2011 +0100 Added regression test Fragmentation/Automation with a complete run of Server, Worker, and controllers. - TESTFIX: Shortened length of regression test Fragmentation/Automation server-worker as most is extensively tested in complete-run. commit c837ad09370c4c1c8890297774ef426315ec3856 Author: Frederik Heber Date: Fri Dec 9 22:00:50 2011 +0100 Added regression test Fragmentation/Automation on getting results. commit db34f216525f470ee4838943ab8d5ae0f4c62dd8 Author: Frederik Heber Date: Fri Dec 9 21:55:34 2011 +0100 Added regression test Fragmentation/Automation on checking state. commit 6772ebf1a929237c6928cb6bd9c7f998b7f733e4 Author: Frederik Heber Date: Fri Dec 9 21:48:48 2011 +0100 Added regression test Fragmentation/Automation on adding jobs to Server. commit 03195ad759d9d0369860828cc4436a5ce6afbd8b Author: Frederik Heber Date: Fri Dec 9 21:39:12 2011 +0100 Added regression test Fragmentation/Automation on Server shutdown capability. - NOTE: each regression test in Fragmentation/Automation needs its own set of ports such that they may run in parallel as well. Currently, we start at port 1025 and use an offset of 5 in between tests. commit dba6d162581bd1026fa90391ce4c3c62bdde0d38 Author: Frederik Heber Date: Fri Dec 9 21:33:43 2011 +0100 Added FragmentController::getPresentJobs(). commit 0196c62295fdde1b6850b1f16abcdfffe6d46877 Author: Frederik Heber Date: Fri Dec 9 21:11:50 2011 +0100 Added Shutdown as choice to ControllerChoices. - new helper app Shutdowner that shuts down Server. - TESTFIX: Changed regression test Fragmentation/Automation where now Shutdowner is uses instead of Jobadder with 0 jobs to power down controller socket. commit e70b9dc00a22a0801131763acf7c71937581ac4d Author: Frederik Heber Date: Fri Dec 9 20:17:35 2011 +0100 Renamed regression test Fragmentation/Automation. - there are more to come and this just tests server/worker combination. commit 778abb8ccf156d1308e41e6fad137c7987dc7c8f Author: Frederik Heber Date: Fri Dec 9 19:18:14 2011 +0100 Added ResultGetter and capabilities to receive calculated results to FragmentController. - Added enum (and file) ControllerChoices that defines the state of FragmentScheduler. - depending on what is desired the Scheduler switches between these states and either receives or sends information. Requires new member variable choice because receival is of course asynchronous (see note in previous commit). - FragmentController has additional functions connect_get() and handle_connect_get() to receive results. - connect_calc() and connect_check() now just the choice whereas the actual sending and receiving is done in handle_... functions. - handle_FinishOperation() is the common final callback function for all three of these functions. - FragmentScheduler contains an internal list of delivered results. - FragmentScheduler only initiates worker socket when jobs are present. - FIX: FragmentScheduler does only send results that are done and only once. - TESTFIX: Removed third Worker that receives NoJob as socket is powered down before because queue has run empty and we haven't add new jobs. commit b9c48666be399d007fd031b2d636eba8227f227d Author: Frederik Heber Date: Thu Feb 16 17:14:38 2012 +0100 Added getAllResults() to FragmentQueue. - added convenience function ::IsPresentResult(). - this is to replace FragmentSchedulder::getResults() which relies on jobs being filled still. - added unit test on getAllResults(). commit 402bde72b40b66cbc74451c852e07802a12af199 Author: Frederik Heber Date: Fri Dec 9 21:10:53 2011 +0100 Placed initiating sockets from Cstor of FragmentScheduler into helper functions. commit 3c4a5ec6700394439a96a697b6964a634d5ec97f Author: Frederik Heber Date: Fri Dec 9 18:11:55 2011 +0100 Added ResultChecker and capability to check on computed jobs. - added handle_connect_check() to FragmentController. - FragmentScheduler::handle_AcceptController() switches between _ReceiveJobs or _CheckResultState depending on present jobs and done jobs. We use FragmentQueue::getDoneJobs() to store number of jobs handling connect. - TESTFIX: Enhanced regression test Fragmentation/Automation to use ResultChecker as well. commit db03d94db34e97b2e16df2332a1953abdf66be98 Author: Frederik Heber Date: Mon Nov 28 00:20:43 2011 +0100 Added possibility to add jobs via a FragmentController. - Server listens on another port for a controller to connect, also now has an Exitflag. - Controller can add a bunch of jobs. - JobAdder can successfully add a number jobs to Server, if 0 are sent, the socket shuts down. - TESTFIX: extended regression Fragmentation/Automation test to use Jobadder as by default Server starts with no jobs in the queue. commit 8ee5ac067548a00b728f1a0f0c9f085fbb85cd93 Author: Frederik Heber Date: Mon Nov 28 00:02:30 2011 +0100 Added function getDoneJobs() to FragmentQueue. - this allows to check on the state of calculations. commit cde0fedccbba0b6cd10bc0012657ac36bee2f2a9 Author: Frederik Heber Date: Sun Nov 27 23:57:39 2011 +0100 Placed FragmentJob, ..Queue, and ..Result into convenience library, atexit into another. - this speeds up compilation as we don't have to compile some modules multiple times. commit 9875ccf9a4c2201731b5bab9675d60bc378e1671 Author: Frederik Heber Date: Sun Nov 27 21:52:48 2011 +0100 Added FragmentQueue::pushJobs() to add a bunch of jobs simultaneously. - also extended unit test. commit 2445fbdb67fdcb7bbc91286479bf3636ac96f8b1 Author: Frederik Heber Date: Sun Nov 27 21:09:01 2011 +0100 Added private default cstor to FragmentResult. - enhanced unit test by a vector test and this made the above default cstor necessary. commit 083490d5d35f5aa2fd1a49ffc80c90fb17f5eff4 Author: Frederik Heber Date: Sun Nov 27 20:03:10 2011 +0100 Renamed default handle_..() functions of FragmentSchedulder and ...Worker. - new names resemble in what context they appear (i.e. at the end of what operation they are called). commit ef27671d6947ddc9fc6ee4fd2fbb213a4ab7174a Author: Frederik Heber Date: Sun Nov 27 19:38:26 2011 +0100 Server and Worker now also correctly exchange result. - Server uses FragmentQueue which also stores the obtained result. - Worker calls received FragmentJob::Work() function and returns the thereby calculated FragmentResult. - Regression test for Server/Worker now checks whether job #1 is listed twice, this basically checks whether the result has been exchanged. There have been some concepts to understand to get this working and these shall be briefly recorded here: - asynchronous communication can only work on objects that live beyond the scope of where they have been called, e.g. therefore FragmentScheduler contains a FragmentResult and FragmentWorker a FragmentJob instance. They receive this object and need the write access in the scope of the aync. comm. and not of the caller's scope. This is probably because the initial argument is only used to set up a buffer of correct length. However, the received instance is created/deserialized first when the communication is completed. And this may well be after the caller's scope has been left. - This is different to read operations as probably there the object to send is immediately serialized and placed into an internal buffer such that later access is only to this buffer and not to the original instance which therefore does not need to exist anymore. That's why the above Schedulder and Worker do not have the "other" instance as class members as well. - chaining asynchronous communications, e.g. a write after a read has been performed, can only be done by using the callback functions that the async_write/read gets as parameters. They are called when the one operation has finished and therein the next operation can then be launched. This way a successful chain is executed. commit 630a6e76e8fd0da3d37d517432a74ebda2a494f2 Author: Frederik Heber Date: Sun Nov 27 19:35:35 2011 +0100 Increased Verbosity for Server and Worker. commit 0bdd51bd1d38a734cb760046b677f4ee890ac7b7 Author: Frederik Heber Date: Thu Nov 24 21:34:51 2011 +0100 Added regression test for Server/Client construct. - currently we expect the Server to shut down after the queue is discovered empty. - added Exitflag and associated enum to FragmentWorker. - FragmentScheduler exits gracefully when there are no more jobs in the queue. commit a1b77dd03c096829276e87f213300eb7c4efcfdf Author: Frederik Heber Date: Thu Nov 24 21:24:07 2011 +0100 Added call FragmentJob::Work() to FragmentWorker::handle_read(). - FragmentWorker also now contains FragmentResult instance, pendant to FragmentJob. - added FragmentResult cstor with empty parameters (uses JobId::NoJob). commit 7b22e9544beb54c2218ef5e47d9851e8603c779d Author: Frederik Heber Date: Thu Nov 24 21:21:20 2011 +0100 FragmentJob now contains Work() function. - Work() encapsulates all the work to do to calculate the FragmentResult such that FragmentWorker does not need to know anything about it. - added WorkTest to unit test along with FragmentResultStub. - added FragmentResult.[ch]pp to Worker sources in Makefile.am. - also unit tests are now linked only against boost libs they really need. commit c7deca229684c7b65fd3575bfb9ad413b64a2dc4 Author: Frederik Heber Date: Thu Nov 24 20:21:52 2011 +0100 Added static NoJob (id0) to FragmentScheduler to indicate empty queue to client. - added enum to class JobId with special ids. commit b0b64c36d561d4b02ddd580dd842d288f95b6141 Author: Frederik Heber Date: Thu Nov 24 20:12:49 2011 +0100 FragmentScheduler now contains a FragmentQueue and serves single jobs therefrom. - e.g. currently we only push one job, hence only a single worker is served. Others afterwards don't receive a job. - we lack a mechanism to give feedback to the client, i.e. a pseudo job such that he knows that the queue is empty right now. Later this should then indicate a wait (for a specific amount of time). commit 12d15a837efe9a69ef0528ec526ba2adbf8f7c09 Author: Frederik Heber Date: Sun Oct 23 23:24:18 2011 +0200 FragmentQueue now allows for removal of jobs. - new static NoResultQueued states whether job has been popped, but result is missing so far. - extended FragmentQueueUnitTest. commit 57876b5bc8ae81d557361f9ed21754f1be23d432 Author: Frederik Heber Date: Sun Oct 23 22:54:34 2011 +0200 Added serialization unit tests on FragmentJob and FragmentResult. commit 02f34688f788967fdd4765560ba2cde4ccd5ba81 Author: Frederik Heber Date: Sun Oct 23 22:23:56 2011 +0200 Extended FragmentQueueUnitTest. - extended by tests on its job and result queues. commit af81f809ad4251794e6aad0bbbb5a062ccb10153 Author: Frederik Heber Date: Sun Oct 23 22:22:27 2011 +0200 FIX: FragmentQueue now obtains id of FragmentResult directly from it. commit b05673868c5ee97ab3b5a5b15c41567fc0659845 Author: Frederik Heber Date: Sun Oct 23 22:20:19 2011 +0200 Introduced JobId as an own class that Job and Result inherit. - FragmentJob and FragmentResult may thus have all other info as public, only the id has to be secured from false access. commit b5ebb569dab339861535e482277051aeb3f8943a Author: Frederik Heber Date: Sun Oct 23 21:07:41 2011 +0200 Added FragmentQueue, FragmentResult, and scaffold for unit test on FragmentQueue. commit 4b58cccfcae20f61dca5d2d18f77c1db61bb9a98 Author: Frederik Heber Date: Sun Oct 23 21:01:52 2011 +0200 JobId is now own type JobId_t. commit b14f17df0995c6157c06a55a1b9596c3ec9a9d52 Author: Frederik Heber Date: Mon Nov 21 11:01:38 2011 +0100 Renamed s11n_example executables to Server and Worker. commit e3a9c9095467adb37758c5092f95060f1fa98969 Author: Frederik Heber Date: Mon Nov 21 09:48:32 2011 +0100 FragmentWorker::handle_connect can deal with multiple endpoint resolution. commit 00a248e52e820b8b1e298f757c031943126dee7d Author: Frederik Heber Date: Mon Nov 21 09:34:43 2011 +0100 Renamed file client.cpp -> Worker.cpp. commit f7f99510d4b31a8e2923b0af4c9fc96e6ef2fa3f Author: Frederik Heber Date: Mon Nov 21 09:32:56 2011 +0100 Renamed file server.cpp -> Server.cpp. commit cd4a6e84fc65152a21053ba13c6d87bca6e724ae Author: Frederik Heber Date: Mon Nov 21 09:22:22 2011 +0100 Renamed file StockServer -> FragmentScheduler. commit 8c9596e4625116d26a89a0b50b4ed923834abde4 Author: Frederik Heber Date: Mon Nov 21 10:45:52 2011 +0100 Renamed class StockClient -> FragmentWorker. - renamed friend declaration in FragmentJob. commit 926a490eef5be0923876b74bb122c92134f2147a Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Renamed class StockServer -> FragmentScheduler. commit af3aedfa905ac3865913f9a11dba55621206e94e Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Introduced Info in several functions, replaced connection.hpp by Connection.hpp. commit c6bcd0d3471aa10310cb252b40ebb9963d2eb216 Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Added MemDebug.hpp to StockServer. commit 00d4fb757b6bdfe59277afc18c19b31bdab0cd1e Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Added MemDebug.hpp to StockClient. commit f938420ab6a003f14dcfcd95a908c111ecf80599 Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Added config.h inclusion to all Stock*. commit 31ca5f07f01e2d94689a06092d8e5b8d84a2a909 Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 StockClient and StockServer now exchange FragmentJob's instead of stock's. - for the moment StockClient is friend of FragmentJob to access contents. commit 963c3bb7ef11b28ed00b41281604dbd75f87d0d9 Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Took connection out of namespace. commit a636f8d76f52b58d724bf2ba92f76d2df9c67fd0 Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Took StockClient out of namespace s11n_example. commit 2eff32bc86b5a24a223754e4992ad808b3427255 Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Renamed client -> StockClient, split off StockClient into own module. commit 8b65727b83e15dcfd1ce88625b8a59af32e5baab Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Took stock out of namespace. commit ed2c5bf77d3337e917dab023057b5246bb07acef Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Took StockServer out of namespace s11n_example. commit 72eaf7f2ba3489095828d8e575443ea4b1731b0d Author: Frederik Heber Date: Fri Nov 18 21:29:36 2011 +0100 Implemented working s11n example from boost::asio and refactoring ... - removed Worker test example. - rename class server -> StockServer. - split off StockServer into own module. commit d0b3acad3e369a36eebdac29b1682a4b45be2baf Author: Frederik Heber Date: Fri Oct 21 18:02:54 2011 +0200 Added initial setting for creating client/server for automated fragment calculation. - we check for boost::asio in configure. - extra subdir src/Fragmentation/Automation to keep dependencies between new client/server architecture and rest of MoleCuilder as small as possible (especially compile-time wise). - small worker (hello world) program that is linked against boost::asio containing first example of asio tutorial (timer.1) to underline functionality. commit dbb533a8e99f70b7509610a615ac25dbf78b5892 Author: Michael Ankele Date: Tue Apr 10 13:52:53 2012 +0200 updated Parameters' unittests - renamed "xxxUnitTest" -> "xxxTest" (to evade naming conflicts) - removed string operations - fixed missing template s commit c6840955ef22e9d69031736a671ae0837c31572d Author: Michael Ankele Date: Thu Apr 5 15:58:12 2012 +0200 copied Parameters and template-ized commit e44956108f0bb594c7954211e93c2d0afcd3d523 Author: Frederik Heber Date: Thu Apr 12 09:31:26 2012 +0200 Set version to 1.2.4 - Molecuilder library is now 8:0:1. - Codename "Mercedes" (the W124 series is one chassis used by Mercedes in its E-class cars) commit b2c30277e29ff71804fcb5db963189440f56db52 Author: Frederik Heber Date: Fri Mar 16 13:29:01 2012 +0100 DOCU: Extended documentation on how values from the user are eventually used by Actions. - updated ValueStorage docu. commit be21faee0c27bbf2439e848bacfe01d94e55d9e0 Author: Frederik Heber Date: Wed Apr 11 18:18:23 2012 +0200 Moved getParametersfromValueStorage() call from each single Action into base class Action::call(). commit 3e93332edcd1d53ed12f703581f513aa848ed653 Author: Frederik Heber Date: Fri Apr 6 14:51:10 2012 +0200 FIX: Corrected includes of GLWorldScene and GLWorldView. commit 53059ec2dd3238b5576917fc5f3b886c51b6c88d Merge: c0ed1e7 3927ef3 Author: Frederik Heber Date: Fri Apr 6 13:59:28 2012 +0200 Merge branch 'michi-track-molecules' into stable Conflicts: src/World.hpp - World had removed NotificationType MoleculeChange but added SelectionChanged. - FIX: World::AtomPositionChanged is no more, GLWorldView listens to AtomObserver instead. commit 3927ef32aa0c52dd73d5c9a4fe5eccea8715a379 Author: Michael Ankele Date: Wed Apr 4 16:00:53 2012 +0200 GL: molecule selection boxes - only instantiated for selected molecules - no size/position changes tracked yet! commit 1ce04ba25c600a48cbc8077e87d4f752d2bdb206 Author: Michael Ankele Date: Wed Apr 4 15:59:53 2012 +0200 TYPO in comment commit a3900675b96bc0f90f73a7fecc419561b8effaa9 Author: Michael Ankele Date: Mon Apr 2 14:11:44 2012 +0200 QtWorldView: only refill on repaint commit 25b3559dab530b85b3b7f9d2ae6e4fa721bc6c45 Author: Michael Ankele Date: Mon Apr 2 13:50:01 2012 +0200 QtElementList: only refill on repaint commit 225cf5bb2323a8449a33e059ca95fcbd61c610f5 Author: Michael Ankele Date: Mon Apr 2 12:57:45 2012 +0200 REFACTOR: GL: made drawSelectionBox its own function commit 3b229e53114d9aef7a92da804468aee8149f13a5 Author: Michael Ankele Date: Mon Apr 2 12:48:10 2012 +0200 GL: made hover/selection materials static - no more getMaterial(_evil_number_) workaround commit c6751895e249ac3b8b055b048e09886c9e6b6faf Author: Michael Ankele Date: Fri Mar 30 16:59:47 2012 +0200 GL: molecules show if they're selected (mostly dummy) - adden new GLMoleculeObject_molecule class (without mesh) - draws a cube if molecule is selected (does NOT use correct position/size yet!) commit 42c6a471ef0ffc7ff153901aa28b1d9be1a5076a Author: Michael Ankele Date: Fri Mar 30 15:46:59 2012 +0200 REFACTOR: removed duplicate variable in GLMoleculeObject (m_mesh, m_GLMoleculeObject) commit 5a2a0637855ca870075b64d371bf7a586b59f786 Author: Michael Ankele Date: Fri Mar 30 12:51:02 2012 +0200 GL: sending more signals to redraw - atoms send changed() to scene when element or position changed - atoms send selectionChanged() to scene when (un)selected - bonds send changed() to scene when an atom changes its position commit d539023abf66f2db5f41891aeba4d6e409d58146 Author: Michael Ankele Date: Fri Mar 30 12:35:47 2012 +0200 GL: atoms show if they're selected commit fbb1f1abc80189e7ebceb05b7baec9b319cf4db8 Author: Michael Ankele Date: Thu Mar 29 15:38:37 2012 +0200 GLMoleculeObject_bond: dynamic bond distance via matrices commit 343a4b93ad2b4402ac08f73a701b3a94f1f4b462 Author: Michael Ankele Date: Thu Mar 29 14:37:44 2012 +0200 GL: bond tracks its atoms' position changes commit 8a77aceca34c6bfc767e485022aadcae50a7ff12 Author: Michael Ankele Date: Thu Mar 29 13:35:47 2012 +0200 GL: track atoms changing position - handles World::AtomPositionChanged - selectionMaterial commit 69643ae5440d6dddbf875a782811ee16d2941d85 Author: Michael Ankele Date: Thu Mar 29 13:11:02 2012 +0200 World: made selection changes observable commit 6e6b9000d63e415dcd88d625a8bf097ce425b880 Author: Michael Ankele Date: Thu Mar 29 13:09:40 2012 +0200 VectorQtQuery: allowing negative values commit 85a23f9feaae1467065551b93789e2310a3b6504 Author: Michael Ankele Date: Tue Mar 20 14:24:49 2012 +0100 FIX: BoxQtQuery crashed (matrix initialized as 0) commit 85b1126c465b0555e3fcf90ff8032d9abb86d60f Author: Michael Ankele Date: Tue Mar 20 14:01:11 2012 +0100 made BooleanQtQuery a checkbox commit 51b5d11f6164373b94b7c426c6fc651ad5363705 Author: Michael Ankele Date: Tue Mar 20 13:41:00 2012 +0100 FIX: missing initializers for QtQueries commit 4ddcfb56748b600772484d5b11391fec57f3d210 Author: Michael Ankele Date: Thu Mar 15 14:09:56 2012 +0100 FIX: BooleanQtQuery: missing Layout creation before use commit a14fe398b40b1b536bb476011b0c210663749bae Author: Michael Ankele Date: Thu Mar 15 13:43:54 2012 +0100 VectorQtQuery implemented commit 1de61e16ec9243406aa643aaa7f68fa60662ed77 Author: Michael Ankele Date: Tue Mar 13 14:24:27 2012 +0100 QtElementList: selection calls actions commit b14efe1ed7af1abfc8af894dcaafd29b7d110a4a Author: Michael Ankele Date: Tue Mar 13 13:58:50 2012 +0100 QtWorldView: selection in widget calls actions commit 613f8ce92dbe7aa67f0bcf2b469dc117261e6701 Author: Michael Ankele Date: Thu Mar 22 13:30:17 2012 +0100 added a selection material to GLMoleculeObject (still unused) commit 818201ca31afd939c7344a175135fb8dc1f9665f Author: Michael Ankele Date: Thu Mar 22 13:29:22 2012 +0100 added a dirty flag to QtElementList (still unused) commit 79b59b34898604a6632f6ba8004edb82aa1e19ea Author: Michael Ankele Date: Thu Mar 22 13:27:01 2012 +0100 made QtWorldView a QTreeWidget commit 575343869aa527e7b87db59d4b3951735678ab11 Author: Michael Ankele Date: Thu Mar 22 13:22:08 2012 +0100 added OBSERVE to molecule::SetNameFromFilename commit 59a28ec90c4e8631aeaf66b49d200d2e6fc3e72e Author: Michael Ankele Date: Thu Mar 8 13:41:08 2012 +0100 QtElementList improved - occurrence added - connected to molecule observer commit f20fa5eaab631780e5e575ac7150352538ba9a14 Author: Michael Ankele Date: Thu Mar 8 11:08:44 2012 +0100 made QtElementList a QTreeWidget commit 0e61565a3b23140c13eb4888983a7b3b30175141 Author: Michael Ankele Date: Tue Mar 6 17:48:08 2012 +0100 new class: QtElementList commit 244f8167b657eafd126134f5ceff42b58c2c1b05 Author: Michael Ankele Date: Tue Mar 6 14:09:48 2012 +0100 QTabWidget for worldDisplay commit c0ed1e7cacf4dc5df9d33813e1fd71b00795c4d7 Author: Frederik Heber Date: Fri Apr 6 13:31:15 2012 +0200 FIX: WorldTime::setTime only gives update when given time step is different. - this [closes #183]. commit d0037049d1e673734b6a2457d940c4d0f7c587d2 Author: Frederik Heber Date: Fri Apr 6 13:03:57 2012 +0200 FIX: Box does not notify (though update) when set conditions or matrix is the same. - TESTFIX: BoxUnitTest adapted accordingly and added checks for no notify on these cases. commit 760c4c275e5610869534aa6ad1bb5c87db08d9ae Author: Frederik Heber Date: Fri Apr 6 12:39:22 2012 +0200 Cleaned observer structure in atom. - Added new channel BondsRemoved and used in bonds removal functions. - FIX: Removed PropertyChanged for setNr and alikes, Nr is molecule's responsibility. Made note of this in documentation. commit 6a3c838abc3c19ed587d178dee4f274fb26b6f8b Author: Frederik Heber Date: Fri Apr 6 11:57:43 2012 +0200 Cleaned observer structure in molecule. - FIX: Several OBSERVE were not needed, as update trigger was already contained in sub functions called in these routines. - Added NotificationType enumeration of channels: Atom insertion, atom removal, atom nr changes, and molecule name changes. - OBSERVE and NOTIFY used in the functions only where the direct change occurs. commit d25bec3da03f889ba40af0111cab8123b30a7b9b Author: Frederik Heber Date: Fri Apr 6 11:48:08 2012 +0200 Cleaned the structure of Observers, i.e. what they report. - The boundaries between who reports on what are somewhat unclear right now, this commits fixes it and installs clear responsibilities for each of the major observer entities. - DOCU: Added section on observer construct on who reports on what. - FIX: Removed AtomPositionChanged, AtomChanged, and MoleculeChanged (unused) channels in World. commit 006e1ed7d5cc4416cfbfad21491bcfc0fcdda3ce Author: Frederik Heber Date: Fri Apr 6 13:19:10 2012 +0200 FIX: ChangeTracker has not been observing AtomObserver so far. - This is introduced due to cleaning of observer structure. - FIX: Cleaned ChangeTracker declaration from false includes. - FIX: TextWindow.cpp lacked include World. - TESTFIX: All Parser...UnitTest needed to purge AtomObserver instance. commit 23fd4308ecfb01cade133b122c6e3e4b440e3141 Author: Frederik Heber Date: Fri Apr 6 12:09:07 2012 +0200 FIX: TremoloParser now contains usedFields_load and _save to allow for multiple loading. - refactored several functions out of ::save(). - parseAtomDataKeysLine() and isUsedField now require usedFields ref. - FIX: save() now erases duplicate entries still in usedFields. - removed setFieldsForSave(), was duplicate of setAtomData(). - new function makeUsedFieldsUnique() to preserver order of appearance in usedFields. - this [closes #141]. - FIX: made several function parameters constant that were not before. - FIX: Removed double readAtomDataLine(). commit 531f27764dc2eabbcb727eb49be1867ac1257e30 Author: Frederik Heber Date: Thu Apr 5 10:53:23 2012 +0200 Added SaveSelectedAtomsAsExtTypesAction that creates a tremolo-specific .exttypes file. - the functionality is implemented in TremoloParser. - it is required to perform a save on the atoms before such that ids are correct. - the actions tells whether ids are valid or not. - also added regression test Parser/Tremolo-Exttypes. commit 80ca2949199193b6a0fde7517836465c5a7a214a Author: Frederik Heber Date: Thu Apr 5 17:42:12 2012 +0200 Added regression test Filling/RegularGrid with and without a tesselated surface. - also repaired FillRegularGridAction such that do/undo/redo works. commit 72e4c95aeeec393ae183fcfb6ed2cebda6d50771 Author: Frederik Heber Date: Fri Apr 6 12:34:16 2012 +0200 tempcommit: regression tests Filling/SphericalSurface Undo/Redo were still marked XFAIL. Merge with ... commit af9be32aa2e588261aae3f3bcec741a12087b34c Author: Frederik Heber Date: Thu Apr 5 16:09:17 2012 +0200 Added BondInfo to store bond's state information for later re-instantiation. - also added StoreBondInformationFromAtoms() and AddBondsFromBondInfo() to UndoRedoHelpers. commit 06070b7a13e23eedd9701b62d229b17677769304 Author: Frederik Heber Date: Thu Apr 5 14:53:38 2012 +0200 AtomicInfo now also stores and restores the bond state information for the atom. commit cc9119798652998bbd0707a1ab96db1b98d7aa9d Author: Frederik Heber Date: Thu Apr 5 14:51:22 2012 +0200 Refactored BondedParticle::removeAllBonds() into variant with and without time step. commit 42b6de7c684d4c908777f116dccaf00a8e479cf2 Author: Frederik Heber Date: Thu Apr 5 11:38:33 2012 +0200 Filler::operator() has param vector of Cluster's that is filled with inserted ones to allow for undoing. - FillRegularGrid and FillSphericalSurface have undo and redo functionality based on the returned vector of Cluster's and UndoRedoHelpers. commit 57dd40cda8082273cb21c69bba6a7c8b5a561fca Author: Frederik Heber Date: Thu Apr 5 11:37:13 2012 +0200 Extracted removal and adding of atoms from AtomicInfo to UndoRedoHelpers module. - this way atoms can be quickly re-created, removed from AtomicInfo state information. - added ResetAtomPosition(). - RemoveAction makes use of this. commit 91be2dbe71d6dc407a0ef58370bc1566d7b01d91 Author: Frederik Heber Date: Thu Apr 5 11:53:46 2012 +0200 Added Undo/Redo check to regression test Filling/SphericalSurface. - both are maked as XFAIL right now. commit 4187a74c602e4565e9e0fb1929d48384d6792cc5 Author: Frederik Heber Date: Wed Apr 4 16:17:22 2012 +0200 Removed MoleculeAction/CreateMicelleAction, is replaced by FillAction/FillSphericalSurfaceAction. - TESTFIX: removed regression test Molecule/CreateMicelle. - TESTFIX: created Filling/SphericalSurface. commit cb76762d774e30e4704076d9c68d27765141559d Author: Frederik Heber Date: Wed Apr 4 13:16:14 2012 +0200 FillSphericalSurface now works on selected molecule and requires an alignment axis. - the axis is used to perform the rotation assuming the filler molecule is oriented on this direction. - also, it now uses CopyAtoms_withBonds. commit 93eae3672fe61ef67bd3ca7888779afb308aa2e0 Author: Frederik Heber Date: Wed Apr 4 13:12:18 2012 +0200 Added new Inserter working on surfaces of Sphere's. - We also align the given filler Cluster along the surface normal direction. - Note: Filler nodes may only reside on the Sphere's surface. commit 50c35d7a80a86a8cda3eba3bc522fa468ed79feb Author: Frederik Heber Date: Tue Apr 3 15:32:46 2012 +0200 Added Line::getRotationMatrix() and RealSpaceMatrix::setRotation(Vector,double). - setRotation() now allows to set a rotation matrix about an arbitrary axis. - Line::getRotationMatrix() just forwards to RealSpaceMatrix::setRotation() with its direction. - added (simple) unit test function for both. commit 2db05382555a391b8fe4741acd08266bfc330545 Author: Gregor Bollerhey Date: Thu Mar 29 19:18:16 2012 +0200 Added action to fill selected atoms on sphere surface. commit f4cfb689eb8b160e2dc0434074efead7fdc8c8e0 Author: Gregor Bollerhey Date: Thu Mar 29 19:16:24 2012 +0200 Mesh adaptor to reuse sphere-shape for new filler action. commit 4a4f3d8ce22775957b51c385fd5f8d8a6fb427cc Author: Frederik Heber Date: Thu Apr 5 11:54:12 2012 +0200 Added regression test Filling/RegularGrid with undo, redo. commit 6aad6f855826b41c7c32b3b3c9706d5adbcf9acd Author: Frederik Heber Date: Thu Apr 5 13:29:26 2012 +0200 FIX: molecule::containsAtom() is now const and has const param, added AtomIdSet::contains(). - AtomIdSet::contains() is predicate to whether id is contained, added unit test function. - also added molecule::containsAtom() on atomic id only. commit 57f7434125c2e5fda6c02a28c72e221dd66f64d9 Author: Frederik Heber Date: Wed Apr 4 15:56:54 2012 +0200 FIX: AtomIdDescriptor was not using internal_iterator but full ObservedIterator. - this causes messy update()-cascades because on destruction of the iterator during the find, which is e.g. used by AtomIdSet::const_iterator(!), an Observer signal was triggered. - NOTE: In Descriptors we may _always_ use internal iterators, as this never does any harm to the World with respect to insertion/removal of atoms or molecules. - this [closed #182]. commit b98a32c9973063fcbc69b436a08b1405b9df5ce1 Author: Frederik Heber Date: Tue Apr 3 16:31:03 2012 +0200 FIX: Some fixes to Resize_Impl functions. - replaced 1/ by 1./. - volume and surface area are size to the power of three and two, respectively. commit c4864173a791cccb5a29c6f251b4e9352b31020f Author: Frederik Heber Date: Tue Apr 3 16:29:31 2012 +0200 FIX: ShapeOps::getHomogenous...() were not working. - replaced for_each by transform (the latter actually replaces). - also by using ShapeOpsBase_Impl::translateOutPos() we can implement the getHomogeneous...() functions more generally inside ShapeOpsBase_Impl instead of specifically for each Shape operation. - added Implementation of getHomogenousPointsOnSurface unit test function. commit 5cdd83b4ee7182af3e7f1f1dc01d45d7e02916a2 Author: Frederik Heber Date: Thu Apr 5 11:38:02 2012 +0200 FIX: AtomicInfo.hpp lacked some inclusions, had only forward declarations. commit b3d687bc878019a08e899000aa1d38119f390058 Author: Frederik Heber Date: Thu Apr 5 10:14:13 2012 +0200 FIX: Filler::operator() did not create a molecule for each cloned cluster. - so far we assume (in AtomicInfo) that each atoms always belongs to a molecule. However, the CopyAtomsInterface copies without creating new molecules or associating copied ones with the old molecules. - AtomicInfo asserts that atom is associated to a molecule. - CopyAtoms_withBonds now associates cloned atoms with molecule of original atom. - Filler::operator() creates a molecule for each cloned cluster and associates all atoms in the cluster with it. - This [closes #180]. commit 2598874de68fdc051204a1835045f988d021c922 Author: Frederik Heber Date: Thu Apr 5 09:55:23 2012 +0200 FIX: XyzParser stumbled over empty comment line. - FormatParser< xyz >::load() used operator>> and ws but this skips over the newline characters if only whitespace follows. Now we use getline. - added regression test part on the issue to Parser/Xyz/...load-various. - This [closes #181]. commit 2034f3c5f9db8e8024a0f4db0cd3d1231e98ac24 Author: Frederik Heber Date: Tue Mar 27 14:37:05 2012 +0200 Added AtomInfo::charge along with getter and setter. - charge is used by both TremoloParser and XmlParser, hence needs to be exchanged. - Added charge to state info in AtomicInfo. - TESTFIX: regression tests Molecules/Copy, Molecules/CreateMicelle, and Filling/FillVoidWithMolecule's tensid.data file had to be changed due to present Charge info with precision different to the one arising from new AtomInfo::Charge. - removed ParserXmlUnitTest from XFAIL_TESTS. commit 3d0892b89b1f6f981cce9898d7abd17bfafd158f Author: Frederik Heber Date: Mon Mar 26 11:59:32 2012 +0200 Added an additionalAtomInfo container to XmlParser. - this stores the parser-specific information such as charge, ... commit d2596bcb8a99e3a32ebcb51e123bd7fed8235a16 Author: Frederik Heber Date: Sat Mar 24 17:39:43 2012 +0100 Added XmlParser for parsing configurations for ScaFaCoS generic test code. - XML is parsed via pugixml which is placed in subfolder pugixml in src/Parser. - NOTE: pugixml does not import/export double with high enough precision. Hence, we always obtain strings and convert them ourselves. - also added unit test on the new parser. - NOTE: Unit test is failing as charges are not yet written correctly, hence marked as XFAIL. commit 613da6b478df78ec98ab183a9a9bd735adf14586 Author: Frederik Heber Date: Sat Mar 24 17:39:04 2012 +0100 Added check for boost::property_tree to boost.m4. commit ed26ae0a32a705778541a63922f7ba79f0840079 Author: Frederik Heber Date: Mon Mar 26 10:06:19 2012 +0200 Renamed calls to element::getNumber() -> ::getAtomicNumber(). - dropped element::getNumber() as getAtomicNumber has same functionality. commit 47ed3dbe85194f82787c9dcd9efa83fae922b213 Author: Frederik Heber Date: Mon Mar 26 09:48:22 2012 +0200 Removed some old output functions in element, Formula, and molecule. - This is preparatory for refactoring element into a more general concept that can contain both chemical and derived elements suitable for empirical potential parametrization storage. - Removed functions in element: Output(), Checkout(). - Removed function Formula::checkOut(). - Removed function molecule::Checkout(). - functionality added to periodentafel::OutputElement(). commit 03a58974943974bda29e50e38854002e694c2f07 Author: Frederik Heber Date: Mon Mar 26 09:44:19 2012 +0200 Removed lots of remnant output functions in atom and molecule that are not used anymore. - Removed functions in atom: OutputMPQCLine(), OutputPsi3Line(), OutputXYZLine(), OutputTrajectories(), OutputTrajectoryXYZ() - functionality of outputters has been shifted to Psi3Parser and MPQCParser. - Removed functions in molecule: OutputTrajectories(), OutputTrajectoriesXYZ(), OutputXYZ() - Removed in CounBondsUnitTest: OutputTestMolecule(). commit ce7bfd57176b8ad23e9bfcc393a41c4798df77ed Author: Frederik Heber Date: Tue Mar 13 20:35:15 2012 +0100 VERBOSE: Subsequent change in verbosity levels of many tesselation functions after Info removal. commit 2a3124b519027c588e363ec4c5a44171b4715777 Author: Frederik Heber Date: Tue Mar 13 18:35:01 2012 +0100 VERBOSE: Removed lots of Info objects in tesselation classes member functions. commit e791dcfb33d9e278cc697cebebb3ec5731abcfe9 Author: Frederik Heber Date: Tue Mar 13 18:52:00 2012 +0100 Removed molecule::doCountAtom() and added molecule::doCountNoNonHydrogen(). - since the conversion of molecule to being a container for a set of atomicId_t counting atoms is just an unnecessary O(N^2), since we count through all of them. With atomIds.size() however the number of atoms is always known. - Hence, moleucle::AtomCount is no longer a Cacheable, but NoNoHydrogen is now such a one. LazyEvaluation is only sensible when the evaluations are few. Due to updates from the GUI however, atomcount is constantly requested. - FIX: removed doCountAtom() calls in some functions in analysis_correlation. commit 1089686f4e347a12c5cb5f631aeaa4c165a9f3c0 Author: Frederik Heber Date: Tue Mar 13 18:37:53 2012 +0100 FIX: Rewrite of BondGraph's CreateAdjacency() and getMaxPossibleBondDistance(). - getMaxPossibleBondDistance() is not templated anymore but expects simply a set of atomicNumber_t. - new helper function BondGraph::getElementSetFromNumbers() which converts a set of atomicNumber_t into a set of elements. - createAdjacency now prepares initially the set of atomicNumber_t and from it the set of elements such that no further element lookups are necessary except once for each atom's element. commit 08a0f52718bbbbe42fd8618c1e90effd0fc6eabb Author: Frederik Heber Date: Tue Mar 13 18:36:46 2012 +0100 AtomInfo has new functions getElement() and getElementNo(). - getElement() shall replace getType() which still returns a pointer instead of a reference, is marked as deprecated. - getElementNo() is a faster way if only the atomicNumber_t of the atom is desired as no lookup in the World is necessary. commit ccb487ddab59ad8050ce40929874510f2d9454f0 Author: Frederik Heber Date: Thu Mar 15 18:29:54 2012 +0100 TremoloParser now always writes current domain as "# Box ..." into file. - This is important, as format tremolo is essentially also a domain preserving type (i.e. tremolo reads Box from .data file). - TESTFIX: The following regression tests have a "' Box ..." line added to their .data files: Domain/RepeatBox, Filling/FillVoidWithMolecule, Molecules/Copy, Molecules/CreateMicelle, Parser/Tremolo-SetAtomdata. - FIX: Forgot to add testsuite-fill-void-with-tenside-molecule.at to Makefile.am commit a275b3f9d246781dcbb1eae64f444246f68aad00 Author: Frederik Heber Date: Mon Mar 12 16:11:36 2012 +0100 TremoloParser uses ElementKeys. - functions parseKnownTypes() and createKnownTypesByIdentity() relay to respective functions in ElementKeys. - TremoloParser::readAtomDataLine() catches IllegalParserKeyException to inform the user of .data with insufficient .potential knowledge. commit d9005c16a207bbd7364238aaf6dfaa1afe18b7cb Author: Frederik Heber Date: Mon Mar 12 16:08:21 2012 +0100 Extracted TremoloParser::knownTypes into distinct class ElementKeys, and added ParserExceptions. - added Exceptions.hpp to folder Parser with currently only exception IllegalParserKeyException. - ElementKeys contains map that parses contents from file and may set identity mapping based on periodentafel's elements. - getter and setter throw IllegalParserKeyException. commit ebc499bb1355679f4fc65d57497f95261d93f328 Author: Frederik Heber Date: Mon Mar 12 18:02:52 2012 +0100 Added InvertMoleculesAction and InvertAtomsAction. - World has two new functions invertAtomSelection() and ..MoleculeSelection(). - these actions are needed to get some of the boolean operations working that are possible inside the code but not outside. Concatenated selections are on the command-line always combined as OR and never as AND, via an invertion operation, we may combine these into an effective AND combination. - also added regression tests Selection/Atoms/InvertAtoms and Selection/ Molecules/InvertMolecules. commit 61c364e5234bfac462d451e14f2d8a128787f6bb Author: Frederik Heber Date: Fri Mar 23 09:40:39 2012 +0100 Added AtomOrderDescription along with SelectionAtomByOrder. - added unit test function AtomOrderTest on new descriptor. - added regression tests Selection/Atoms/AtomByOrder. - TESTFIX: Enhanced moltest.py and moltest_check.py by catching ValueError, when lines in options.dat are faulty. commit 8de597c3fb205163fbb84791b76d54a43062db72 Author: Frederik Heber Date: Thu Mar 1 14:56:51 2012 +0100 FIX: FileQtQueryPipe demanded QFileDialog::ExistingFile. - for InputAction also non-existing files are allowed. commit 2935fddcbade4d132f34943ad80b643b77283a4b Author: Frederik Heber Date: Mon Apr 2 13:09:47 2012 +0200 Set version to 1.2.3 - Molecuilder library is now 8:0:0. - Codename "Serpens Cauda" (yellow dwarf star system 123 light years away, containing HD 168443b/c, two extrasolar planets). commit 510f8114d39633be815ec5bf2eb8bf42f5b30f6a Merge: 0f44e1b 22425a9 Author: Frederik Heber Date: Mon Apr 2 12:35:51 2012 +0200 Merge branch 'Fix_Tesselation_InsideOutSideUnitTest' into Candidate_v123 commit 22425a9c1deaa6c8fe8844c40fe08d87a46164b9 Author: Frederik Heber Date: Mon Apr 2 12:34:03 2012 +0200 DISTFIX: Tesselation_InsideOutsideUnitTest still wrote temporary file. commit 0f44e1b5c2cc3d04152871c13aae2b663dd50a45 Author: Frederik Heber Date: Mon Apr 2 10:34:35 2012 +0200 Added CodeCheck on header files forgotten to put into a Makefile.am commit 7256a22b879c94a26db88606e94c6dd807033fd5 Author: Frederik Heber Date: Mon Apr 2 10:18:10 2012 +0200 DISTFIX: Forgot to include various header files in Makefile.am's. - Shapes/ShapeType.hpp was missing in Makefile.am. - Forgot to add Filling/ClusterInterface.hpp to Makefile.am. - src/LinkedCel/LinkedCell_Model_inline.hpp was not present in Makefile.am. commit 896f4a7ada6369e3572c881c6619a64461c0de07 Author: Frederik Heber Date: Thu Mar 29 10:21:47 2012 +0200 FillRegularGridAction now uses RandomInserter to fill in the clusters. - FillRegularGridAction has three new parameters taken over from FillVoidWithMoleculeAction. commit 48ab414c9528b756853528365f66102bc5b91219 Author: Frederik Heber Date: Thu Mar 29 10:21:35 2012 +0200 Implemented working RandomInserter. - we copy&paste most of the routines from boundary.cpp use in the filler functions there. This is to eventually remove these from boundary.cpp. commit 4fbc4eb3e954566cda24e1994d562cd588d3d6df Author: Frederik Heber Date: Wed Mar 21 11:13:39 2012 +0100 FIX: Filler::operator() now shifts filler cluster out of domain before evaluating predicates. - Note, we only move the atoms outside, not the shape. commit e32fa633df40b948e4d2e8a829385c51a6f7d34c Author: Frederik Heber Date: Tue Mar 27 15:53:10 2012 +0200 Modified Filler:operator() such that Inserters only modify position, not clone. commit 68abe5f58a8e654ce9fa978466f421b7b52a0fa0 Author: Frederik Heber Date: Tue Feb 21 15:27:21 2012 +0100 Made Inserter::operator(), Filler::operator() return bool, used by FillRegularGridAction. - true if at least one node is filled. - this is preparatory for allowing Inserter to insert and not clone only. commit f61f610060cf4f27c505a50acd437f8a6b56abf8 Author: Frederik Heber Date: Tue Feb 21 14:55:58 2012 +0100 Refactored implementation of Inserter into pimpl pattern. - this is then much more similar to Predicate. commit 901d8728439c01d409375e1e3f5d042c4d2d7bb6 Author: Frederik Heber Date: Tue Feb 21 14:27:44 2012 +0100 Refactored insertion of cluster into Inserter class. - this is to allow for random variations and alike with arbitrary inserters. - Filler now requires an Inserter in cstor which is used when placing a cluster at a specific node. - the Inserter::operator() uses CopyAtomsInterface to pass on to Cluster::clone(). - FillRegularGridAction uses SimpleInserter now. - TESTFIX: FillerUnitTest uses SimpleInserter, too, now. commit dba7b09bd997e1ce6c6342031daa75dfc481bfc0 Author: Frederik Heber Date: Wed Mar 21 11:20:18 2012 +0100 Extended filling documentation for Inserter. commit da1e9282f7aecf587880d71ca5531b04c643fa70 Author: Frederik Heber Date: Mon Jan 30 12:06:59 2012 +0100 Shape::getVolume() and ::getSurfaceArea() use Approximators if implementation returns -1. - We use the approximators via tesselation for surface area and via a stupid Monte Carlo integration for the volume. - implemented stubs to use with Shape unit tests. commit 4c6e70b2ccc22ff8e07d3429981f902de285f40e Author: Frederik Heber Date: Mon Jan 30 12:05:27 2012 +0100 Added functors for calculating surface area and volume of a Shape. - These are implemented as functors to avoid that Shape and especially its library become dependent on Tesselation and other libraries. - Added heuristic for point density to ApproximateShapeArea. - ApproximateShapeVolume uses RealSpaceMatrix directly and does not Box::translateIn(). commit 595cfd9cce8dca421ed34314c2b4e9cb33b6d8ef Author: Frederik Heber Date: Thu Jan 19 16:40:33 2012 +0100 Added NodeGenerator. commit c67c65d4e13897fc13b0c5ff2c63be4e582854c9 Author: Frederik Heber Date: Mon Jan 30 09:18:04 2012 +0100 Added preliminary getVolume() and getSurfaceArea() implementation to all Shapes. - only BaseShapes are truely usable, the rest is mostly marked as TODO. - the problem is that intersections are not so easy to handle. Probably, we have to use polygonal intersections there and approximate volume calculations. - the functions return -1 when not implemented yet. this is preparatory to start approximate calculations at the top node of the Shape "graph" if -1. is returned from the implementation. commit 7672551588bebb7aede173ab33a7c92d8ee6bed7 Author: Frederik Heber Date: Mon Jan 30 09:14:10 2012 +0100 Split off class definition of LinePoint from module Line.cpp - added documentation section on the lines. - some changes due to new include LinePoint.hpp. commit e9ad4343d882a9eb00d1566d22d9d03580a62a77 Author: Frederik Heber Date: Wed Mar 21 11:36:49 2012 +0100 FillRegularGridAction now expects the filler as selected molecule, all selected atoms are tesselated. commit 345eda8ba424c9dbb13488e397cd25c45027d9bc Author: Frederik Heber Date: Tue Mar 6 16:20:13 2012 +0100 Enhanced FillRegularGridAction to avoid tesselated surfaces. - selected molecules (if any) are now tesselated ans !IsInsideSurface is used to only fill outside. commit 5a4cbcba2db951efef5711b10c3f27755464e607 Author: Frederik Heber Date: Thu Mar 1 17:40:31 2012 +0100 VERBOSITY: Increased verbosity threshold of some outputs connected to FillRegularGridAction. commit a884522bcc22ba620339ea5c6358f0408ce9007d Author: Frederik Heber Date: Fri Jan 20 02:29:57 2012 +0100 Added new Action subfolder, menu, and CommandLine options map, and FillRegularGrid Action in it. - counts, offset and min-distance as parameters that determine the filling. - we find bounding sphere for the selected set of atoms. - CopyAtoms_withBonds is used in cloning the cluster. - libMolecuilderFilling added to libMolecuilderUI. commit d505a3699ad22730219478f69fe1a8ad8b608c2f Author: Frederik Heber Date: Thu Jan 19 16:40:18 2012 +0100 Added Filler as general method of filling a Shape. - Filler::operator()() requires CopyAtomsInterface ref as param. - added unit test that creates cluster of two atoms and fills a row of nodes. commit 5d81e514140621e03b61d2bd770397f6d45321d3 Author: Frederik Heber Date: Fri Jan 20 02:33:40 2012 +0100 Added CubeMesh derived from Mesh. - contains a count and a offset Vector, along with a transformation matrix: - the transformation is to scale the internal cube. - counts is the axis partitioning, offset changes between 0 and 0.5 and 0.5 and 1 in a partitioning of 2. commit dd3f4f0b89cda87be8279908c39849664ab7067a Author: Frederik Heber Date: Thu Jan 19 18:02:02 2012 +0100 Added class Mesh for containing a set of Shape-filling Vectors. commit 8f6e2a881f918244cc0e6fc08507dc72a81dcf74 Author: Frederik Heber Date: Tue Jan 17 22:06:35 2012 +0100 Added new class Cluster as atomIdset with a Shape. - inherits ClusterInterface. - its clone() requires CopyAtomsInterface ref. - implements getShape(), transform(), and translate(). - added unit test. commit 9e5a306c82483ea0f88a098c86376beb12c62ffe Author: Frederik Heber Date: Wed Mar 28 10:59:32 2012 +0200 Added ClusterInterface. - this is preparatory for using a Cluster as possible atom sets. - ClusterInterface has getShape(), transform(), and translate(), also its clone() requires CopyAtomsInterface. commit 7adddc77959cfcd6ae003aa73f30942d2e1c3c35 Author: Frederik Heber Date: Thu Jan 19 16:41:30 2012 +0100 Added IsInsideSurface_FillPredicate - added unit test. commit 83fd7d028ca39a4cd002c097850aa966f267121e Author: Frederik Heber Date: Thu Jan 19 16:43:13 2012 +0100 Added Ops_FillPredicate. - added unit test. commit baac793b97fbf4371eca521187baa79207499a83 Author: Frederik Heber Date: Thu Jan 19 16:41:45 2012 +0100 Added IsVoidNode_FillPredicate. - added unit test. - added documentation and verbosity to IsVoidNode() and IsVoidNode_FillPredicate(). - creates a LinkedCell_view that is copied when bound to IsVoidNode(). commit 6499b1ee9307f8ecc39caafba8f8083e036a4bd0 Author: Frederik Heber Date: Thu Jan 19 16:46:41 2012 +0100 Added IsInsideDomain_FillPredicate. - added unit test. commit 600a5296c7fb2bdb5ffe9f184edc5632d2acb442 Author: Frederik Heber Date: Thu Jan 19 17:27:42 2012 +0100 Added IsInDomain_FillPredicate. - added unit test. commit b00ab1b88d1ad76942e82e3eece9355ea217a2d7 Author: Frederik Heber Date: Thu Jan 19 16:16:09 2012 +0100 AnyFillPredicate takes a specific boost::function as predicate. - this will allow us to pass on specific boolean function that are used via boost::bind to serve as predicates, embodied in this class. commit 9c2cb38007f3f87ae0e49da9d30c337eac0660af Author: Frederik Heber Date: Thu Jan 19 16:40:58 2012 +0100 FillPredicate is working base class, where FillPredicateBase.hpp is the underlying interface. - FillPredicate is alike to Shape in design, containing a implementation pointer which has all the functionality and we just point to it. commit 0d57cbe09325913fcef9dcef6d7f542ede6e61b5 Author: Frederik Heber Date: Wed Jan 18 01:21:07 2012 +0100 Added Node and NodeSet for a position and a vector of Positions. commit b380ed238b7e9f275cf94f77da35860808083f3b Author: Frederik Heber Date: Tue Jan 17 15:57:37 2012 +0100 DOCU: Added concept for new construct Filling. commit 9e1d01415f93be121370a5079d969cb2451872f0 Author: Frederik Heber Date: Wed Mar 21 10:34:00 2012 +0100 Added CopyAtoms structure. - this creates a copy of a vector of atoms with as much depth as desired by the user. - this is a hierarchy of functors that each add additional functionality such as also re-creating the bonds, ... commit c67ff9c421296109fd402e1c2e1890d090d2777f Author: Frederik Heber Date: Wed Mar 21 12:56:06 2012 +0100 Added molecule::getBoundingShape() and unit test MoleculeUnitTest on it. - We now simply have a function to get a sphere as a suitable bounding shape which allows easy construction of a new cluster. commit 8e1f9015fa26331d074f80396b4d0f473847dc93 Author: Frederik Heber Date: Wed Mar 21 12:41:02 2012 +0100 molecule uses AtomIdSet now, rename getAtoms -> getAtomIds(). - molecule now relies on AtomIdSet functions, only insert() and erase() have own functionality to set the molecule internal id and the atom name. - FIX: removed MoleculeDescriptor include, added to Fragmentation and DepthFirstSearchAnalysis. commit 5e65342e2c81c65880890589b38aca41fb13097c Author: Frederik Heber Date: Tue Feb 21 16:45:02 2012 +0100 Refactored transform_iterator out of class molecule as AtomIdSet. - also added unit test. commit d927abb3d77a2859e44f0802e7b32cf4c5385ec6 Author: Frederik Heber Date: Thu Mar 22 18:39:02 2012 +0100 Renamed AtomByShape -> AtomsByShape and speedup due to LinkedCell usage. - since each Shape implements Shape::getRadius() and ::getCenter(), we may use the LinkedCell construct to obtain a smaller neighborhood faster. commit 3e1b7b6bbc335f8797e72e3edc99ef7639f3b319 Author: Frederik Heber Date: Tue Mar 27 15:27:22 2012 +0200 Added regression test on select-atoms-inside-sphere with a small radius. - this is to test a subsequent implementation using LinkedCell and whther it is faster. commit 5a8d6181d9ecac92ad0fd935c5788630721f55b0 Author: Frederik Heber Date: Thu Jan 19 01:55:04 2012 +0100 Added new function to all Shape: getHomogeneousPointsInVolume(). - basically it is not implemented except for ShapeOps, yet. - there is an initial unit test Shape_HomogeneousPointsUnitTest. commit 6acc2f3a1b46ec7dee426fa502fd350592a2d3b5 Author: Frederik Heber Date: Wed Jan 18 21:17:24 2012 +0100 Added getCenter() and getRadius to all Shapes. - also extended unit test. - Added test functions to ShapeOpsUnitTest. commit 84721b64723f4546ae9f3f1785703ef9fc47d7ed Author: Frederik Heber Date: Wed Jan 18 21:47:29 2012 +0100 Added new unit test ShapeOpsUnitTest, testing all ShapeOps. - BUGFIX: Stretch_impl() cstor had 1/... not 1./... for reciFactors. commit 571d048445007f27e1ef0c620af6a034eacacef7 Author: Frederik Heber Date: Wed Jan 18 21:25:30 2012 +0100 Renamed ShapeUnitTest -> BaseShapesUnitTest. commit 735940a1f921b67951e76dc118fcdac077fea6ab Author: Frederik Heber Date: Wed Jan 18 21:15:48 2012 +0100 FIX: Made practically all Shape... member functions const. - Shape: isInside(), isOnSurface(), getNormal(), getLineIntersections() - ShapeOps: translateIn(), translateOut(), translateOutNormal(), isInside(). commit b92e4abd2c9d2269cf58be33cf7cd809f3e304bd Author: Frederik Heber Date: Wed Jan 18 01:21:51 2012 +0100 Shape identify themselves via an enumerated Type. - this is required lateron for preparing Mesh class out of a given Shape. commit 6a7fcbb3e0bb0faf7b7f53598e63aac469a4434d Author: Frederik Heber Date: Thu Mar 15 14:16:21 2012 +0100 FIX: Rewrote BoundaryTriangleSet::GetClosestPointInsideTriangle(). - was broken before, see failing unit test, as it returned points not inside the triangle (however on the plane). Now, we rely on getClosestPoint of Space and derived classes. - TESTFIX: Removed Tesselation_BoundaryTriangleUnitTest from XFAIL. commit c27ce78e851407f0f868250263487f54ca132cde Author: Frederik Heber Date: Thu Mar 15 14:10:31 2012 +0100 BUG: Added another specific case to Tesselation_BoundaryTriangleUnitTest. - test case is again from larger filling example. - Note that this fails with current implementation of ::GetClosestPointInsideTriangle(). - TESTFIX: Marked test as XFAIL. commit 6dc3fe8a7a2543b61c47087c39d807556f435119 Author: Frederik Heber Date: Wed Mar 14 21:36:47 2012 +0100 Enhanced Tesselation_BoundaryTriangleUnitTest by check on ::GetClosestPointInsideTriangle(). - checking on rotated triangle as well. commit 70a0bab4c416abe9213d25fb8105b8fec94a70e9 Author: Frederik Heber Date: Thu Mar 15 14:50:00 2012 +0100 FIX: LINALG_MYEPSILON is too high for certain tesselation operations such as in triangleinsectionlist. - LINALG_MYEPSILON ist now numeric_limits*1.e+4. - TESTFIX: This fixes failing test in Tesselation_BoundaryTriangleUnitTest. commit 03a713a76a3c824e6837e1d3899ef50841b38fbe Author: Frederik Heber Date: Thu Mar 15 14:49:06 2012 +0100 BUG: Added failing test case to Tesselation_BoundaryTriangleUnitTest. - test case is from larger filling example. commit 471dece7cc1b45cf20a25bfe33c2a44ddf8b481f Author: Frederik Heber Date: Wed Mar 14 21:22:42 2012 +0100 Added BoundaryTriangleSet::IsInsideTriangle(). - this is preparatory for finding a bug in GetClosestPointInsideTriangle(). - refactored in-test triangle creation into distinct function. - added extensive unit test on this function. commit 368207d37f01a6b6632259661bf2b1af61b2c0e5 Author: Frederik Heber Date: Wed Mar 14 18:53:59 2012 +0100 FIX: Incorporated special case affecting TriangleIntersectionList::IsInside(). - If the closest points happens to be a TesselPoint of the boundary, all of its triangle's SKPs with the intersection-point vector have to be checked. As the point is only inside, if all of them are negative. - TriangleIntersectionList DistannceList is now a multimap, to allow for multiple triangles at the same distance. - Now TriangleIntersectionList::GetIteratortoSmallestDistance() goes through all entries at the same smallest distance and returns the first whose SKP is positive, otherwise the first. - TESTFIX: This fixes failing Tesselation_InsideOutsideUnitTest, hence removed it from XFAIL_TESTs. commit 53bc04e0e0eb7869d30d001ac78ff41913c780fc Author: Frederik Heber Date: Wed Mar 14 15:16:40 2012 +0100 BUG: Added spherical and non-convex test cases to Tesselation_InsideOutsideUnitTest. - we now test not only on cube, but also on sphere and a non-convex shape. - creation is generalized to allow for different shapes, also we use extension of VectorSet to allow for transformations. - TESTFIX: Added Tesselation_InOutsideUnitTestto XFAILs. Merge with enhancement of the test. commit f6ad4dcceb2ec138a73ad4dea9d2a998a5e21a06 Author: Frederik Heber Date: Wed Mar 14 17:14:03 2012 +0100 Added copy cstor from Set to VectorSet and VectorSet::transform(). - VectorSet::transform() required that Vector.hpp did not contain using namespace anymore. - Copy cstor allows to create from e.g. a std::vector a VectorSet and then use the functions contained. - added unit tests on both. commit 418b5e0fc8fe4887a7a0b6cf5a74cd0a7c5e80d7 Author: Frederik Heber Date: Wed Mar 14 17:18:30 2012 +0100 Added verbosity to some tesselation functions. - added exception catch to Tesselation::FindStartingTriangle(). - also added verbosity to TriangleIntersectionList::IsInside(). commit cc21cdf3ae7333553452e11b90d3c2b214c166ea Author: Frederik Heber Date: Mon Jan 30 12:09:06 2012 +0100 Added Tesselation::operator() that performs a tesselation on a given IPointCloud. - also changed unit tests TesselationUnitTest and Tesselation_InsideOutSideUnitTest to use the new function in setUp(). commit bdf6c8a7439f52e0c190c2ba42725d8be969436a Author: Frederik Heber Date: Mon Jan 30 12:08:46 2012 +0100 Added getter for surface area to class Tesselation. commit ee0032c6a09dfcf7548908b02426be6ecf812b72 Author: Frederik Heber Date: Mon Jan 30 10:33:06 2012 +0100 Extracted VolumeOfConvexEnvelope() from boundary and placed into class Tesselation. - parameter config replaced by boolean IsAngstroem. commit 64b197aba26bbb0356392272af6cee97e1086726 Author: Frederik Heber Date: Mon Jan 30 10:28:21 2012 +0100 Added getArea() function to BoundaryTriangleSet. - this is taken from boundary.cpp's VolumeOfConvexEnvelope(). commit 12c4cb0ce0eba7e7215be478cf3ddd00eae6f263 Author: Frederik Heber Date: Thu Mar 22 18:37:28 2012 +0100 FIX: MoleculeOrderDescriptor was not working correctly. - added MoleculeOrderTest and MoleculeNameTest to MoleculeDescriptorUnitTest. commit 4824045e8862d592732cdd29e95d5a0630c1e4b9 Author: Frederik Heber Date: Thu Mar 22 18:37:03 2012 +0100 FIX: forward declaration of World is unnecessary in AtomDescriptor. commit 05a8856950a70f7c6632778b990c57698560ee72 Author: Frederik Heber Date: Wed Mar 21 10:31:25 2012 +0100 FIX: BondedParticle::addBond returns * const not const *. - return a non-const ref such that we may modify it but prevent the use from deleting the instance. commit 46c832a58fdb69c0a30cc872cc301d1fb049c935 Author: Frederik Heber Date: Wed Mar 21 10:28:51 2012 +0100 FIX: PairCorrelation calculated max_distance in Box wrongly. - mistook Minv for M in AnalysisPairCorrelationAction::performCall(). commit 4d2b33da0f46516edd4b645ae0897eeb664c36fe Author: Frederik Heber Date: Mon Mar 19 17:42:39 2012 +0100 FIX: molecule does not need a periodentafel. - removed periodentafel param from cstor. - removed member variable elemente - removed AddXyzFile which was sole user of elemente. - removed depending functions in MoleculeListClass which were all remnants from old menu interface. commit 955b91eef584d31f8d9958b67d1ea39b84eb1fb7 Author: Frederik Heber Date: Wed Mar 14 19:08:24 2012 +0100 FIX: Removed using namespace std in Vector.hpp. - this caused some follow-up problems in other LinearAlgebra modules, mostly stuff from iostream not having std:: prefix then. - this also caused more of them in MoleCuilder modules, mostly due to string, stringstream, and numeric_limits with std:: prefix. commit 912c40f894bf2d9d9a56e65c27810c7464564255 Author: Frederik Heber Date: Thu Mar 15 18:00:53 2012 +0100 FIX: AddEmptyBoundaryAction just returns Action::failure if there are no atoms. commit b49de6734c55dcbdb4d72bbde0e06445e8b5b0cc Author: Frederik Heber Date: Tue Mar 13 18:33:20 2012 +0100 FIX: DepthFirstSearchAction still expected parameter for maximum neighbor search distance. commit ea0c8b2d99a7cd34a14e10739d5e97ad769403ed Author: Frederik Heber Date: Mon Feb 6 17:15:27 2012 +0100 FIX: ParticleInfo did use ptr instead of const ref in copy cstor. - is only used for atom's copy cstor. commit c742fed20df187f0ba5075443daf8db02480de2c Author: Frederik Heber Date: Mon Feb 6 17:12:03 2012 +0100 FIX: atom's copy cstor does not use Observer mechanism on the newly created. - we used setType() and setFixedIon() instead of AtomInfo copy cstor. commit fb4086c66a92259dff57dce2194b352aef6d0b4f Author: Frederik Heber Date: Tue Feb 21 20:01:42 2012 +0100 Set version to 1.2.2 - Molecuilder library is now 7:0:1. - Codename "Hadrian's Wall" (Erection began in 122 AD). commit a292f69b449c6c5bb67ebe28b692aa692bf02458 Author: Frederik Heber Date: Tue Feb 21 20:19:30 2012 +0100 DISTCHECKFIX: Forgot to add IdPool_policy.hpp to Makefile.am. commit e674c96fcf5679a4296d28d3c68f14356581b782 Author: Frederik Heber Date: Tue Feb 21 11:23:05 2012 +0100 FIX: Copy&paste error in tests/CodeChecks memdebug for variable ok. - we had all the files from MoleCuilder in here, which are not needed. commit a965b256ab0caa17547ae518bcde87e673b9c103 Author: Frederik Heber Date: Tue Feb 21 11:21:29 2012 +0100 Added check on present copyright disclaimer to LinearAlgebra as well. - fixed missing disclaimers in BoxVector.cpp, LineSegment.cpp, LineSegmentSet.cpp, and MatrixContent.cpp. commit 6d608dd5c311453412d113310ff79086151fd29b Author: Frederik Heber Date: Tue Feb 21 11:11:49 2012 +0100 COPYRIGHT: Updated all LinearAlgebra files to have copyright till 2012. commit 7e3065a1f91331217ec68bfc0a269a60c938a261 Author: Frederik Heber Date: Mon Jan 30 09:15:07 2012 +0100 FIX: Updated copyright in mainpage documentation of LinearAlgebra. commit 2a0271161126f3b47c3cd19c934d5f9e68593ecf Author: Frederik Heber Date: Wed Jan 18 19:13:52 2012 +0100 New function Box::isValid() to be discerned from ::isInside(). - isValid checks with and isInside without boundary conditions. - added Box::isValid() check to LinkedCell_Model::getIndexToVector(). - TESTFIX: regression test Atoms/Add needed Ignore BCs. commit c96423eec2163f37cc351c88bfd115e0a0446366 Author: Frederik Heber Date: Mon Jan 30 09:21:23 2012 +0100 BUGFIX: LinkedCell_Model should use ceil, not floor for calculating array size. - we stumbled over it because floor(20./2.) = 9 where it should come out as 10. - along the way: Converted some ASSERTs in LinkedCell_ModelUnitTest to ASSERT_EQUALs. commit b49c5dc478bfe5d7475926f8bad84675ae3cf64b Author: Frederik Heber Date: Fri Jan 13 13:40:06 2012 +0100 Regression test Analysis/PairCorrelation sets BC explicitly to Wrap. - also added check whether the bins have the right number of values. - Note: we checked that old PairCorrelation test was based on periodic BCs as well: H8 - O73 are 9.963629 apart, under Ignore BCs correct would be 10.07144. This is due to a wrap around on the z axis, 5.292 to 15.346. commit c1a9d605954042d9c86d2369f412f1ba332fb3f8 Author: Frederik Heber Date: Fri Jan 13 13:39:04 2012 +0100 Rewrote PairCorrelation() to make use of new LinkedCell construct. - removed PeriodicPairCorrelation() as this case is now contained. - TESTFIX: Modified regression test Analysis/PairCorrelation-RangeTest because with new LinkedCell the given range can now actually be heeded. commit 8fc1a63df8815c14148badf93b4c8d6674909443 Author: Frederik Heber Date: Mon Feb 6 18:49:07 2012 +0100 FIX: getDipole() was broken under periodic boundary conditions. - getDipole() now uses Box::periodicDistanceVector() to get the distance vector corrected for periodic boundary conditions. commit a19b4f9e6ce8ff976b11d2cdf26e72073492ef5c Author: Frederik Heber Date: Mon Jan 9 19:14:30 2012 +0100 Removed parameter periodic from DipoleAngularCorrelationAction. - is obsolete as handled directly through Box' boundary conditions. commit a8ae6d754f74e46c5174e011c8f6af0cfe94f719 Author: Frederik Heber Date: Mon Jan 9 18:49:21 2012 +0100 TESTFIX: Separated regression test Analysis/DipoleAngularCorrelation. - now parts explicitly tests whether periodic boundaries are working correctly while the other has molecules entirely within its domain and boundary conditions are of no importance. commit 153985073c9f7b358d1a5707d4a4a5d1254d01e1 Author: Frederik Heber Date: Wed Jan 4 10:34:58 2012 +0100 Rewrote CountHydrogenBridgeBonds() to use new LinkedCell construct. - enhanced verbosity of CheckHydrogenBridgeBondAngle() and changed parameters to be refs not pointers. - CountHydrogenBridgeBonds() uses LinkedCell to not go through O(N^2) molecules but through all molecules and then through all molecules in the neighborhood that have oxygen atoms close enough. commit 826e8c4cef286b7e87fd674f1ec0a8776fa20f0f Author: Frederik Heber Date: Mon Feb 6 18:46:56 2012 +0100 Introduced new LinkedCell into BondGraph. - new convenience functions BondGraph::getDomain(), ::getLinkedCell(), ::getTime() to have World dependency not in header file (circular include). - new function BondGraph::getMaxPossibleBondDistance() where one element is given. - dropped BondGraph::CreateAdjacency(LC_deprecated) as functionality is better placed directly into templated version directly. - rewrote templated BondGraph::CreateAdjacency that now makes use of LinkedCell_View::getAllNeighbours(). - FIX: BondGraph::CreateAdjacency() created bonds for atom's fathers, not for atoms. - TESTFIX: New LinkedCell construct in BondGraph::CreateAdjacency changes order of ids in adjacency file: - ids are now in order (unlike to before), hence we simply use the new file in the regression test. - this is actually a fault of the test, not of the code as order of ids is not guaranteed in the file anyway. - TESTFIX: Removed XFAILs from regression test Graph/SubgraphDissection- BoundaryCondition. - TESTFIX: CountBondsUnitTest use two molecules that are on top of each other: This causes mess with changed LinkedCell BondGraph recognition, and we even actually need just one molecule for the testing. commit cbcda6ea79e2f05666c81d9534d4cd710a3125e8 Author: Frederik Heber Date: Mon Feb 6 18:51:30 2012 +0100 BUGFIX: LinkedCell_View::getPointsInsideSphere() did not adhere to boundary conditions. - new function LinkedCell_Model::getDomain() such that view may use the same domain and use it when checking distances. commit 5d41b3feb054c87926fecd711b44959b8a632ccd Author: Frederik Heber Date: Mon Feb 6 18:44:02 2012 +0100 FIX: LinkedCell_Model::getStep() uses Box::WrapPeriodically() on given position. - this is to "ensure" -- given correct BCs -- that index is inside domain. - we still assert the index lateron (in case of Ignore BCs). commit ce81e7643f69b7e32a3ea7b3aea0503833075ba1 Author: Frederik Heber Date: Thu Jan 5 19:30:28 2012 +0100 LinkedCell_Controller now signs on to Channel WorldTime::TimeChanged. - we need to know when WorldTime changes because then all atomic positions change. we might use some more elaborate method here but for the moment we just use the method which is also employed in case of Box::MatrixChanged. - renamed LinkedCell_Controller::updateModelsForNewBoxMatrix() -> ::updateModels(). commit 5e2864ecffe7aea73c3db2304360ea66fcf192a5 Author: Frederik Heber Date: Thu Jan 5 19:27:59 2012 +0100 FIX: LinkedCell_Controller now signs on to Channel Box::MatrixChanged. - before we just had this in the test but not in _Controller's cstor. commit 429069f15983a452a937921c8d7a1db8e0fda0fc Author: Frederik Heber Date: Fri Jan 6 10:43:05 2012 +0100 FIX: Forgot that LinkedCell_Controller::updateModels() should also erase Models not viewed currently. - these models are erased after new ones are created to enforce different memory addresses upon which unit test check is based. commit 040a5c4933743745a8fee76949b4470d6e94a33a Author: Frederik Heber Date: Thu Jan 5 19:26:00 2012 +0100 WorldTime is now Observable. - this is required for the LinkedCell_Controller. It has to know when its models have to be re-initialized because all atoms changed positions. - WorldTime::setTime() is no more static and his caused changes in all classes that are friend and may use this private function. commit 38c5d1ddf8e15d850c38f402b8751d3f9e227692 Author: Frederik Heber Date: Thu Jan 5 17:51:58 2012 +0100 Documentation update on how to use the new linked cell construct. commit 712886d5dd98ceec6ac7c744cfb1e679619b80cc Author: Frederik Heber Date: Fri Jan 13 13:27:46 2012 +0100 Renamed Box::WrapPeriodically -> ::enforceBoundaryConditions. commit 7b9fe02f188ea36f9ddfa24ea27ca27e3b422059 Author: Frederik Heber Date: Mon Feb 6 18:48:18 2012 +0100 New function Box::periodicDistanceVector(), using VectorSet::minDistance(). commit c52e08e21874bd6974839eb406e14ffef59a6a4f Author: Frederik Heber Date: Tue Jan 3 12:22:24 2012 +0100 Added new action SetBoundaryConditionsAction. - Added new getConditionNames and setConditions(string) to Box to ensure that Observer mechanism is called when conditions are changed. - added two regression tests: - Domain/SetBoundaryConditions tests the action itself. - Graph/SubgraphDissection-BoundaryConditions tests whether the boundary conditions are used in the subgraph dissection. Set to XFAIL for now as BondGraph does not yet use BCs. commit d66cb7b6eecf9fdb226257ff28ed46a6eeec9270 Author: Frederik Heber Date: Mon Jan 2 20:04:42 2012 +0100 Replaced Conditions_t by BoundaryConditions::BCContainer in class Box. commit dd067a91bd5ce81d3092ebda02eb4e1f20978a8f Author: Frederik Heber Date: Mon Jan 2 19:49:32 2012 +0100 Add new namespace BoundaryConditions with class BCContainer. - BCContainer is a convenience wrapper for the enumeration of the boundary conditions that allows easy setting/getting via strings. commit e230757d8b8f73c8889eb565c9aa5a20052cff43 Author: Frederik Heber Date: Fri Jan 6 14:57:51 2012 +0100 Added new VectorSetUnitTest. commit 537dc4be54b76cb25e5cefbf22cab5f1cd58bf6e Author: Frederik Heber Date: Fri Jan 6 15:13:20 2012 +0100 Added operator<(Vector&,Vector&) to allow for comparison based on their length. - this is to be used in a lambda expression in VectorSet::minDistance(). commit 8c6d18960b1a413406b9d76e087298e7737bb7f3 Author: Frederik Heber Date: Fri Jan 6 15:32:29 2012 +0100 Added VectorSet::minDistance() to return minimum distance under (periodic) boundary conditions. commit 44f53e999bbb8a07d6654248774d7a3bb802ecaa Author: Frederik Heber Date: Thu Jan 5 17:37:05 2012 +0100 Made various verbosities a lot less annoying. - LinkedCell_Model does not notify about all updates on default. - PdbParser notes currently parsed time step. - WorldTime tells about new time step set. - MatrixContainer gives its details at level 3 not 0 or 1. - BondGraph does not tell about each look at its bond length table. - getDipole() does not shout out each dipole vector. commit 98c4284495a104d0620d285c47bc7aa2162c3b04 Author: Frederik Heber Date: Thu Jan 12 15:23:39 2012 +0100 FormatParserStorage has now two convenience functions ::load(). - this way one doesn't have to find out the suffix anymore. commit 3dfd9c9df000029ac47c31db715faaada2d853c9 Author: Frederik Heber Date: Thu Jan 12 09:22:20 2012 +0100 BUGFIX: PdbParser stumbles over CONECT because it reads space-separated token, not substring. - FormatParser< pdb >::getToken has to work on substr(0,6) only to read the type of entry field-wise. - added test to Parser/PdbParser load-various. - Small fix to ::load(), prints now only parsed atoms, not all. - This fixes ticket #160. commit ea7a509ec47cbadf7eaf2c826d1b74447ab8b25d Author: Frederik Heber Date: Fri Jan 6 18:53:45 2012 +0100 Rewrote some of the descriptors such that they access World's AtomSet and MoleculeSet directly. - this is the way they are intended. They are friends of the World and may use the sets directly without causing update()s although they return non- const references. This is because here we need not be careful as no atoms are destroyed or added. - In most cases we had implemented both predicate() and new find() and findAll() that were not necessary (default find..() would do the job better). - This concerned: AtomOfMoleculeSelectionDescriptor, MoleculeNameDescriptor, MoleculeOfAtomSelectionDescriptor, MoleculeOrderDescriptor, and MoleculePtrDescriptor. - We left the specific implementation for AtomIdDescriptor and MoleculeIdDescriptor as they directly access World's Atom- and MoleculeSet and may thus find ids significantly faster. - NOTE: so far some tests are broken and this needs to be fixed yet. commit 52ed5bd5d6abfc345449328e6008a4089fc6e46d Author: Frederik Heber Date: Wed Feb 8 18:36:46 2012 +0100 Ids handed out by molecule now start with 1. - this required some changes because of the shifted molecular indices, especially in: - BondedParticle::OutputAdjacency(): removed +1 - BondedParticle::OutputBonds(): same - Fragmentation::StoreFragmentFromKeySet(): increased array size - Fragmentation::CreateMappingLabelsToConfigSequence() : same - CheckAgainstAdjacencyFile::ParseInExternalMap(): decreased index by one. This is actually broken and only working if World's and molecular indices coincide. - molecule::CreateFatherLookupTable(): increased array size - TESTFIX: CheckAgainstAdjacencyFileUnitTest had its internal file strings' indices decreased by one. commit cdaae6b93f20964a102f00677c3a056b910a1054 Author: Frederik Heber Date: Thu Feb 16 14:38:53 2012 +0100 FIX: BondedParticle::OutputAdjacency() and ::OutputBonds() give uncorrected ids. - tremolo's Id starts at 1, internal (molecular) ones however start at 0. This causes undesired behavior when parsing .dbond files. - TESTFIX: changed ids in .dbond and .adj files of regression tests Molecules/BondFile, Molecules/SaveAdjacency, and Molecules/SaveBonds. commit 560bbe654dd2553da2da442b262caa8c19fde130 Author: Frederik Heber Date: Fri Jan 6 17:49:11 2012 +0100 AtomicInfo now also (re)stores ParticleInfo::Nr, molecule has own IdPool. - molecule now also has an internal IdPool to be able to hand out unique ids, according to uniqueId policy. - new functions: molecule::changeAtomNr(), molecule::setAtomName() - molecule::erase() and ::insert() release and set the id (and the name). - molecule::setAtomName() uses getNr() with id increased by one. - AtomicInfo stores and sets ParticleInfo::Nr. - atom::changeNr() is similar to changeId() only for the molecule. - molecule::AddAtom() does not set the name anymore, is done by ::insert(). - simplified molecule::doCountAtoms() a lot, no more naming of atoms. - SPEEDUP: This speeds up the GUI already a lot. - TESTFIX: changed regression test Tesselation/BigNonConvex due to different ordering of node ids (due to above), surface is still the same (checked). commit ac5c3653eb403b7c1ec8325a5e8c423473bf53fb Author: Frederik Heber Date: Fri Jan 6 17:48:47 2012 +0100 FIX: Forgot to remove now unused idpool functions, were replaced by IdPool. commit 7d46e36d95b842d1a320f748f59b074a84e603c0 Author: Frederik Heber Date: Wed Feb 8 11:51:11 2012 +0100 MEMFIX: RandomNumberEngine_Encapsulation::clone() did leak params allocated in getParameterSet(). commit b97a60ab241f2ecfff0d2258ecdd13f84f8a4f98 Author: Frederik Heber Date: Fri Jan 6 15:37:36 2012 +0100 Modified IdPool implementation to give either unique or continuous ids. - added two class uniqueId and continuousId that get the id type via a template and contain a getNextId_impl(). Also, contains typedef is is_IdPool_trait: - uniqueId always return a greater id. - continuousId implements the old way. - IdPool is now based on two templates, the second is the template that is inherited and its contained function used in getNextId(). - for atoms the id is the sole identifier for which we can guarantee uniqueness. For molecules uniqueness does not make sense. - updated World's documentation on its id pools. - TESTFIX: Filling/FillVoidWithMolecule - both changed because the order of the ids has changed. In one case the bonding id flipped, in the other one atom changed places in .xyz file. (Actually, it's surprising that this is the only glitch occuring due to the changing of the id policy). commit 3867a77b0b871f3d876032f6535a5d1768b84cd3 Author: Frederik Heber Date: Fri Jan 6 16:38:26 2012 +0100 AtomicInfo now stores Father by id not ref. - this migh have caused a crash before with Remove- and UndoActins by: - additionalAtomData pointing nowhere because the id might have changed. - father is stored as ref and not as id. If it's its own father, the ref is wrong. - molecule is given as ref and not as id. - atom::setMolecule() - NULL ref is allowed. - AtomicInfo: stores ids and not refs, first calls changeId then assigns father and mol (who both need updated id). commit 9f8b0194b9ab5a952b72799ceaf29042e6fd1c9c Author: Frederik Heber Date: Tue Feb 7 13:25:24 2012 +0100 FIX: TremoloParser::processNeighbors() always ran through all neighbors. - processNeighbors() now receives a vector of atoms whose neighbors to process. commit 812155f3a4f2a57f31b9d8b82748c71eae962ddd Author: Frederik Heber Date: Mon Feb 6 19:35:40 2012 +0100 TremoloParser::save() redistributes ids in a continuous manner. - i.e. we reset the local to global id associations, set them beforehand and then save the set of atoms. commit 8bf9c67e4d413e6c7a6dda4dbcf57aab0311564a Author: Frederik Heber Date: Fri Jan 6 14:11:42 2012 +0100 All additionalAtomData maps now have const atomId_t as key. commit 2ad1ec843e429f317a78f5fdd2e2b6a4926d4afb Author: Frederik Heber Date: Thu Jan 5 17:10:53 2012 +0100 Rewrite of how GLWorldScene and subsidiaries get notified of changed bonds and atoms. - we have made the connections from the real atoms and bonds to the nodes within GLWorldScene a lot easier. Also this fixes a crash when Subgraph- Dissection is called. - renamed BondedParticle::BondsChanged -> ::BondsAdded. - GLMoleculeObject_bond now observes its associated bond. - added documentation on how the mechanism works in qt-gui.dox. commit 3f7587934b86878ebafb86295528325d0314db80 Author: Frederik Heber Date: Thu Jan 5 12:55:09 2012 +0100 Made bond also an Observable. - for the moment this is not used. commit 74ec1fa772ca1ade3fa853bdf3476c4f6dc24010 Author: Frederik Heber Date: Thu Jan 5 12:54:22 2012 +0100 BUGFIX: Added new channel BondDegreeChanged to AtomObservable, added some BondsChanged notifications. - this should fix crashing of the GUI when SubgraphDissection is called. commit bb645ca228f3668686bf3d842e57a8a6d2b85e4d Author: Frederik Heber Date: Fri Feb 17 10:55:58 2012 +0100 TESTFIX: Removed checking of current year in copyright disclaimer. - this will only cause trouble in the future, although it helps against laziness. commit d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6 Author: Frederik Heber Date: Wed Dec 28 18:57:12 2011 +0100 Set version to 1.2.1 - Molecuilder library is now 7:0:0. - LinearAlgebra library is now 3:1:0 and its API is 1.0.4. - Codename "Injection" (it is one-to-one and probably onto :). commit c0e28c07a3ae4cbff46cf20696b4026104ce4e92 Author: Frederik Heber Date: Wed Jan 4 19:34:22 2012 +0100 FIX: One could not load another pdb file due to local ids messing up. - We enhanced FormatParser_common now contains two maps to go from local to global and back again. Thi is necessary, as ids in a file only make sense within that file. We added the following functions: resetIdAssociations(), associateLocaltoGlobalId(), getGlobalId(), getLocalId(). - adapted TremoloParser and PdbParser because they are the only formats that also contain bond information and where the associations are needed to translate the local connections into global ones. - removed SerialSet entirely from PdbParser, is replaced by new construct, in similar manner AtomIdMap for TremoloParser. - TEST: Added regression tests for all Parser to check for loading twice the same file. commit fbbcde7f3c99a729f52b053aaf1cbb896e703adb Author: Frederik Heber Date: Tue Jan 3 18:21:33 2012 +0100 FIX: TestRunner is now compiled based on AM_CONDITIONAL set by HAVE_ECUT. commit 9fd196a18e0a47b5eb4d5d4d98793332ac09cad9 Author: Frederik Heber Date: Mon Jan 2 17:50:03 2012 +0100 Added bash_completion file. - use as . utils/Bash/bash_completion, installed in bin folder. - moved all python files in utils into subfolder Python therein. - We scan molecuilder's help output for the present actions and return in COMPREPLY, fully capable of giving option to last action and all available actions in any other case. - we expand files if no "--" is given. - TESTFIX: Python/BoxMaker needs to call boxmaker.py from utils/Python. commit b40080ff7038dadce974501ba0921c902ea739e0 Author: Frederik Heber Date: Thu Jan 5 12:41:14 2012 +0100 FIX: Forgot to add m4/ax_molecuilder.m4. commit e65b264429729ac3e8a39b1cff4e0c3da7a1c92a Author: Frederik Heber Date: Wed Jan 4 12:26:47 2012 +0100 FIX: LinkedCell_Model::getNeighborhoodBounds() had wrong relative upper corner on Ignore BC. commit c9c3c991eb4ad65ee03c9f8497e34b705c0a3478 Author: Frederik Heber Date: Wed Jan 4 11:35:18 2012 +0100 MEMFIX: Forgot to purge AtomObserver instance. commit 5972c38660ce8bfe4abe05aadd3b6670d0ca781c Author: Frederik Heber Date: Wed Jan 4 11:32:35 2012 +0100 MEMFIX: LinkedCell_Model did not release N (Linked cell array). commit b6f5bca2a8b01f1be50e7ea743e1abeb08e08178 Author: Frederik Heber Date: Wed Jan 4 11:31:06 2012 +0100 FIX: Fixes to idpool implementation that did not initialize all its member variables. commit 7111d4b38b87e5d3ee3f3bc507eb41c049e56243 Author: Frederik Heber Date: Tue Jan 3 18:22:09 2012 +0100 FIX: LinkedCell_Model::setPartition() did not assure Dimensions is integer. - we now assert that LinkedCell_Model::Dimensions is symmetric, diagonal. - FIX: its components are integer by slightly enlarging the edge length. This is required to correctly placed nodes inside cells. commit c9cafae3a5f701f6ad7fcb9c37a3ae80bc41ffcf Author: Frederik Heber Date: Wed Jan 4 10:39:24 2012 +0100 Some warning fixes. comparison signed/unsigned: - molecule::FillBondStructureFromReference() commit b75386102c01f78fed1672b79dacce138116fcf9 Author: Frederik Heber Date: Tue Jan 3 17:22:59 2012 +0100 Verbosity fixes to LinkedCell_Model and _View. commit 57a77028e5559bee9b5052cdd1e9b9a70c695bd2 Author: Frederik Heber Date: Wed Jan 4 14:26:47 2012 +0100 Corrected verbosity levels of GLMoleculeObject..., GLWorldScene, and ..View. - placede messages from Observer's to observerLog. commit 0aa122d5f3137de21e283fdaa583b526d33a6540 Author: Frederik Heber Date: Mon Jan 2 14:57:02 2012 +0100 Updated all source files's copyright note to current year 2012. commit e215c133f85e17388f702f7bfcad150b1acfb8d9 Author: Frederik Heber Date: Wed Dec 28 18:05:04 2011 +0100 DISTCHECKFIX: Forgot to add LinkedCell header files to some targets. - Forgot to add LinkedCell/types.hpp to target in Makefile.am. - Forgot to to add LinkedCell/unittests/defs.hpp to targets in akefile.am. commit c48a51f43b8d3a851064d11f8090962cd66b3cbc Author: Frederik Heber Date: Wed Dec 28 17:50:10 2011 +0100 DISTCHECKFIX: Forgot to remove folder Python from tests/regression/Makefile.am. commit 7c019170530b54da9d757a092296cc5d2bb6efde Author: Frederik Heber Date: Wed Dec 28 15:57:08 2011 +0100 We now require CodePatterns 1.2.1. - this is to incorporate the Chronos clock->seconds conversion fix. - Bug report by Jan Hamaekers. commit 69459d564dbe1fbe4f211888bdb22d63faa755b5 Author: Frederik Heber Date: Thu Dec 22 10:33:28 2011 +0100 Added unit test on changing box to LinkedCell_ControllerUnitTest. - Added setM() to ObserverBoxStub, needed for updateBoxTest(). commit 2ced6b357227c511512210e4f9802519b5ff478c Author: Frederik Heber Date: Thu Dec 22 10:26:45 2011 +0100 Replaced Molecuilder library dependencies by stubs in LinkedCell_...UnitTests. - Implemented stubs for World and AtomObserver. - Renamed BoxStub to ObserverBoxStub. - Enhanced stub for TesselPoint, defines its own class to get around all those virtual inheritances. - LinkedCell_ControllerUnitTest uses molecuilderLinkedCell lib but no other, everything else is stubbed. - LinkedCellUnitTest is now the same. commit b1c5ddb6c2dc1792b43fa42d24a01b1fcdb3fe98 Author: Frederik Heber Date: Thu Dec 22 11:58:21 2011 +0100 FIX: Made TesselPoint's dstor virtual. - this caused undefined reference to typeinfo for TesselPoint errors when trying to create a stub for the class. commit cbdcb10f6cf4dbc5be84a8c1cd660b931affa17f Author: Frederik Heber Date: Thu Dec 22 09:59:40 2011 +0100 Added LinkedCell_View_ModelWrapper to safely keep LinkedCell_Model out of _Views' grasp. - This is the only way to keep _View away from its own pointer without declaring it "const" which prevents _Controller from re-instantiating the model after the Box has changed. - Added logging to LinkedCell_Controller::updateModelsForNewBoxMatrix(). - Switched order of delete/create in updateModelsForNewBoxMatrix(). This is necessary such that newref is not created on top of oldref and hence unit test may fail. commit 4a816966425096ec9bd0a17aa70a3dbfe04c7665 Author: Frederik Heber Date: Wed Dec 21 19:03:15 2011 +0100 LinkedCell_Controller is now an Observer. - new function updateModelsForNewBoxMatrix() which updates the models in all active views. - so far we are hampered by const LinkedCell_Model& ref. commit 99f4ee808622819ff9de4956da3988021e56d66a Author: Frederik Heber Date: Wed Dec 21 19:02:07 2011 +0100 Class Box is now also an Observable. - it has two channels to notify about changes in its Matrix and boundary conditions. commit 9ed706d2228d2edefef36a2b55322f6421480603 Author: Frederik Heber Date: Wed Dec 21 19:00:53 2011 +0100 Implemented counting of active LinkedCell_View instances in static map. - this will allow us to exchange the models when the domain changes without the user noticing. commit c29915751600543b3ce3bc771ea4eb5b2b9ab924 Author: Frederik Heber Date: Wed Dec 21 18:59:27 2011 +0100 LinkedCell_Model cstors are now private but LinkedCell_Controller is friend. - this way only LinkedCell_Controller can construct new models. commit 455043c33527649a64f47812a06348673a15ad57 Author: Frederik Heber Date: Wed Dec 21 18:57:51 2011 +0100 Changed MapEdgelengthModel to contain const ref as value. - LinkedCell_Controller::insertNewModel() gets const ref as param now. commit 54f3d11a82854765641343eac08c593e5d58b8ad Author: Frederik Heber Date: Wed Dec 21 11:35:41 2011 +0100 Removed short-wiring of updates as they are now passed through LinkedCellArrayCache. - replaced ..._internal() calls by Changes->addUpdate(..) in LinkedCell_Model. - added some verbosity to allow for following the chain of updates. - new unit test function lazyUpdatesTest() in LinkedCell_ModelTest. - TESTFIX: nodeTest() and insertPointCloudTest() needed a forced update at the right places due to the cached nature now as they access internals bypassing the automatic updates. commit 8c318650ec230fdda3b798297d3d0a0d7b7c3776 Author: Frederik Heber Date: Tue Dec 20 15:28:33 2011 +0100 Added new class LinkedCellArrayCache that performs the lazy updates on a LinkedCellArray. - basically, we cache all write operations and perform them first when there is a read operation that requires an up-to-date structure. - we cannot do this via the Cacheable pattern was there we always have a return value of the update structure. It is currently unknown how to initialize a cached pointer (apart from always checking for this in the update function). commit e776dc24d230fdf211894710f74ffba42667f5e0 Author: Frederik Heber Date: Tue Dec 20 12:50:48 2011 +0100 Added internal classes Update and changeModel to LinkedCell_Model. - this are not yet used. - Update contains a single update operation associated to a node. - changeModel contains a map of all due updates. commit cf6530fb17aed9982c010170c14317e052722592 Author: Frederik Heber Date: Tue Dec 20 11:40:23 2011 +0100 Implemented LinkedCell_Model::moveNode_internal(). - updated unit test as well. commit a5b2b6b0760713e75c784f4ffe6c347e206b2359 Author: Frederik Heber Date: Tue Dec 20 11:39:44 2011 +0100 Simplified LinkedCell_Model::deleteNode_internal(). - this is possbile due to making argument of update function always const. commit db89600810e8e7e4f9a3b70c23556f264f49cdb6 Author: Frederik Heber Date: Tue Dec 20 11:25:43 2011 +0100 Shifted functionality of adding, moving, and deleting nodes to internal functions. - internal functions are so far short-wired to outside. - this is preparatory for caching changes (lazy evaluation). commit bbab877acee03ce45c24d618b44ae969011e5e45 Author: Frederik Heber Date: Mon Dec 19 22:57:06 2011 +0100 Added test for new descriptor AtomsWithinDistanceOf to AtomDescriptorUnitTest. - in AtomDescriptorTest::AtomsWithinDistanceOfTest(): ids must not necessarily be in order, added functions that make comparison based on simple N^2 search and helper functions. commit 7afb7733a1431bbb839abcfc5b1dd0d143dba39b Author: Frederik Heber Date: Mon Dec 19 19:34:15 2011 +0100 Added AtomsWithinDistanceOf descriptor. - this is basically just a nice interface to LinkedCell_View which is used internally to find the atoms. commit 4834f4bc1360623d2ad20e7dab653447280b63b3 Author: Frederik Heber Date: Mon Dec 19 18:11:22 2011 +0100 World now has a LinkedCell_Controller and function getLinkedCell(). - we give World's atoms as param to LinkedCell_Controller::getView(), i.e. obtained views from getView() now contains all atoms (and are not empty). commit 53d894c34a1a8ff0f2e679e04918aa717133bfd4 Author: Frederik Heber Date: Mon Dec 19 22:50:54 2011 +0100 Changed LinkedCell_Model::getNeighborhoodBounds() and LinkedCell_View::getAllNeighbors(). - NeighborhoodBounds are now index and offset style, not two real bounds anymore. This way we were able to get getAllNeighbors() actually working. - getNeighborhoodBounds() was overloaded nonsense for Bounce case, it is now much simpler: we just crop the interval at the boundary. commit c806430dd9192196eecf5a8e808273f583a12492 Author: Frederik Heber Date: Mon Dec 19 22:49:53 2011 +0100 LinkedCell_Controller::getView() now needs a PointCloud set. - this will allow the World to initialise new LinkedCell_Model, which at the very start first need to know about all presents atoms in the World. commit 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845 Author: Frederik Heber Date: Mon Dec 19 22:38:50 2011 +0100 Refactored typedef tripleIndex into own structure. - we need the struct to accomodate some helpful operators. commit c8f6b692b88a0dc8e4758c132ca2f8a448ac41cc Author: Frederik Heber Date: Mon Dec 19 22:48:15 2011 +0100 Small fixes to LinkedCell_ViewUnitTest. commit b49568059bb63eb10a31cce9ac87e75d9a32c8e6 Author: Frederik Heber Date: Mon Dec 19 19:09:49 2011 +0100 Added new descriptor AtomOfMolecule. - also added new unit test function. commit d7853188762dba95151f1e69c42148748e218394 Author: Frederik Heber Date: Mon Dec 19 18:02:23 2011 +0100 Library LinkedCell_refactored is now contained in lib LinkedCell. commit 6bd7e05ae215210d42ef6cb22768847bee2ce5da Author: Frederik Heber Date: Mon Dec 19 17:46:11 2011 +0100 Renamed old LinkedCell class to LinkedCell_deprecated. - this is preparatory for a smooth transition to the new implementation. - note that class LinkedCell and namespace LinkedCell bite each other so far. commit f55ae56e4b38350f4245571086191b0a40f6e956 Author: Frederik Heber Date: Mon Dec 19 17:18:25 2011 +0100 Implemented LinkedCell_Model::recieveNotification(). - i.e. it now calls addNode(), deleteNode(), and moveNode() on the appropriate notification. commit 02987071e3d38c873d62de7816c0f4d69216d14c Author: Frederik Heber Date: Mon Dec 19 17:17:02 2011 +0100 FIX: LinkedCell and LinkedCell_Model now store _const_ TesselPoint ref in their lists and maps. - this mainly stemmed from changing LinkedCell_Model::addNode() and is required as World's lastChanged is a const ref (and we do not need to changed the object itself anyway, we are only bookkeeping!). commit 402f2c95de22204c80eb8263dcae72f384eae68c Author: Frederik Heber Date: Mon Dec 19 17:00:11 2011 +0100 LinkedCell_Model now signOn/Off to World and AtomObserver. commit 97c25501cdca20b601f0fa7b5f1e7524cf194d1e Author: Frederik Heber Date: Mon Dec 19 15:12:54 2011 +0100 Added unit test for AtomObserver. - added position and element channels from AtomObservable to AtomObserver. - NOTE: AtomObserver does not relay general update() calls. commit 5dfabdae3cbf78f772003f96b321468cd321f7eb Author: Frederik Heber Date: Wed Nov 30 17:32:43 2011 +0100 Added singleton class AtomObserver that acts as relay station to all atom changes. - uses Relay pattern. - is called in World::createAtom() to signOn on time. - update() relays the update call on to true observer. commit 2614e2a00e7cda71401ccb728478c22e406f12a3 Author: Frederik Heber Date: Wed Nov 30 14:10:23 2011 +0100 LinkedCell_Model now inherits Observer. - implemented facade for the three Observer-required functions, also adapted stub. - next we need to have the World observe each atom and give Notifications about it. Then, we add each model to this channel and implement the update. commit fe82539bed03ef657b7febd017e0b3a949cda365 Author: Frederik Heber Date: Wed Nov 30 11:26:35 2011 +0100 Added first reasonable heuristic, and added required implementation for Controller. - LinkedCell_Controller::getBestModel() nows contains some more advanced heuristics. - extended unit test on all of the added parts. commit 9a5649c1cc4ae0e855f0ee7842ecd59dbafeacee Author: Frederik Heber Date: Tue Nov 29 11:15:32 2011 +0100 LinkedCell_ControllerUnitTest only depends on stubs now. - i.e. we do not link against convenience libMolecuilderLinkedCell_Refactored anymore. commit fea945d620239c90af4f79b6ad78cde77e453de4 Author: Frederik Heber Date: Fri Nov 18 16:07:38 2011 +0100 Added simple implementation for LinkedCell_Controller. - getBestModel() contains the (non-working) heuristic stub. - getView() calls getBestModel() to obtain current best model or creates a new one and returns the view of this model. - added unit test that does not yet test any functionality. commit 6b91e6417f39a42bdd14fb1186aea6a23e51aa9a Author: Frederik Heber Date: Tue Nov 29 10:20:04 2011 +0100 Added convenience library for files of new LinkedCell implementation. - is used with unit tests only so far. - name is temporary to vaid class with present convenience library. - Temporarily added libMolecuilderLinkedCell_refactored to ALLLIBS for TestRunner. This is changed when we swap the now two LinkedCell libraries. commit c379f9430a4c84b4863188025cd84941b7267e40 Author: Frederik Heber Date: Tue Nov 29 10:17:23 2011 +0100 Extracted defines for unit tests and placed into extra header file for re-use. commit 5344e4935985c68c502a7e1e2e936a0ac622ef57 Author: Frederik Heber Date: Fri Nov 18 09:11:57 2011 +0100 Added implementation of linked cell view part with high-level functions. - LinkedCell_View has nearest neighbor functionality. commit d8296152e374a74c483120eb411121989ba27a98 Author: Frederik Heber Date: Fri Nov 18 09:50:26 2011 +0100 Added implementation of linked cell model part using LinkedCell. - setPartition() sets Partition trafo and defines array bounds Dimensions. - addNode() and deleteNode() are working. - getStep() returns the number of neighbor shells needed. - getSize() returns array size for a given dimension. - getIndexToVector() returns index to LinkedCell for a given position. - checkArrayBounds() and applyBoundaryConditions() check and apply domain's boundary conditions. - getNeighborhoodBounds() returns lower and upper bounds to get through all LinkedCell's and gather neighbors. - each is unit tested. commit 02ce363b06a8f5ac471e055cfd494a84e197010f Author: Frederik Heber Date: Mon Jan 2 13:57:32 2012 +0100 We now require CodePatterns 1.2.0. - this is due to the updated Observer structure and multi_array MemDebug bugfix. commit b3fb31e61f105f4d48d1543c58f2727b4742bf2d Author: Frederik Heber Date: Tue Nov 29 10:25:38 2011 +0100 Added MAX_LINKEDCELLNODES enum to types.hpp. commit 71d81a4beedb94e61ac57a62dfd6e640ce50f1ee Author: Frederik Heber Date: Fri Nov 18 14:22:33 2011 +0100 FIX: Box::Box did not initialize Conditions_t with RealSpaceMatrix argument. commit 95422c13513e471b244d90385e0888e332e5fbde Author: Frederik Heber Date: Fri Nov 18 09:50:05 2011 +0100 FIX: LinkedCell/types.hpp now uses NDIM instead of 3. commit 794bc8a63dc9704a2721bae96fbed047481b255a Author: Frederik Heber Date: Thu Nov 17 13:01:09 2011 +0100 Added LinkedCell as commodity class around LinkedList. - LinkedList is the container of all points in the cell. - LinkedCell additionally stores the index to the linked cell structure. - addPoint() and deletePoint() functions. - added unit test. commit df9cbdd687c3bb66560705c8a9ed2c0930d1c1be Author: Frederik Heber Date: Thu Nov 17 12:53:43 2011 +0100 Added documentation on how refactored linked cell structure is supposed to work. commit 6f0841afb57916ffe2e660310f1ff1062d59144a Author: Frederik Heber Date: Tue Nov 15 15:58:11 2011 +0100 Shifted all modules related to atoms into own subfolder src/Atom/ - also created own convenience library for this. This makes unit testing on list containing TesselPoint or atom a lot easier. - shifted TesselPoint to src/Atom from src/Tesselation and adapted include's. commit 91f5923f3b692613cf8dacb735a1502afa9471e8 Author: Frederik Heber Date: Tue Nov 15 15:15:25 2011 +0100 Added own convenience library for LinkedCell construct. commit aa6c750e6eb1613052133fde2c7fc67bee85b55c Author: Frederik Heber Date: Tue Nov 15 12:31:56 2011 +0100 Removed some unnecessary LinkedCell.hpp include's. commit 53c7fc2e5e8198eaf2ef2d962e2e7c72910e48ae Author: Frederik Heber Date: Mon Nov 14 17:29:50 2011 +0100 Moved linkedcell.[ch]pp and related files to folder src/LinkedCell. - adapted all #include's. - also sorted includes of modified files. commit 3e4fb6fae7d3dcc8e46ee174d7b9a70a995ac178 Author: Frederik Heber Date: Fri Dec 23 15:48:37 2011 +0100 Added template class IdPool used by World to manage defragmentable id pool. - this is stuff from World factored into own class (was doubly present in World anyway). - added short documentation to constructs/world. commit 401f9015681e7b504bce7c3914a00d118029c739 Merge: f9b967b adb5cda Author: Frederik Heber Date: Wed Dec 28 16:27:15 2011 +0100 Merge branch 'Removing_molecule_atomSet' into Merge_molecule_atomSet_removal Conflicts: src/molecule_geometry.cpp - molecule::CenterInBox(): don't use BOOST_FOREACH but new transform_iterators. commit adb5cda5be52f4f5d63932b345da97b6eade88fd Author: Frederik Heber Date: Fri Dec 23 16:17:07 2011 +0100 Removed typedef molecule::atomSet and some commented-out, deprecated sections. - required changes to LinearInterpolationBetweenSteps, MinimiseConstrainedPotential, MinimiseConstrainedPotential, and VerletForceIntegration. - replaced molecule::atomset by World::AtomComposite. commit afa9d887de1bca80ec730fa5fb5804363c05a126 Author: Frederik Heber Date: Fri Dec 23 12:06:05 2011 +0100 TESTFIX: Fixed regression tests Molecules/BondFile and Tesselation/BigNonConvex again. - Molecules/BondFile: replaced result file with new one as the only difference are interchanged ids (and the new ones are more sensible anyway). - Tesselation/BigNonConvex: same here for the same reason. - removed XFAILs from both. commit 59fff1699458425079bb0a93f0c33d6ce50aae7d Author: Frederik Heber Date: Fri Dec 23 11:09:37 2011 +0100 Replaced the molecule::const_iterator by a true const version of the transform_iterator. - lots of places used const_iterator where it made no sense, atom some others one could have sensibly done so but details prevented it, e.g. - FormatParserStorage::save() requires vector not const atom *, - Boundaries (and most of Tesselation for that) requires atom *, not const atom *. - Added new function molecule::isInMolecule() to check whether atomic id is in molecule::atomIds. - Added const version of atom::GetTrueFather(). commit 30c7536948400224f2fc3e945a95099d12c23b3a Author: Frederik Heber Date: Thu Dec 22 14:14:16 2011 +0100 Removed atomSet atoms in class molecule and replaced by a boost::transform_iterator. - atoms causes us a O(N^2) complexity due to having to remove atoms from this linearized vector (in O(N) not O(log N) as for the atomIds. - marked Molecules/BondFile and Tesselation/BigNonConvex as XFAIL due to interchanged ids. - thanks to Jan Hamaekers for pointing this out. - NOTE: so far we have not specialized molecule::const_iterator, it simply points to molecule::iterator. commit f9b967b72e4892fd47c07969c3776b47bf7f6616 Author: Frederik Heber Date: Thu Dec 22 14:38:35 2011 +0100 FIX: Removed unique()'ing usedFields call in each FormatParser< tremolo >::saveLine(). commit 89a31dfea6d23ffd5380305f11ed7d1ae35a4a7e Author: Frederik Heber Date: Thu Dec 22 14:39:23 2011 +0100 Enhanced verbosity of FormatParser< tremolo >::readAtomDataLine(). commit f99714d367d279ee28493384986f2e0cf9b2efe7 Author: Frederik Heber Date: Wed Dec 21 16:01:47 2011 +0100 FIX: Finally correctly implemented all --enable-... switches in configure. - The principle is: AC_ARG_ENABLE([option], [help], [if present], [if not present]). In the last we set the default value of our own variable (e.g. enable_...="no"), in the last but one we simply set enable_...=$enableval to get the value from the command line. - also I used AS_IF everywhere in checking the enable_... value. commit f2330310e8573c71b1ee3edbcb06336e2a361a3a Author: Frederik Heber Date: Thu Dec 22 13:55:28 2011 +0100 Small fixes to FormatParser< tremolo >::parseKnownTypes() to give more specific error messages. - also placed info about cleared usedFields in LOG() call. commit d103d335f1f411ee26c2568846556af546c71b43 Author: Frederik Heber Date: Mon Dec 19 15:31:30 2011 +0100 Added additional check in CodeCheck's project disclaimer for current year in copyright. - had to modify all .cpp files to update to 2011. commit 908dc743816b2e8b11f5297f04644e47e0d110d9 Author: Frederik Heber Date: Thu Dec 22 13:52:15 2011 +0100 FIX: molecule::CenterInBox() made noise on std::cout, banned to LOG. commit abae35016291f010810eaac8320b7bd3c1e4cf37 Author: Frederik Heber Date: Mon Dec 19 15:24:56 2011 +0100 Added CodeCheck on presence of project disclaimer in all .cpp files. - added disclaimer to missing in Thermostats/*.cpp and MenuInterface.cpp. commit 6108fde5a8886068ae30de0826b737d61fb539fc Author: Frederik Heber Date: Mon Nov 21 09:13:29 2011 +0100 FIX: Added missing CodePatterns libs to Element's unit tests. commit bab4f9764a30714f8588b029fa96ea36b46e6b5e Author: Frederik Heber Date: Mon Nov 21 09:12:52 2011 +0100 FIX: Setting up and purging ActionRegistry instance in ActionRegistryTest. commit 7bace8c6a0fc5f316d62ec82ddff0efda879896b Author: Frederik Heber Date: Fri Nov 11 21:06:48 2011 +0100 FIX: LinearAlgebra's testrunner was not linked against boost serialization. commit db1a72013fea41fc1ac6c55b5d884661f6460d22 Author: Frederik Heber Date: Fri Nov 11 13:30:10 2011 +0100 FIX: Corrected check for gsl's blas requirement. commit c015b3946b9bb714ae6740f4fbfd3378234a0404 Author: Frederik Heber Date: Fri Nov 11 13:16:24 2011 +0100 Added enable-switches for Qt-based GUI and python module and scripts. - note that encapsulation in AS_IF is absolutely required as otherwise lateron checks will produce strange errors as required checks reside in an unseen if ..; then branch, initiated by AC_PROG() ... or other contained macros. - Added AM_CONDITIIONAL's to modify Makefile.ams depending on above enable switches. - AM_COND_IF controls whether certain Makefile's are produced or not. - moved Python regression tests into own folder to control whether they are executed or not. - molecuildergui and libMolecuilderQtUI are only compiled with qtgui enabled. - same for pyMoleCuilder and its scripts only when python enabled. commit f3b8a5e4ed78b89055bacdcab557b7887840b6a3 Author: Frederik Heber Date: Fri Nov 11 13:12:50 2011 +0100 Changed enable switches in configure.ac. - with-valgrind is protected by AS_IF now. - corrected AC_MESSAGE for debug and cache. commit e06010a270e33777c1171131b7a376f7f344b5d5 Author: Frederik Heber Date: Fri Nov 11 10:55:47 2011 +0100 FIX: Added missing ax_python.m4, added support for 2.7. - added python2.7 to the loop. commit b136f6cb6115f5aa5fd5e6ccb908c72f030b84f4 Author: Frederik Heber Date: Tue Nov 29 10:16:30 2011 +0100 FIX: Added Assert_Do to linkedcellUnitTest. commit 68c92366449b96cba16e719bf1bc16ca92f66370 Author: Frederik Heber Date: Tue Nov 29 09:22:26 2011 +0100 Lots of small compiler warning fixes. Issues: - non-virtual destructor despite virtual functions. - unused variables. - no break at end of switch case. - no value returned. commit de29ad6ec3f6c4826f398de6a82efb8324c26e79 Author: Frederik Heber Date: Wed Dec 28 15:58:52 2011 +0100 Some optimization to speed up Subgraph dissections. - Replaced std::list by std::vector in VectorSet<>::minDistSquared() and Box::internal_explode() as it caused lots of dynamic allocation. This has been the main cause of the slowdown of Box::internal_explode(). - Box has internalized vectors coords and index of internal_explode() to avoid dynamic allocation for them as well. This is worth it as it has a heavily used function. - Made Box internal_list non-static. There is only one box anyway. - changes caused in BoxUnitTest and Box cstor's and dstor. - speedup of Subgraph - enhanced verbosity of BondGraph::CreateAdjacency(). commit bde4a64a31e3c0f73726198e3b7737797d60a1b2 Author: Frederik Heber Date: Mon Nov 7 20:30:03 2011 +0100 Set version to 1.2.0 - Molecuilder library is now 6:0:0. - Codename "Zwoelf" (German word for the number 12 which has too many meanings to listen them here) commit 936a02c90039dcc86f22c9ccd060237b13b9ca81 Author: Frederik Heber Date: Thu Nov 10 15:57:21 2011 +0100 Creating data dir for bondtables, databases, and molecules. - Moved .db files from src/Element to data/databases. - Added bondtable.dat from VSpeShape (kudos Christian Neuen) to data/bondtables as an initial bond table from geometry optimization of bielemental systems. - Added some abitrary molecules to data/molecules. - Added src/documentation/data.dox to explain purpose of the folder. commit 1a041f358530099250e51de113626e46dc482001 Author: Frederik Heber Date: Thu Nov 10 12:22:18 2011 +0100 DOCU: added documentation on how to debug the code. commit 04e1fb9b749ae4d67250fddbb3bef9aa9a16e259 Author: Frederik Heber Date: Thu Nov 10 11:20:20 2011 +0100 Added rules to utils/Makefile.am such that python script can be called directly. - this is heavily inspired from http://blog.couchbase.com/installing-python-scripts-automake, which is only adapted to the usage of pyexecdir and having all variables set by autoconf. commit 938ffdd39e9b351741dc5a305c9834cbf97a3cd9 Author: Frederik Heber Date: Thu Nov 10 11:06:48 2011 +0100 Added Makefile to utils to install python scripts. commit 0d571d7276ebe9c1a1773e4b2150ee012778f1b4 Author: Frederik Heber Date: Wed Nov 9 15:19:29 2011 +0100 DISTCHECKFIX: Forgot to set write permissions for new ec.data test files in RepeatBox regression test. commit a55be103100d6fcff0fe7045017f879437f76d8f Author: Frederik Heber Date: Wed Nov 9 11:43:42 2011 +0100 DISTCHECKFIX: testsuite does not depends on run scripts. - Python/run is similarly not a dependency as the molecuilder, joiner, ... scripts as they are created by configure and not automake. commit 12facf18b09b4648333e0fe89c03343bc34892d3 Author: Frederik Heber Date: Tue Nov 8 09:11:47 2011 +0100 Removed now obsolete Pythontest including regression test. - as pyMoleCuilder is now fully working (and the obtrusive bug is fixed), we do not need this test case anymore. commit dd0f1b1e1a9125755de73d4edd0d787f21f7d5c6 Author: Frederik Heber Date: Tue Nov 8 12:44:05 2011 +0100 DISTCHECKFIX: Added AllActionPython.hpp and AllActionHeaders.hpp to exception for config_h code check. - these are generated for the archive and present there, hence need to be excluded. commit 48d3c04f127648994f9bb992902f82fdf27e06e4 Author: Frederik Heber Date: Tue Nov 8 09:09:35 2011 +0100 DISTCHECKFIX: Added some missing header files in src/Actions. - some of the new python files were not in ...HEADERS. commit 4269cad0335489e8765429362c6500291a09f3e2 Author: Frederik Heber Date: Mon Nov 7 17:57:31 2011 +0100 FIX: Some Qt includes were not style-consistent. commit 5dfeeb2b4133f0bc8c5526397e89e3306f10a2ff Author: Frederik Heber Date: Mon Nov 7 11:08:22 2011 +0100 DISTCHECKFIX: Added forgotten Doxyfile to EXTRA_DIST. commit 24da485f43375167b5cf182eca27274ba36aeb39 Author: Frederik Heber Date: Fri Nov 4 16:40:53 2011 +0100 DISTCHECKFIX: Added missing ActionTraits.hpp to src/Actions/Makefile.am. commit c1ab1f524dcd3aeba2c82df3d7b694dfdf21e70f Author: Frederik Heber Date: Fri Nov 4 16:15:33 2011 +0100 DISTCHECKFIX: Added all Reaction...hpp to src/Actions/Makefile.am. commit ed300063c90aa3e4eafcdc71806fd77a7c690f40 Author: Frederik Heber Date: Fri Nov 4 16:10:46 2011 +0100 DISTCHECKFIX: Removed bnv_have_qt.m4 from EXTRA_DIST. commit e85bf295d447e86bfa5bd02fdb4a1e7e30386f3c Author: Frederik Heber Date: Thu Nov 3 20:18:24 2011 +0100 Added code check test whether every .def's Action is listed in GlobalListOfActions.hpp. commit 5ab79642b2ba78c42f87eb801b807a6eb32d0770 Author: Frederik Heber Date: Thu Nov 3 17:09:37 2011 +0100 Added regression test on whether all options in the python module are known with a default value. - i.e. options.dat is complete and contains a value for each required option in Python/AllActions test. - added a few missing options to options.dat (thx test). commit f894fe4b6a17e5e13a9d4c6a8a91562a6565cfb5 Author: Frederik Heber Date: Wed Nov 2 02:17:53 2011 +0100 Changed GetSourceMolareMass() and GetSourceBBabs() of boxmaker.py. - now all is done in a single molecuilder run, there are no more temporary files. - also renamed UpdateSource -> InitialiseSource. commit f89b45ee33bbea1e1d6d5257495f6e87aeb29aeb Author: Frederik Heber Date: Wed Nov 2 02:13:59 2011 +0100 Added Reaction CalculateBoundingBoxAction. - calculate bounding box via Box::getBoundingPlanes() of the current domain. - also added regression test Analysis/CalculateBoundingBox. exporting std::vector as return value. - had to add trick with exporting std::vector to python with help from stackoverflow("does boost python support a function returning a vector, by ref or value?") answer. We construct a vec_item template class which exports getter/setter, append, ... functionality to python. - This ends in typedef doubleVec in namespace MoleCuilder::PythonTypes, while within the Reaction its just a typedef defined in the .def file. - this type had to be prefix with PythonType_ to make it distinguishable from the functions in dir(mol) for Python/AllActions regression test. - TESTFIX: Also we modified Python/AllActions regression test to go in a loop over each command, thus stdout and stderr can be uniquely associated to the very command that caused them. This makes debugging a lot easier ... for this purpose the dir(mol) and filtering was placed into new listcmds.py. commit 55f299a96cda2fac6f625bb867138422ecaec949 Author: Frederik Heber Date: Wed Nov 2 01:07:42 2011 +0100 Added Reaction CalculateMolarMassAction. - calculate molar mass (atomicmassunits) of selected atoms. - also added regression test Analysis/CalculateMolarMass. commit 6c61a977646015caffe230700aebdc01790a832d Author: Frederik Heber Date: Wed Nov 2 00:53:12 2011 +0100 Added regression test for boxmaker.py. commit 2aa9eff5378f2eadd12d48e3d6915fb4c37291a5 Author: Frederik Heber Date: Wed Nov 2 00:53:28 2011 +0100 UpdateSource function of boxmaker.py is not an external call to molecuilder anymore. - this is unusable in a test and was contradictory to the intention of a script. As now we may safely reinit() the pyMoleCuilder module, we may use it to do the same as the external call did. commit dfef3fc238df9e0ba66db8ecc94dad83474bf43f Author: Frederik Heber Date: Wed Nov 2 00:27:34 2011 +0100 FIX: empty states Action::success and ::failure are now managed by ActionHistory. - the python function reinit() runs into trouble because the static entities Action::success and ::failure are missing after a reinit() causing a std::exception to be thrown. Now we manage the static state instances via ActionHistory cstor and dstor. As ActionHistory::init() must be called before any action is called, this should always work well. - added static function Action::createStaticStateEntities(). commit d628da29ae70d201baafa642587e70d7cecb50d1 Author: Frederik Heber Date: Tue Nov 1 23:29:39 2011 +0100 Added docstring also to python exported functions without any parameters. - actually the trick is to not give a std::string but just "...", probably there is some magic involved that can not deal with real instances but just with const values or something ... commit 567357327df58f213deda25db79a4a8e493bf567 Author: Frederik Heber Date: Tue Nov 1 23:28:03 2011 +0100 FIX: cleanUp() replaced by module_reinit() and .._exit() in pyMoleCuilder. - this causes ostream to be set with FormatParserStorage and hence files to be correctly written. - module_reinit() is python exported as "reinit". This allows for reuse of the module. - both module_... reside in namespace MoleCuilder::detail. - ..._reinit() does not use cleanUp() but only purgeStaticInstances(). commit b5d38d24f005e657e47a9754b47a4696cb55a7ff Author: Frederik Heber Date: Tue Nov 1 23:27:22 2011 +0100 Moved dumpMemory() and saveAll() from module builder_init to cleanUp. commit bcfb774f1eae99eb4252d4bb7fe6ad4d414c73db Author: Frederik Heber Date: Thu Oct 20 15:50:55 2011 +0200 Added correct shebang to boxmaker.py. - also configure fills in @PYTHON at . commit 239cc57faea9ab4ff23fdb44d3f06eb29ed9d550 Author: Gregor Bollerhey Date: Thu Oct 20 15:23:48 2011 +0200 Didn't save the file -.-" commit bfbb62f5982807ebb366202d009e31e5c9e97c0c Author: Gregor Bollerhey Date: Thu Oct 20 15:22:08 2011 +0200 Final version 1.0 - Added shebang line - Added short file describtion and author information commit c0c85f8b81b5784166c5b2636636807351221f02 Author: Gregor Bollerhey Date: Thu Oct 20 15:16:38 2011 +0200 Restructured Code - temp_source.xyz is created only once - boolean mapping with dict rather than if-tree commit b82ededdc872491af61799929b45ad2c39327723 Author: Gregor Bollerhey Date: Wed Oct 19 17:32:48 2011 +0200 Very basic documentation on how to use boxmaker commit 0ad49ccf93fe4367fe5e4e10f98aad9303587ad9 Author: Gregor Bollerhey Date: Wed Oct 19 16:39:35 2011 +0200 Update: Automatic mass calculation Also: - Shortcut for every option commit 39cbae38d744fa579f22dba076be3334081b2dc3 Author: Gregor Bollerhey Date: Wed Oct 19 13:30:16 2011 +0200 Update: Unit handling - temp might have a dimension now - Leading "!" skips processing by tool 'units' so already converted numbers can be used without specifying 'autodim off' resp. '-autodim'. - Scaling factor in unit-dictionary is float now, proper typing is GOOD. commit 751d7f1c304a7154fd9d5204d25d894f4d292c74 Author: Gregor Bollerhey Date: Wed Oct 19 13:18:08 2011 +0200 Update: Shortcuts for common Parameters commit 32bc47763858bb01bae893adc080489b7158d448 Author: Gregor Bollerhey Date: Mon Oct 17 14:08:19 2011 +0200 Update: autorotate Not tested yet, but it seems like it does *something* (means: paths etc. are correctly handled). commit 0c83d84852b4a347a220986437c3548d9f81ee7b Author: Gregor Bollerhey Date: Mon Oct 17 13:03:12 2011 +0200 Less ugly advanced version - Class (struct) based global options - Minor bugfixes - Feature: Cubic cell - Feature: Skip unit conversion - Feature: Options via cmd line - Feature: More settings TODO: - Output postprocessing (INPUTCONVs) - Auto-rotate to minimum BBox - Documentation commit 5735ba6c7b20b862fee585bf210001884dd525f6 Author: Gregor Bollerhey Date: Wed Oct 12 18:14:13 2011 +0200 Ugly base version of boxmaker.py TODO: - stability fixes - command parameters - bbox optimization - default parameters commit 54088ade157ccd5da09d83809d019879eb18bca1 Author: Frederik Heber Date: Thu Oct 13 12:51:04 2011 +0200 Added first Reaction named CalculateCellVolumeAction. - this sets the internal result to the volume of the current domain. - the result is return, when the wrapper function is called in python. - added regression tests Python/ReturnValueActions and Analysis/CalculateCellVolume. commit 6aa48530ab21a608d169e9bd28ff31e047c23a15 Author: Frederik Heber Date: Thu Oct 13 12:49:22 2011 +0200 Actions exported to Python may contain a returntype. - returntype is set in .def file, if none given void is assumed. commit 15408592ea2fab27dfbc10cc6f5b99cae3244c89 Author: Frederik Heber Date: Thu Oct 13 12:47:12 2011 +0200 Added Reaction as Action with a return value. - this is derived from Calculation, only that it is not a Process but a simpler Action. - A Reaction cannot be undone and sets an internal result. commit 874597dc61c72b0d2831c2aabdfbcb6a2a92fa4f Author: Frederik Heber Date: Thu Oct 13 12:50:36 2011 +0200 FIX: some defines were forgotten to be undefined in Action_impl_python.hpp. commit 9d613feab4e07d3a202706642be753fe3532e1b3 Author: Frederik Heber Date: Mon Oct 10 16:18:16 2011 +0200 FIX: RepeatBoxAction did not use CopyMolecule() but copied by hand. Kudos: Gregor Bollerhey. - this causes trouble with FormatParsers such as Tremolo... who have internally additional information stored. - extended regression tests Domain/RepeatBox with a test of a repeated .data file with "special" element names. Kudos to Gregor Bollerhey for finding this bug. commit f27fa7663d7fbd32d91ed4b31bbb2d9443cd7ba7 Author: Frederik Heber Date: Mon Oct 10 16:17:32 2011 +0200 TESTFIX: Added test whether calling not present command truely fails. - exit code from python is 1. commit cbb32d6cb47d22cd8f7f67d1c9c85099ca08ab67 Author: Frederik Heber Date: Mon Oct 10 16:06:58 2011 +0200 Small cosmetical changes to moltest.py. - We now use Popen to call an external process and check on its return code. If an Action fails with an internal Assertion(134), then the command is still considered as available. We are only interested in failures of the python interpreter. - changed the output a bit. Each Command is now embraced by BEGIN and END, stdout and stderr are given separately but per command. - removed XFAIL from regression test Python/AllActions. commit 3493da80dddd81670d46f553e8f9eee1d6e3e762 Author: Frederik Heber Date: Thu Oct 6 14:12:35 2011 +0200 Gathered default values for each action and wrote regression test that uses moltest.py. - options gathered by script getPossibleOptions.sh in file options.dat. missing.dat contains all currently available action and option tokens for easier retrieval of possible default values. - new regression test Python/AllActions that tests callability/presence of all Actions. This test is so far marked as XFAIL. - Note that default values in options.dat have slightly different format as they are directly stored in ValueStorage by COMMAND() call and do not go through CommandLineParser, e.g. domain is upper now lower diagonal matrix and vectors are space-, note comma-separated. commit 6ca7b9fa2e55525a9e8ae30efd5cf902378adb63 Author: Gregor Bollerhey Date: Thu Oct 6 14:11:53 2011 +0200 Wrote python script to gather all functions in a pyMoleCuilder module and test them. commit 3139b207b75597cf0c7353033c5d2be2cfbcb0ae Author: Frederik Heber Date: Mon Sep 26 15:38:55 2011 +0200 Renamed ActionTrait and ActionTraits. - the specialized Trait contains multiple OptionTraits, hence is now called ActionTrait_s_, where its base class (that just has the OptionTrait for itself) is called ActionTrait. - This caused many changes in other Action related files. commit c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1 Author: Frederik Heber Date: Mon Sep 26 15:09:24 2011 +0200 Added commented-out stuff for a extra libMolecuilderActionPython.la. - this library would contain each COMMAND() export in a single module and thus speed up the compilation when required. commit 9499532892bd8d49658849069d442402314d3a4b Author: Frederik Heber Date: Mon Sep 26 14:59:25 2011 +0200 pyMoleCuilder now has full functionality. - For each header file there is a COMMAND_stringargs() function defined. - boost python module exports all Action's COMMAND_stringargs() that are present in GlobalListOfActions.hpp. - new source file AllActionPython.hpp is created in Actions/Makefile.am that enlists all the headers. - New implemenations: - Action_impl_python.hpp: defines COMMAND_stringargs() via some boost:: preprocessor magic. - Action_impl_undef.hpp: contains undefs to the Action's .def files. - also docstrings are working, both for module and for each exported function. - so far, all arguments have a (in NODEFAULT case empty) default value. This is because we cannot perform string comparisons with the preprocessor only numeric ones (i.e. NODEFAULT would have to be 0 or alike). - Extracted cleanUp() from builder_init.cpp and placed into own module. - cleanUp() is now also registered atexit() for pyMoleCuilder where it is needed as well. - AddStaticEntitiestoIgnoreList() has likewise been extracted. commit 0712434880db2974e2088075ea714dc43b8900e6 Author: Frederik Heber Date: Mon Sep 26 14:45:13 2011 +0200 Enhanced tiny example to resemble action structure. - Pythontest now also works via a true ActionRegistry along with Actions and "Atrait" and "Otrait". - this was done to understand runtime (glibc corruption) errors in the full pyMoleCuilder module). However, fault was due to forgotten inclusion of CodePatterns library. - In the end, we have an Action that contains the wrapped greet function in a likewise static manner as COMMAND(). commit 88ba1f95ffea4dff3ac2b0232d8c51420c94f222 Author: Frederik Heber Date: Mon Sep 26 14:40:56 2011 +0200 Added Action's COMMAND_stringargs() function call. - also added ValueStorage::setCurrentValueByString() which gets type only via template specialization but whose argument is always of type string. - this allows to call the Action with string arguments only. - We need this for the (lazy) python exporting where no internal classes such as BoxVector are exposed to the python outside. commit ddde10806358ff0435053ab29908ef726307ffa1 Author: Frederik Heber Date: Mon Sep 26 14:40:05 2011 +0200 FIX: In Action's COMMAND() we don't need a params instance. commit 6a2dae6b1981184635d1c474f4ac46456c875e32 Author: Frederik Heber Date: Mon Sep 26 14:34:23 2011 +0200 Corrected indenting in ActionTrait<>s cstor. commit 05736a7a4c0757f4fa2692f61529114df82fbc3a Author: Frederik Heber Date: Mon Sep 26 14:29:05 2011 +0200 Simplified Action's COMMAND() definition a bit. commit d41313dc0509282e66f0868a09e6a611856991a0 Author: Frederik Heber Date: Mon Sep 26 13:16:53 2011 +0200 Added output operators for both ActionTraits and OptionTrait. commit dad802e0e6e39672b0c30ed680b5553146da8906 Author: Frederik Heber Date: Mon Sep 26 13:12:35 2011 +0200 Modified ActionTraits' and OptionTrait's cstor and dstor slightly. - this is mostly debugging stuff and does not change anything. commit 83e90c5ba27374b18c88dac99eccef2300119c69 Author: Frederik Heber Date: Wed Sep 21 20:56:31 2011 +0200 New function ActionRegistry::fillRegistry() fills instead of static instances. - this replaces the static instances of each Action in Action_impl_pre.hpp. - we use a file that has to list all present actions, GlobalListOfActions.hpp, as it is not possible to build such a list with the preprocessor from all include files and use it afterwards, as e.g. the define COMMAND only has a _local_ meaning inside the include but the sequence of actions must be built up from _global_ ones. - Actions/Makefile.am: creates AllActionHeaders.hpp out of this list of present actions. - specialized Actions do not register themselves anymore. commit aee2dabfffde9df5844f0967184afb9f4888bc87 Author: Frederik Heber Date: Mon Sep 26 15:04:21 2011 +0200 Added BUILT_SOURCES as appendable variable in various Makefile.am's. commit cb85f24c65f5b7e2949f048923157232b2968421 Author: Frederik Heber Date: Mon Sep 26 15:11:33 2011 +0200 Removed using namespace MoleCuilder from TxMenuLeaveAction. - due to includes this re-appeared at some other places, too. commit 693a80ce2c6b4945f8d87d19e25048dcc3c12bdf Author: Frederik Heber Date: Wed Sep 21 20:51:12 2011 +0200 Added pyMoleCuilder as python module with single exported function CommandHelp. - this is working so far only for this single Action. - Note that we search high and wide for a memory leak (glibc corruption / double free) caused by the forgotten CodePatterns library (which contains a overwritten new operator by MemDebug). commit a02f78efd40bac7cd313cfb7b23877d1db334b4d Author: Frederik Heber Date: Wed Sep 21 20:48:59 2011 +0200 FIX: Undefined preprocessor macro functions in Action_impl_....hpp. - this allows for multiple inclusion of specific Action headers when one wants to use the COMMAND's. commit d470a6c39e34e4b9b5519bea831d792d49997812 Author: Frederik Heber Date: Wed Sep 21 20:47:18 2011 +0200 Moved regression test on little test module Pythontest into subfolder. - also test is now in own test file .at that is just included in main Python folder. commit b4e6b490cbef1b6934755e6f5c13a7e46602828c Author: Frederik Heber Date: Wed Sep 21 20:45:00 2011 +0200 Added note that we really may use the address of a type_info object. - it is static const, hence always the same address is returned by typeid(). commit 807d91170ae58588000d9d66b2b98bf36218fb73 Author: Frederik Heber Date: Wed Sep 21 20:44:09 2011 +0200 MEMFIX: Virtualized destructors of OptionTrait, ActionTraits and ActionTrait<> templates and specialization. commit b2217903eb4f697a0eb4e0b6bbcc90cd7b9cc750 Author: Frederik Heber Date: Wed Sep 21 20:42:29 2011 +0200 FIX: Removed OptionTrait's copy constructor as there are no pointers in it. - With ActionTraits we need it, with OptionTrait we don't. commit d44d7b99bdaf4f9e06becc21fdd72562f7b27aff Author: Frederik Heber Date: Wed Sep 21 20:40:00 2011 +0200 Dstor of Action now unregisters itself and its Options in Action- and OptionRegistry. commit 2d31e15adb589e255571178413b29360fb148592 Author: Frederik Heber Date: Tue Sep 20 17:44:52 2011 +0200 Python tests are now launched via small script run.in. - this is taken over from project GetSpot, see http://spot.lip6.fr/wiki/GetSpot, such that the test lib does not need to be installed. - Also libPythontest now is just -module and has non standard library name Pythontest. commit 7150854fe66d2de013c8f0b6c46e3a3158927d58 Author: Frederik Heber Date: Tue Sep 20 17:09:29 2011 +0200 Simple boost::python test program added. - we have a function greet() (as featured in the boost::python tutorial) exported into a python module libPythontest.so which is test in a separate regression test for the working function. commit 46bba069f32a5e5d0491f639e519790fe58e7fa3 Author: Frederik Heber Date: Wed Nov 2 04:48:11 2011 +0100 FIX: Removed versioning info from some convenience libraries. commit 42c9e2b8523492429793bb7da6d7003aa6fe86f7 Author: Frederik Heber Date: Wed Nov 2 04:46:07 2011 +0100 FIX: getKeys() and getValues() are now simply internal functions of CheckAgainstAdjacencyFile. - somehow it was not admonished that the templated variants before did access private parts of CheckAgainstAdjacencyFile without being friends. commit 13c969ad686f3d12cdc5bdd93001c93e383c3e24 Author: Frederik Heber Date: Wed Nov 2 04:38:43 2011 +0100 FIX: atominfo::getType() does not care whether element exists. - atoms do temporarily have no element: right after they are created. Hence, one has to deal with the returned pointer being null. - this fixes a bug with the debug variant of molecuildergui crashing when loading a new molecule via WorldInputAction. commit e5cec4e2cb555c7d4508afa2f6296052dcf2e5ee Author: Frederik Heber Date: Wed Nov 2 03:25:00 2011 +0100 Removed macro bnv_have_qt, replaced by pkg-config info. - executables are searched via AC_PATH_PROGS in PATH or the one given via --with-Qt-bin. commit 22db89e82efc438f389cf621bf3caa0c33f6b876 Author: Frederik Heber Date: Wed Nov 2 02:20:28 2011 +0100 Using new version of CodePatterns 1.1.7. - m4 macro ax_codepatterns.m4 now uses flags and libs set by boost macro in test compile. - also now we support boost 1.47. commit bf33793a0d4ea93c1babd21cadd1d7fc70e7b4ad Author: Frederik Heber Date: Fri Nov 4 11:16:36 2011 +0100 Set version to 1.1.6 - Molecuilder library is now 5:2:0. - Codename "ununhexium" (atomic number of a so temporarily called element, as this release is just an intermediate to upcoming 1.2.0 as well) commit 4faa3024da62e20851f88698fbb5ec07a146908c Author: Frederik Heber Date: Wed Oct 26 10:33:46 2011 +0200 FIX: EmptyQtQuery forgot to initialise thisLayout. commit 3b5fcad4499d84f2710a43fa1bb78943cb664f7e Author: Frederik Heber Date: Fri Nov 4 15:15:42 2011 +0100 FIX: joiner, analzer and units lacked appropriate ..._LDFLAGS. - also added _CXXFLAGS (but should change nothing). - fixes bug with elswhere present boost libs. commit 3995764b4b2e69dd6c57f464bcaaf4a0839eb9c2 Author: Frederik Heber Date: Fri Nov 4 11:59:00 2011 +0100 DISTCHECKFIX: LinearAlgebra CodeChecks testsuite fails due to doubly included atlocal. commit 6bdba08a7dca2ce506c7552abbefa9853fb32452 Author: Frederik Heber Date: Fri Nov 4 10:58:04 2011 +0100 DISTCHECKFIX: all .dox files are now given as EXTRA_DIST. - otherwise they are not included in the archive and also the date_dox code check fails. commit d249533a8bc07628856561bbbef1aa20a677cbbc Author: Frederik Heber Date: Fri Nov 4 10:45:27 2011 +0100 DISTCHECKFIX: target unity.cpp has no MemDebug.hpp or config.h. - it is now excluded in the config_h and memdebug code check tests. - also removed ancient Helpers/MemDebug.cpp from unity. commit 262ecc8c14e55d0f7744557f8db358fa4e387df8 Author: Frederik Heber Date: Fri Nov 4 09:07:54 2011 +0100 DISTCHECKFIX: Forgotten .hpp files included. commit c2808e648134d01905b5a680706cb340fb79319f Author: Frederik Heber Date: Fri Oct 28 12:04:40 2011 +0200 FormatParser< xyz >::save() now uses numeric_limits. commit ab26c32fce16265ba7563805bf70265de2b4e3fe Author: Frederik Heber Date: Thu Oct 27 17:19:48 2011 +0200 Moved ThermoStatContainer to folder src/Thermostats. commit 41a467397fe65de7b369f9989fc26e6e18070f2e Author: Frederik Heber Date: Thu Oct 27 17:08:36 2011 +0200 LARGE: config class is now just a tiny container. - this was loooooobg overdue. Config.cpp contained remnants from parsing pcp files and much else. Also fragmentation depended on it. Since refactoring of MoleculeListClass and the fragmentation, we don't need it anymore. - helper functions ParseForParameters(), LoadMolecule() extracted into new module PcpParser_helper. - config class now just contains 4 variables that are generally required (especially IsAngstroem) and they should probably remain with the world. - removed some places where config.hpp was no unnecessarily included. - Moved ConfigFileBuffer.* over to subfolder src/Parser/ where it rather belongs (associated with PcpParser). commit 47d0416c5a62d6d7eb14391e14c7f3f576fb1673 Author: Frederik Heber Date: Thu Oct 27 13:53:58 2011 +0200 HUGE: Removed all calls to Log(), eLog(), replaced by LOG() and ELOG(). - Replaced DoLog(.) && (Log() << Verbose(.) << ... << std::endl) by Log(., ...). - Replaced Log() << Verbose(.) << .. << by Log(., ...) - on multiline used stringstream to generate and message which was finally used in LOG(., output.str()) - there should be no more occurence of Log(). LOG() and ELOG() must be used instead. - Eventually, this will allow for storing all errors and re-printing them on program exit which would be very helpful to ascertain error-free runs for the user. commit 50e4e51ce46632502842371460680414d8693a72 Author: Frederik Heber Date: Thu Oct 27 13:31:25 2011 +0200 Test target installcheck-local now also runs parallel with up to 4 jobs. - especially important for distcheck. commit 862b6aced84cfd7115cc1c86598d01d98e597c01 Author: Frederik Heber Date: Thu Oct 27 11:32:27 2011 +0200 All Actions are timed now, timings are given on exit. - Chronos is used for this. - new function printTiming() called in cleanUp(). commit 004ae78c93125b8c5ed36354e6ccaf507e1cc290 Author: Frederik Heber Date: Thu Nov 3 16:44:19 2011 +0100 FIX: Changes to bnv_have_qt.m4 and boost.m4. - moved search in /opt to very end of list, wherever occurring. /opt is often a network drive and hence fails in case of network outtage. - bnv_have_qt.m4: Moved Libs in test compile to end, gcc 4.6 is picky and we are checking specifically for QtCore, QtGui, and Qt3D libs, not just any. commit bbff92c91e480a376335ee7ed85901c02fc38965 Merge: 7ba268a f11c23f Author: Frederik Heber Date: Thu Nov 3 11:38:31 2011 +0100 Merge branch 'Doxygen_Documentation_Enhancement' into mergeMaster commit f11c23fb087ac6674948e06cc77219f2907614c1 Author: Frederik Heber Date: Thu Nov 3 11:35:53 2011 +0100 Added documentation on how to understand the code and its (maybe) future extensions. commit 1e3265cfdde09115536e60489297dfea655c313f Author: Frederik Heber Date: Thu Aug 26 15:29:33 2010 +0200 Changed userguide a bit. commit 7ba268a58e24918f9b4f28cee1e5b542596e56ca Merge: 13510b7 5837ddd Author: Frederik Heber Date: Thu Nov 3 10:52:29 2011 +0100 Merge branch 'DipoleAngularCorrelation' into mergeMaster Conflicts: src/World.cpp - tiny conflict in World.cpp commit f281c570d3846adae28ef56f504a320da69c7929 Author: Frederik Heber Date: Wed Nov 2 23:39:55 2011 +0100 Added .dox check to LinearAlgebra as well and various other test fixes. - module is now named linearalgebra. - installcheck-local too runs parallel. - check uses AUTOTEST_PATH. - TESTFIX: added missing \date to present .dox files. commit 5837ddd122c04b048b60eb1c43cd324f37cf1945 Author: Frederik Heber Date: Tue Oct 25 17:37:56 2011 +0200 Cosmetical fix to PairCorrelation(). commit c3a70d2e1acd8ae14b6afd834b7b50bae96f66e5 Author: Frederik Heber Date: Thu Oct 13 21:51:31 2011 +0200 Added time-step-zero option to dipole-angular-correlation. - this allows setting t_0 at some later time step than the very first one (and thus from an equilibrated moment in time and not the initial one). - although there is default value, regression tests use time-step-zero with 0. commit 870b4b91fe9f0b1046abb0bc933ec99ffab7aed1 Author: Frederik Heber Date: Thu Oct 13 21:50:52 2011 +0200 Added rejected molecule counting to DipoleAngularCorrelation(). commit a28cc4b8154803677c2110da6e9dfbc65b7bdb0c Author: Frederik Heber Date: Tue Nov 1 20:57:25 2011 +0100 DOCU: Added python as fourth user interface. commit 35a88927d82713a677dde8bd7c3df3ce9e9ba429 Author: Frederik Heber Date: Tue Nov 1 20:56:58 2011 +0100 DOCUFIX: Prefixes all three userinterface labels with userinterfaces-. commit bc341152538d05a33d83d52d16a02336b620b1f9 Author: Frederik Heber Date: Tue Nov 1 20:56:15 2011 +0100 DOCU: Added some important notes in usual mistakes to serialization.dox. commit e6c470ccb1b2c074724b8e513510f5f939adc3af Author: Frederik Heber Date: Mon Oct 31 18:29:04 2011 +0100 Fixing documentation. - removed out-dated documentation. - removed bugs with doxygen. commit 39f4c46f89ae322d0db63df2b97dc6bfb003cfe0 Author: Frederik Heber Date: Mon Oct 31 18:15:52 2011 +0100 Added CodeChecks test on whether each of .dox files contains a valid date stamp. - this is to enforce stating whether information is current or not. commit 5982c5922d9ec80de77b5dbb7184f7cc879c6eac Author: Frederik Heber Date: Mon Oct 31 18:15:21 2011 +0100 FIX: Removed at_local inclusion in nested test scripts and put in into testsuite.at. - this fixes multiple inclusion warnings. commit 750cff3758142eb977ca963eb8ede4200620a15e Author: Frederik Heber Date: Mon Oct 31 18:13:52 2011 +0100 HUGE: Update on documenation. - a general skeleton of the documentation is now in place with all the major components of MoleCuilder explained to some extent. - some information has been transfered from TRAC (e.g. install procecure) into this doxygen documentation where it is general and not specific to the situation at our institute. commit e658783525483171aa12ab81bf75d42b28dba211 Author: Frederik Heber Date: Wed May 18 21:55:05 2011 +0200 Selection is now done inside DipoleAngularCorrelation. - as molecules may change over time it makes more sense to select molecules internally right now. - DipoleAngularCorrelation() now takes Formula instead of std::vector. - also adjusted const'ness of some parameters. commit 505d059b8f5c10ec0e270a2fbd0cbe8462d545d9 Author: Frederik Heber Date: Wed May 11 18:14:56 2011 +0200 DipoleAngularCorrelation: output now contains name _and position_ of first atom of dipole molecule. - TESTFIX: Had to change _values...dat files accordingly. commit 72105aa76e82e63091a7bc60f6846f4866f741ef Author: Frederik Heber Date: Wed May 11 11:59:00 2011 +0200 Verbosity fix: DipoleAngularCorrelation() - info given when ZeroVector and atoms sizes mismatch. commit 99b87a1a736ed1a74a2c329e71072ba1de294522 Author: Frederik Heber Date: Wed May 11 11:57:47 2011 +0200 DipoleAngularCorrelation() can be told not to reset time to old value. - this should save some unnecessary re-creation of bond structure when the method is used by AnalysisDipoleAngularCorrelationAction::performCall(). - new enum ResetWorldTime in analysis_correlation.hpp to make reset statement in call verbose. commit a860a19bf886a884948976987e34a1820dac2d8b Author: Frederik Heber Date: Wed May 11 10:50:45 2011 +0200 TESTFIX: Regression test Analysis/DipoleAngularCorrelation now also checks per time step not over all time steps. - split up zero change (X) and true change (Y) case of the rotating water molecule; otherwise output files get mixed. - removed AT_XFAIL_IF from these tests. commit 13510b793af44e5bc7ff6b3cc7ea35c7ccb86c44 Author: Frederik Heber Date: Thu Oct 27 10:21:32 2011 +0200 Added regression test for setting Psi3Parser parameter reference. commit e5ece417206b4e99cde82d66079cfc947e65c7e7 Author: Frederik Heber Date: Wed Oct 26 18:23:57 2011 +0200 Added operator<< to ValueStorage. - this should ease debugging in case of a "missing" option. commit 41d023ff8dc20a2b26d06e7c4960972918c6e500 Author: Frederik Heber Date: Wed Oct 26 18:22:33 2011 +0200 Renamed SetMpqcParametersAction to SetParserParametersAction and generalized. - now we may set the parameters of basically any parser, so far it's probably just mpqc and pis3. - changed operator<<(FormatParser_Parameters): no output when value is empty string. - changed operator>>(FormatParser_Parameters): Asserts were not really making sure that value_iter and param_iter were readible. - Added regression test on setting psi3 parameters (wfn). commit 19bc7497091ba44d7d2c52ee7ba0f5997f9f291e Author: Frederik Heber Date: Fri Oct 28 17:05:03 2011 +0200 Explained most of the tests. commit 3158e6e7748f2252aa12f1b10e68729ed45ca9fd Author: Frederik Heber Date: Fri Oct 28 11:46:29 2011 +0200 FIX: FIX: broken variable docdir for DX_INIT_DOXYGEN. commit a2b0ce4a8778356724acb2bcd662a1df29a49344 Author: Frederik Heber Date: Wed May 11 10:29:57 2011 +0200 FIX: Filenames are appended with step with fixed width of 4 digits, zero filled. - FIX: step name preparation placed before. commit cda81de72ce7ee445f55ec79bd0c6eb340fc1edd Author: Frederik Heber Date: Wed May 11 10:10:27 2011 +0200 DipoleAngularCorrelation is now calculated per time step not over all time steps combined. - DipoleAngularCorrelation() gets time step to calculate orientation for. - AnalysisDipoleAngularCorrelationAction::performCall() loops over all present time steps and calls DipoleAngularCorrelation() for each. - TESTFIX: Regression tests Analysis/DipoleAngularCorrelation are marked as XFAIL until new tests are installed. commit 9e1709721fb1e279fa7c791bd154ef470bc3d091 Author: Frederik Heber Date: Wed May 11 10:00:14 2011 +0200 AnalysisDipoleAngularCorrelationAction now calculates zero orientation. - this is a preparatory step to get DipoleAngularCorrelation() calculate the orientiation per time step and not over all time steps as it is now. commit bef3b93af4906063eed476be88fb1537ca4a3326 Author: Frederik Heber Date: Wed May 11 09:59:39 2011 +0200 Restructured code in AnalysisDipoleAngularCorrelationAction::performCall(). commit 32568762b5f514a4aeb82ea1a411bfdc1f623cea Author: Frederik Heber Date: Wed May 11 09:54:00 2011 +0200 DipoleAngularCorrelation() - External zero orientation vector may be given. commit 07a47e0c167bba50906b5cc3e9289ec6e7f1c6db Author: Frederik Heber Date: Wed Oct 26 17:02:53 2011 +0200 Replaced enable/disable-hydrogen by internal switch. - changes in Fragmentation, Graph and molecule structures. - switch is now enum HydrogenSaturation that is constant everywhere except in the Actions. FragmentMoleculeAction and DepthFirstSearchAction have new parameter DoSaturation with default value of true. commit 99b0dc7573c545c2d1ab699c79e875df4d992cb9 Author: Frederik Heber Date: Tue Oct 25 14:31:39 2011 +0200 FragmentAction now has instead of path a types parameter. - new output-types parameter, is a vector for giving a list of desired output types similar to SetOutputFormatAction. - TESTFIX: as vector cannot have default value, we had to adapt the two regression tests Fragmentation/FragmentMolecule.. and the fragmentation tests. commit babcc1820497b0340a453fa9b4442f2e06d4da34 Author: Frederik Heber Date: Fri Oct 21 01:12:48 2011 +0200 MoleculeListClass::OutputConfigForListOfFragments() now uses FormatParserStorage. - Fragmentation::FragmentMolecule(): fragments in type mpqc, pcp, and xyz are stored one after the other. - MoleculeListClass::OutputConfigForListOfFragments() expects type and uses FormatParserStorage for writing. commit 09183883c4af7885de0d266ede8f220dc680b30a Author: Frederik Heber Date: Fri Oct 21 01:48:40 2011 +0200 FormatParserStorage now explicitly needs to know which formats to store automatically. - new functions FormatParserStorage::setOutputFormat() for giving this info. - FormatParserStorage::SaveAll() only calls setOstream if the format is desired. - FIX: FormatParser_common::FormatParser_common() forget to initialize saveStream. - FormatParser_common::update() only stores when saveStream is not NULL, i.e. set. - SetOutputFormatsAction now uses add and setOutputFormat(). - InputAction also adds the format of the input file. Note that this is needed to allow various output formats for BondFragments in Fragmentation without these formats eventually also being used for the writing of the main input file. commit 0a7fad383c9fd7d10f25e6da08f4bf4a9f244cc6 Author: Frederik Heber Date: Wed May 11 09:46:24 2011 +0200 Refactored part of code in DipoleAngularCorrelation into new method CalculateZeroAngularDipole(). commit 1cc6612f1b1334040e49d3ffce07d7472926e3f1 Author: Frederik Heber Date: Wed May 11 09:37:35 2011 +0200 Refactored part of DipoleAngularCorrelation into method getTrajectoryBounds(). commit be0c61a73bfd606125fbc0307b518e335d3a1ce1 Author: Frederik Heber Date: Wed May 11 09:42:43 2011 +0200 FIX: DipoleAngularCorrelation() - ZeroVector is now map over atoms, not vector over molecules. - Molecules are not consistent over trajectories, atoms however are. - hence, we store the ZeroVector for each atom of a molecule, not per molecule. commit 4b8630316b58cd0e54f594244af59c4f9560b633 Author: Frederik Heber Date: Sat Feb 19 01:09:43 2011 +0100 World::setTime() now updates bond structure of system and related changes to DipoleAngularCorrelation. - extended regression test Analysis/DipoleAngularCorrelation with xyz example whose bond structure is updated per time step. - FIX: DepthFirstSearchAnalysis::operator() did not reset bonds to unused. - FIX: DipoleAngularCorrelationAction has to work on atoms not molecules as the latter are subject to changes due to changing bond structure. - FIX: DipoleAngularCorrelation() re-calculates current set of molecules from the select atoms and stores first atom in values file, not molecule name. commit 4fc828b58deb25fc433599e0a2567df1f7b71101 Author: Frederik Heber Date: Wed Feb 16 13:56:48 2011 +0100 DipoleAngularCorrelation working with multi-timestep PDBs with CONECT entries. - new regression test Analysis/DipolarAngularCorrelation: testing rotated water dipole. commit df8759e00f2b2d82d6334340d4d0ecd763ec575b Author: Frederik Heber Date: Fri Feb 11 23:52:53 2011 +0100 Renamed test dirs Analysis/AngularDipoleCorrelation-... ->DipoleCorrelation-... commit 208237bbbc57a8a1a39e9eba2b8f9ccd181228d8 Author: Frederik Heber Date: Fri Feb 11 23:28:51 2011 +0100 Renamed DipoleAngularCorrelation(Action) -> DipoleCorrelation(Action) and new DipoleAngularCorrelation(Action). - DipoleCorrelation performs dipole orientation calculation. - DipoleAngularCorrelation calculates the change in dipole orienation over time. - new action DipoleAngularCorrelationAction commit 3a9091f060344cff8516d05b05d191d5b46b5131 Author: Frederik Heber Date: Fri Oct 21 01:11:57 2011 +0200 TESTFIX: Fragmentation tests used FRAGMENTPREFIX instead of FILENAME. - also enhanced test by checking for presence of pcp, mpqc, and xyz files in correct number. commit 851be8001d3ee00fa3ac2cfd8ae65a67a8bced04 Author: Frederik Heber Date: Thu Oct 20 13:05:14 2011 +0200 Moved functions that deal with adaptivity from fragmentation_helpers into AdaptivityMap. - Adapted Fragmentation::CheckOrderAtSite() a bit as maps of adaptive values are now all encapsulated in AdaptivityMap. commit 730d7a4efc3a2396723036e90420b93ff9ed3b03 Author: Frederik Heber Date: Thu Oct 20 12:34:17 2011 +0200 New class AdaptivityMap and moved some functions from fragmentation_helpers into it. commit 75363b3f88c851b63d6e61e7ac05f88177419a9c Author: Frederik Heber Date: Thu Oct 20 12:17:10 2011 +0200 Extracted functions from fragmentation_helpers and placed them in KeySet or Graph class. - KeySet: ScanBufferIntoKeySet() - Graph: ParseKeySetFile(), StoreKeySetFile(), ParseTEFactorsFile(), StoreTEFactorsFile(), GraphToIndexedKeySet() commit 42127c3196b85e2b52749471ca9014640269b9fb Author: Frederik Heber Date: Thu Oct 20 11:58:57 2011 +0200 Extracted definition of MoleculeListClass and put into own header module. commit f7fd17250d78b009d453e4c413831fa516bb4971 Author: Frederik Heber Date: Thu Oct 20 11:58:15 2011 +0200 FIX: Removed remnant definition of molecule::StoreForcesFile(). - function has been shifted over to MoleculeListClass some time ago. commit d3abb155bcc85709402bb9d4f61ee6386c074874 Author: Frederik Heber Date: Thu Oct 20 11:32:35 2011 +0200 Extracted MoleculeLeafClass into own module. - removed some unnecessary includes in moleculelist.cpp. commit ba94c53b55b13c65d4a227ddc75d8d7e657d9670 Author: Frederik Heber Date: Thu Oct 20 11:14:56 2011 +0200 Removed modules graph.[ch]pp. - typedef of KeyStack is placed in fragmentation_helpers. commit dadc744c2f6ef8c2075a7e5a791c33b711bd6e20 Author: Frederik Heber Date: Thu Oct 20 11:02:58 2011 +0200 Extracted Graph (map of KeySets) into own class from graph.hpp. - Placed InsertGraphIntoGraph() as its member function. commit f0674ad457e26229a9fc919b6f3659591649bf06 Author: Frederik Heber Date: Thu Oct 20 10:17:18 2011 +0200 Extracted KeySet from graph.hpp and made into distinct class. - member function operator<() replaces former KeyCompare struct. commit 246e135b36a823fc68a5447dc711b024f2d49ce7 Author: Frederik Heber Date: Wed Oct 19 19:07:28 2011 +0200 Placed FragmentMolecule, FragmentBOSSANOVA and subfunctions into own class Fragmentation. commit 212c179a20d30dfd1c8d9f011f4617d5bc87f1fc Author: Frederik Heber Date: Tue Oct 18 15:16:51 2011 +0200 Placed all functions related to BondsPerSPList into own class BondsPerShortestPath. commit d0b375b2180798e3740178ea430700a3329073f6 Author: Frederik Heber Date: Tue Oct 18 15:28:37 2011 +0200 Removed ShortestPathList. - there have been references in the code that ShortestPathList is probably obsolete meanwhile (seemingly it is). commit f67817f7834dceb2a5c0a857fa17b2481b42a01b Author: Frederik Heber Date: Tue Oct 18 14:26:01 2011 +0200 Extracted power set generation into own class PowerSetGenerator. commit 23fb721d34ba720a6277c697c046193f6203fb09 Author: Frederik Heber Date: Tue Oct 18 14:02:04 2011 +0200 Encapsulated UniqueFragments::Root with getter/setter. commit f6d1d0176076be85059fb287303c6172d2cca0a6 Author: Frederik Heber Date: Tue Oct 18 13:56:39 2011 +0200 Made some member variable of UniqueFragments private. commit a03d25a95438c62d1f4eccba93c94bb3f6281096 Author: Frederik Heber Date: Tue Oct 18 13:53:21 2011 +0200 Placed all routines working on UniqueFragments struct inside this class. - changed struct to class. commit d9a032dc6846bb5d2cf9a7b5a184c2a68e344dcd Author: Frederik Heber Date: Tue Oct 18 13:52:27 2011 +0200 Initiated own conveniance library for folder src/Fragmentation. - Makefile.am included in src/Makefile.am, library included in UIElements/Makefile.am. commit ba182315c666d68dd36bb0ef46e7f304d4644105 Author: Frederik Heber Date: Tue Oct 18 11:12:25 2011 +0200 Moved all helpers fragmentation functions into folder src/Fragmentation. commit 70879889df9c3fa9ecec560fe07215db0e872f09 Author: Frederik Heber Date: Tue Oct 18 10:50:19 2011 +0200 FIX: removed -version-info from libMolecuilderGraph. - it's just a convenience library that have no versioning. commit ec87e45589461e444811eea2933d639a2f8b3e6a Author: Frederik Heber Date: Mon Oct 17 17:23:42 2011 +0200 Rewrite of CheckAgainstAdjacencyFile. - we now construct two multimaps -- one from file, the other from World's selected atoms -- and compare these two. - added unit test on the class. commit 5fd0f4d49b0461d32ede06c7157852e0fb66eb04 Author: Frederik Heber Date: Tue Oct 25 11:48:21 2011 +0200 Set version to 1.1.5 - Molecuilder library is now 5:1:0. - Codename "Melli Beese" (first female German aviator, her flight license number is 115). commit f9495313044c5d59ac825fc0648e8ca03265262e Author: Frederik Heber Date: Tue Oct 25 11:47:01 2011 +0200 DISTCHECKFIX: regression test Fragmentations/Joining required writable fragment dirs. commit 360c8bbc74f8b9ba85e29afb3769876f4b7fd8b1 Merge: fa9d1d1 752bb4e Author: Frederik Heber Date: Fri Oct 21 00:40:59 2011 +0200 Merge branch 'Adding_Psi3Parser' into stable Conflicts: src/Parser/FormatParser.hpp src/Parser/unittests/ParserTremoloUnitTest.cpp Issues: - Element and periodentafel have been moved to folder src/Element. commit fa9d1d1f9bdda596edc780e18f57c4ea62847227 Author: Frederik Heber Date: Thu Oct 20 23:29:24 2011 +0200 FIX: CreateAdjacencyAction now uses BondGraph::CreateAdjacency. commit 539f3262192fc147f35ffbe84d178021484129ba Author: Frederik Heber Date: Thu Oct 20 15:19:21 2011 +0200 Enhanced BondGraph::CreateAdjacency() a bit. commit 9317be0fb11b31ce2211407310d3957055993f16 Author: Frederik Heber Date: Thu Oct 20 15:18:47 2011 +0200 Replaced molecule::atomVector by World::AtomComposite everywhere. commit 02504849fae5321dbdba4e3e930f7a9dda6edd06 Author: Frederik Heber Date: Thu Oct 20 14:39:01 2011 +0200 Enhanced Box::periodicDistanceSquared() by an internal_explode(). - internal_explode() works on an static internal VECTORSET(list) such that there is no need for repeated memory allocation/deallocation for said list. commit 93d78e8de4fa69e04316803de231b7406107b2d9 Author: Frederik Heber Date: Thu Oct 20 10:49:51 2011 +0200 TEST: Added missing atom keyword to regression tests on selection of cuboid and sphere. commit a8b9136123589e07842ffdaf5264dce9ddfeae73 Merge: 9c27b0a 6a51087 Author: Frederik Heber Date: Thu Oct 20 10:21:40 2011 +0200 Merge branch 'Fix_Test-Fragmentation_Header' into stable commit 6a5108701db116011bdc260e154e48610a36cc4a Author: Frederik Heber Date: Thu Oct 20 10:20:53 2011 +0200 FIX: Header name of Fragmentations test was wrong. commit 9c27b0a005883e62a6fe86a9c2d191e872d16452 Merge: 45f835e b1ac7aa Author: Frederik Heber Date: Thu Oct 20 09:04:50 2011 +0200 Merge branch 'MatrixContainer_Serialization_rewrite' into stable commit b1ac7aab284bf1319974b1e2e835aba2d14405c8 Author: Frederik Heber Date: Mon Sep 19 17:16:12 2011 +0200 Added Undo/Redo capabilities to BondLengthTableAction. - thanks to serialization of BondGraph. commit 8297610a06ece879892f92f6ac27321f60251965 Author: Frederik Heber Date: Mon Sep 19 17:15:36 2011 +0200 New function BondGraph::CleanupBondLengthTable(). - allows for removing present BondLengthMatrix. commit 1ac24b80f6b3f8aba2fbfb1c14a5d63c284fbc40 Author: Frederik Heber Date: Fri Sep 16 19:45:13 2011 +0200 Added unit test function SerializationTest to BondGraphUnitTest. commit f007a17a35c1dd25022c6a180a76cf04611c9546 Author: Frederik Heber Date: Fri Sep 16 19:37:27 2011 +0200 Added serialization capability to class BondGraph. - note that we do not serialize BondThreshold in BondGraph, is nonsense for a static member anyway. - added private default constructor for BondGraph. commit 9b6663a9104435e3330a5789ca82ba9e6f3aa7be Author: Frederik Heber Date: Fri Sep 16 19:47:32 2011 +0200 Added operator==() to BondGraph. - also added new unit test function EqualityTest to BondGraphUnitTest. commit 2d5fee5a517443fd00a0fb14e2ac95c440400ff6 Author: Frederik Heber Date: Fri Sep 16 19:29:04 2011 +0200 Added unit test functions SerializationTest for KeySetsContainer and MatrixContainer. commit 942906bb18ea082db1ef88cc4736b482eb87e71a Author: Frederik Heber Date: Tue Sep 20 12:10:14 2011 +0200 Added serialize() template functions to MatrixContainer and KeySetsContainer. - also we now require CodePatterns 1.1.6 due to valarray inclusion before MemDebug. commit 752bb4eebc964734dfa22c23ba3e97bd95f58501 Author: Frederik Heber Date: Thu Oct 6 16:05:03 2011 +0200 Added regression test Parser/Psi3. - this is heavily inspired from Parser/Mpqc. commit d640ea4f513e93f75000fdadbe0789cf1671a383 Author: Frederik Heber Date: Thu Oct 6 15:55:45 2011 +0200 Implemented Psi3Parser::save(). - also we now have working unit test on this functionality. commit 9011c1ce1292bb6459bc13092fe0c8ad098f64ec Author: Frederik Heber Date: Thu Oct 6 15:55:16 2011 +0200 Added atom::OutputPsi3Line() to output a Psi3 conforming geometry line. commit 120a864188be57481b4c722362c9ea2925039878 Author: Frederik Heber Date: Thu Oct 6 15:54:34 2011 +0200 TESTFIX: Added check whether streams are empty to ParserMpqcUnitTest::writeMpqcTest(). commit 1b145f245526521e82fb04541ca99bbfce500a42 Author: Frederik Heber Date: Fri Sep 16 19:06:19 2011 +0200 Added operator==() to KeySetsContainer and MatrixContainer. - also added unit test functions for both. commit 9758f70c8acad564988f204ebc13d19c82b5fa37 Author: Frederik Heber Date: Fri Sep 16 18:24:18 2011 +0200 Removed C arrays in KeySetsContainer and MatrixContainer. - replaced by std::vector<>s. - transition is so far very minimal, external (range) counters are still present. - extracted allocation of memory into own block in MatrixContainer::parseMatrix(). commit a9b86da232c3a8beead3fa86a30c4841166788f7 Author: Frederik Heber Date: Thu Sep 15 18:02:17 2011 +0200 Split up modules parser.[ch]pp into one module per class. - fixed inclusion of parser.hpp in some other files. - for the moment we have to use libMolecuilderUI for joiner and analyzer. - Removed inline definition from FixedDigitNumber(). commit c170915bbc3f208c828f605923829245c6a832b9 Author: Frederik Heber Date: Thu Oct 6 15:54:10 2011 +0200 Added convenience function Psi3Parser_Parameters::getReferenceName(). commit a67cf089d410daed85c0fd273c385b1120390f24 Author: Frederik Heber Date: Thu Oct 6 15:52:49 2011 +0200 Renamed Psi3Parser_Parameters::multipParam to ::multiplicityParam. commit 032f31cf80e8ee3e35032df0bfd39da32b7db018 Author: Frederik Heber Date: Thu Oct 6 13:15:56 2011 +0200 Implemented Psi3Parser::load(). - also we now have working unit test on this functionality. commit 7f570c6517b39d5c867f97f951a6d8b7300e1cdb Author: Frederik Heber Date: Thu Oct 6 13:12:35 2011 +0200 Moved operator<<() and operator>>() from Mpqc/Psi3Parser_Parameters into FormatParser_Parameters. - setting and getting of values are generalized. commit f758dd8abf6c4577aedad2b0a76999a202061c35 Author: Frederik Heber Date: Wed Oct 5 17:46:00 2011 +0200 ParserPsi3UnitTest::ParameterSetterTest() is working. commit 154a459603c8dfe4f80902f3317a2b16ae570d5d Author: Frederik Heber Date: Wed Oct 5 17:17:27 2011 +0200 ParserPsi3UnitTest::ParameterCloneTest() is working. commit 1bef077d3656c91b027c4cf35ca7eb3e79969644 Author: Frederik Heber Date: Wed Oct 5 10:52:25 2011 +0200 Added first working version of a Psi3Parser. - is so far mostly copy&paste from MpqcParser. - important parameters all are in (including valid ranges). - also added unit tests. commit ee50c1deef0fe012d0eaf1e68d36c5bb53c0b663 Author: Frederik Heber Date: Fri Sep 30 18:20:34 2011 +0200 Complete rewrite of MpqcParser_Parameters to incorporate new Parameter(Storage) structure. - FormatParser_Parameters now contains a ParameterStorage instance which contains all parameters and is easy to clone. - MpqcParser_Parameters is basically just an Init() function that fills this storage for the specific case of the FormatParser. - additionally, there are some convenience functions, enums and maps which contains strings and make setting and getting parameters more easy. - adapted MpqcParser. - adapted Unit test for MpqcParser accordingly: - no more tests on type - TESTFIX: regression test Parser/Mpqc/post/empty.in was CLHF instead of default MBPT2. As the cloning is now working flawlessly, this has been fixed. commit 89a67feeca325baa0a621159f142173ffe172e6d Author: Frederik Heber Date: Fri Sep 30 18:19:34 2011 +0200 Added StringParameter as ContinuousParameter as string do not have any sensible valid range. - this does not inherit any StringValue but implements ValueInterface right away. - also added unit test. commit c0da07019a983e8a4d1b525a29d74725a5c59bf2 Author: Frederik Heber Date: Fri Sep 30 18:02:47 2011 +0200 Added constructor that set value to ContinuousParameter and DiscreteParameter. commit ec0acc0fca5519d83e2d28d3453c58ad0e82b4e2 Author: Frederik Heber Date: Fri Sep 30 15:00:15 2011 +0200 Added ParameterStorage which is a Registry for Parameter instances. - also added unit test. commit 6b522838f6543ee1ab24529fca07826520e8de92 Author: Frederik Heber Date: Tue Oct 4 10:35:42 2011 +0200 Added operator==() to Continuous- and DiscreteParameter classes. - added comparator function for both Parameter types. - added unit tests on these. commit 39fa96414c2fb9b7b844fefc27eef74da86fe2ac Author: Frederik Heber Date: Tue Oct 4 10:34:41 2011 +0200 Added variable name and function getName() to interface Parameter. - a Parameter always must have a name (cstors without params are private). - this is preparatory for storage inside a Registry. - adapted Continuous- and DiscreteParameter's cstors accordingly, pass on to Parameter's cstor. commit c4afd1ada21b7e8c7c09cb2144a757477ed4b7f4 Author: Frederik Heber Date: Fri Sep 30 14:29:13 2011 +0200 Added Continuous- and DiscreteParameter classes. - new interface class Parameter which is a clonable ValueInterface. - Continuous- and DiscreteParameter implement the clone() function for Continuous- and DiscreteValue respectively. - also added unit tests on each clone function. commit 5f61dde6d65664e1c8372220d4cb8bcc04b686d1 Author: Frederik Heber Date: Mon Sep 12 11:03:09 2011 +0200 Removed usage of namespace std in module parser.[ch]pp. commit 3613a21865200b0e605c9c0b4a60e523f04b1811 Author: Frederik Heber Date: Mon Sep 19 16:44:45 2011 +0200 FIX: periodentafel::LoadPeriodentafel() did not load color db from path. commit 4ae823cec9aee17aaa21ae3a9dde58110c0db527 Author: Frederik Heber Date: Mon Sep 19 16:43:55 2011 +0200 periodentafel may or may not Load internal databases in its cstor. - loading extracted into private ScanPeriodentafel() function. commit 9d4ff35ec4a64e47b992434a7cedc91dad9839ec Author: Frederik Heber Date: Tue Sep 20 11:40:55 2011 +0200 Reduced library dependencies of RandomNumbers and BoxUnitTest. commit 592be9a388decc9a41c3507b7e5f23289522e8f5 Author: Frederik Heber Date: Mon Sep 19 17:29:46 2011 +0200 Moved unitests on Element... into subfolder src/Element/unittests. - new Makefile is included in src/unitests/Makefile.am. commit 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88 Author: Frederik Heber Date: Fri Sep 16 12:07:33 2011 +0200 Moved all stuff related to elements into own subfolder and has its own convenience library. - this induced massive changes in includes in other files. - we adapted PeriodentafelUnitTest to not get instance from world, but we create it ourselves. - also moved all .db files related to elements into subfolder Element/. commit 2fadb6f6487d66855d2a973ab3e063aa3e0af5b6 Author: Frederik Heber Date: Fri Sep 16 12:11:22 2011 +0200 Helpers now reside in own convenience library. - this allows for stricter dependencies for joiner and analyzer. commit dd9d69bdbc669c5669e64c225c4cde9454b3be33 Author: Frederik Heber Date: Thu Sep 15 18:03:07 2011 +0200 Prefixed double inclusion-preventing defines in header files in Helpers/ with HELPERS_. - this avoids name conflicts with other defs.hpp and helpers.hpp commit 9b5a2c623129c569571d4a77eabff8bb2bc84231 Author: Frederik Heber Date: Mon Sep 19 17:44:11 2011 +0200 Moved analysis modules into subfolder Analysis along with its unit tests. - new Makefiles are included in src/Makefile.am and src/unittests/Makefile.am. commit 498dddb270b5a81a0dc413c9707b1fd0ba8ff7fb Author: Frederik Heber Date: Fri Sep 30 14:26:44 2011 +0200 Added operator==() and operator!=() to Continuous- and DiscreteValue. - ValueInterface is now inherited virtually. - this is preparatory for class Parameter which is a clonable ...Value. - we need comparators for the unit tests on that. - unit test added for comparators. commit 84e752ece4991982e2abc41c173b1a6d98ab98b0 Author: Frederik Heber Date: Fri Sep 30 11:40:49 2011 +0200 Moved Continuous- and DiscreteValue into subfolder Parameters. - this folder is to contain all stuff related to internal parameters of the parsers. commit a7d753240301a775068e9e813720c7f0c9744b03 Author: Frederik Heber Date: Fri Sep 30 11:32:43 2011 +0200 Extended DiscreteValue to ContinuousValue and added ValueInterface for both. - new template class ContinuousValue representing a continous value with a valid range. - in order to store both DiscreteValue and ContinuousValue as parameters, both have a common interface ValueInterface that works in string only. - both classes have extensive unit tests. commit 3308b607408a811d157f5645f1d4a94e5482ebd3 Author: Frederik Heber Date: Thu Sep 29 13:03:29 2011 +0200 FIX: 3 out of 4 unit tests have not been told to throw AssertException instead of abort. commit e09d671ae5398d72cd8e8524d71f9f9b44e6b4d6 Author: Frederik Heber Date: Thu Sep 29 09:58:30 2011 +0200 Added class DiscreteValue that contains enums. - class has extensive unit test. - this should replace enums in MpqcParser_Parameters. commit d3d6c66c9874b31665d602a9fb2803e8c7fabdb3 Author: Frederik Heber Date: Wed Sep 28 14:58:10 2011 +0200 Added templated InvertMap function to ease MpqcParser_Parameters::Init(). commit 765f16856478316e039b16a1098e4f2a6bb42332 Author: Frederik Heber Date: Tue Sep 27 21:04:36 2011 +0200 Huge Refactoring of FormatParserStorage and all FormatParser's. FormatParser: - FormatParser is now a template, specialized by enum ParserTypes. - new struct FormatParserTrait is as well a template of same type, containing parser-specific information in static entities. - all FormatParsers are now specializations of this FormatParser. - all Parsers can be accessed in a unified manner, given in the new class FormatParserInterface. - common functions are placed in FormatParser_common.hpp as one cannot partially specialize a function class. - some boost preprocessor magic is used in ParserTypes and FormatParserTraits to define the template specialization or to create the ParserTypes enumeration. FormatParserStorage: - We construct all lookup tables and alikes via boost preprocessor magic from a list of all available parser (enums). - we use the templated getParser() and addParser() functions to serve parsers to the outside. Instances are as usual created only once. Tests: - tests only had to be changed because of the "renaming" of the Parsers. commit 9a6b76ea7056096d32eb9b5d2f5a438af7e0f720 Author: Frederik Heber Date: Tue Sep 27 12:38:50 2011 +0200 Refactored enumeration ParserTypes into extra module. commit ebb87c7a55e63dedb418fb7cf9a03772ada9111e Author: Frederik Heber Date: Tue Sep 27 12:38:12 2011 +0200 FIX: Added check whether suffix belongs to well-defined parser type. commit 6d0f058e7c5c56b22245c79b218fae3eadf5b161 Author: Frederik Heber Date: Tue Sep 27 11:59:04 2011 +0200 Removed all FormatParserStorage::get() and ::set(). - we now call directly the template getParser<>(), setParser<>() versions in the few places needed. - simplified ::load() and ::save() a lot by using getTypeFromSuffix() instead of the ugly if sequence. commit e114e3248317a8dd940a02e562b964986a19cba6 Author: Frederik Heber Date: Tue Sep 27 11:34:19 2011 +0200 FormatParserStorage::add...() and ::get...() now use internally the templated functions. commit db67ea17aa551d3049097b9c184e75073c2fa662 Author: Frederik Heber Date: Tue Sep 27 10:32:36 2011 +0200 Added template getParser/setParser to FormatParserStorage. - specialized templated getParser/setParser in FormatParserStorage will soon replace all the add..() and get...() functions. commit 629e436dfaae8a6f744563906c2fb347afa4a696 Author: Frederik Heber Date: Mon Sep 19 17:33:51 2011 +0200 Moved unitests on BondGraph into subfolder src/Graph/unittests. - new Makefile is included in src/unitests/Makefile.am. commit 45f835e8c203e278cf19fe6699144297ddcc29a7 Author: Frederik Heber Date: Fri Oct 14 14:10:02 2011 +0200 Added Undo/Redo capabilities to RepeatBoxAction. - adapted regression tests. commit 34fbb3fde7c90f235a86b15ee32ef575800bb53f Author: Frederik Heber Date: Fri Oct 14 14:09:30 2011 +0200 FIX: CopyAction did not simply use removeAtomsinMolecule(). commit cbfb9a5a855848ef4183265a6f39366c22d0c5df Author: Frederik Heber Date: Wed Sep 14 18:12:12 2011 +0200 Added Undo/Redo capabilities to ScaleBoxAction. - adapted regression tests. commit 7b4a290b3d37b54a794d7dc819b69614c3c9a67f Author: Frederik Heber Date: Wed Sep 14 18:00:31 2011 +0200 Added Undo/Redo capabilities to ChangeBoxAction. - removed XFAIL from regression tests. commit de7d1dba7824fa30f6db19bd9e5951529efb0758 Author: Frederik Heber Date: Wed Sep 14 17:58:15 2011 +0200 Added Undo/Redo capabilities to CenterOnEdgeAction. - adapted regression test. commit 23526ca91bfbf2679afc5840c9ee7c434447dce7 Author: Frederik Heber Date: Wed Sep 14 17:46:05 2011 +0200 Added Undo/Redo capabilities to CenterInBoxAction. - adapted regression test. commit e670e4be73c7724177f5fef761653d7f8432d689 Author: Frederik Heber Date: Wed Sep 14 17:25:14 2011 +0200 Added Undo/Redo capabilities to BoundInBoxAction. - also added regression test. commit 9cd6bf995419cdfd5a5058be82ebeb15acdb539c Author: Frederik Heber Date: Mon Sep 12 11:07:45 2011 +0200 Added Undo/Redo capabilities to AddEmptyBoundaryAction. - adapted regression tests. commit ce133f70502bb6727370591a8ac8595935e943e1 Author: Frederik Heber Date: Wed Oct 12 16:29:04 2011 +0200 Initial commit for enhancing doxygen documentation. - added .dox types to FILE_TYPES in Doxyfile. - added folders documentation to both src/ and LinearAlgebra/src. - added some preliminary files to both which should be filled. - the idea is to have all documentation that is not associable to a specific class (e.g. serialization) in an extra file. - also we should introduce groups and generally order and enhance documentation. commit 0b004b9c4dd37a728f061baad5c2608f74225c66 Author: Frederik Heber Date: Mon Sep 19 17:49:27 2011 +0200 Moved all unittests on Tesselation into subfolder Tesselation/unittests. - new Makefile.am is included in src/unittests/Makefile.am. commit d127c80ca46c99e6f56f7584ee0691672287c486 Author: Frederik Heber Date: Thu Sep 15 16:51:45 2011 +0200 Moved modules related to Tesselation into own source subfolder. - This required quite a lot of changes in includes. commit feb7dfc315521e9dc2c1caf69c64722e14330c18 Author: Frederik Heber Date: Fri Sep 16 18:55:27 2011 +0200 Added unittests to Fragmentation subfolder. - added empty tests for KeySetsContainer and MatrixContainer. commit bc28b0f3f8149d6034a044085ee96722cb9a75e3 Author: Frederik Heber Date: Thu Sep 15 16:43:32 2011 +0200 Moved modules associated with fragmentation into source subfolder Fragmentation. commit 878044f2802b7b4799a56748e65367ee5b94e541 Author: Frederik Heber Date: Thu Oct 13 20:26:44 2011 +0200 Added (simple) regression tests for joiner and analyzer for heptan. - this is preparatory for rewrite of MatrixContainer upon which both rely. commit 88f62988b19f6b6b102c0be34eb40d8e219b8414 Author: Frederik Heber Date: Thu Sep 15 15:27:16 2011 +0200 Added initial testset of files for regression test on joiner. commit a8b10ae6556ba2f63b2925e9a9fecdaefaed1d93 Author: Frederik Heber Date: Fri Sep 16 12:11:59 2011 +0200 FIX: Shifted ANALYSIS... in src/Makefile.am to alphabetical ordering. commit f17b5fdb567912c8c5f01b11c6ce2abb2240431c Author: Frederik Heber Date: Thu Sep 15 18:04:31 2011 +0200 FIX: FormatParser does not depend on parser.hpp. commit 5930bc9d068e2a8cc5f19f5538b7f1a26949ef23 Author: Frederik Heber Date: Thu Sep 15 18:03:59 2011 +0200 FIX: AtomIdDescriptor just needs types.hpp include. commit 2329be5e074c3d04bef8d010b88f72b525e01901 Author: Frederik Heber Date: Mon Sep 12 11:01:53 2011 +0200 FIX: Inclusion of Box.hpp is not required in AtomCommandLineQuery. commit 61ff0550acb166bb41ba1ba619e3778004377a74 Author: Frederik Heber Date: Mon Sep 19 16:46:28 2011 +0200 FIX: ElementDbAction uses CleanupPeriodentafel() instead of deleting the instance. commit ce7fdce7330c2c978a3bf964316aa2dda1dcd1e3 Author: Frederik Heber Date: Fri Sep 9 20:42:38 2011 +0200 HUGE: All Action-related codes resides now in namespace MoleCuilder. - removed all namespace std in Actions..., replaced by MoleCuilder. commit e0f8c8e2730498c806c8d1900d0c5e3189db8e51 Author: Frederik Heber Date: Fri Oct 7 13:01:56 2011 +0200 Set version to 1.1.4. - FIX: Removed AC_SUBST for LinearAlgebra version. - Codename "Jiroemon Kimura" (with currently 114 years one of the oldest people ever and still kicking). commit 7ff53fd8c0022543fcd10df1c914fc53da585a40 Author: Frederik Heber Date: Thu Oct 13 11:20:44 2011 +0200 DISTCHECKFIX: moc_*.cpp and ui_*.h files added to MOSTLYCLEANFILES. commit bcedf7cc05d257a6654f6aca74ed533f01f2dec1 Author: Frederik Heber Date: Wed Oct 12 16:24:26 2011 +0200 DISTCHECKFIX: Added Qt's .ui and .ui.h files to nobase_..._HEADERS such that they are distributed, too. commit 6016320a5194ab36544ea47ed7dceac6cb61f82e Author: Frederik Heber Date: Wed Oct 12 16:24:07 2011 +0200 DISTCHECKFIX: Added missing m4-files to EXTRA_DIST in Makefile.am. commit c074cc5fab45d02fbfcd8b94007c09ae41d6209e Author: Frederik Heber Date: Mon Sep 12 10:59:19 2011 +0200 LinearAlgebra version is now 1.0.3. - Library version is now 3:0:0, API version is 1.0.3. commit c2e56705b36163307f5a111381f66c386e164bad Author: Frederik Heber Date: Mon Sep 12 10:46:41 2011 +0200 Added serialization capability to RealSpaceMatrix. - added SerializationTest to MatrixUnitTest. - Requires CodePatterns 1.1.5 due to serialization header and problems with MemDebug. commit 29cbe9eb5045c2dc5460417786abf8dd54510240 Author: Frederik Heber Date: Fri Sep 9 23:30:06 2011 +0200 Added serialization capabilities to VectorContent and MatrixContent. - both a bit tricky due to gsl_vector and gsl_malloc. - TEST: also added SerializationTest() to either UnitTest. commit c5038eb29dd533dd1cd33dee2c21d56fbd61fcd0 Author: Frederik Heber Date: Fri Sep 9 23:24:02 2011 +0200 Made MatrixContent and VectorContent dimensions const by placing into extra class. - new classes MatrixDimension and VectorDimension. - they only displays getters to the outside. Thus, we may savely serialize them without having to disable the constness. commit c8b17b55097e09730f211d414d01a4b65d6e8a5b Author: Frederik Heber Date: Tue Oct 11 16:45:18 2011 +0200 DISTCHECKFIX: Added missing chmod u+w were appropriate. - This is necessary as files are copied as read-only which prevents molecuilder from writing changes to file. commit 220cf64c6ebf68c0e5bed116415d5287df404a6a Author: Frederik Heber Date: Fri Sep 9 18:54:58 2011 +0200 Added Undo/Redo capability to ElementDbAction. - thanks to serialization of periodentafel and element. - !NOTE! when serializing pointers inside classes: header file of this class must at some point be present (due to the templated serialize function). - TESTFIX: Updated regression test for ElementDbAction. Loaded databases are now different and this reflects in .conf output file. commit 35a25a5e7b6adf34c70b8e928981ffc70f9b5cd4 Author: Frederik Heber Date: Wed Oct 12 15:00:32 2011 +0200 AtomInfo does not store ref to element anymore but only atomic number. - if we want to allow for elements to be changed, no refs may be stored at other places. Now we just store the atomic number and look up the element in the periodentafel on request. commit b6080419d0487202fd76c9e76fba31c44bf97c46 Author: Frederik Heber Date: Fri Sep 9 15:12:21 2011 +0200 Added serialization to class periodentafel. - added unit test on comparison and serialization. - FIX: removed inclusion of PeriodentafelUnitTest.hpp in periodentafel.hpp as forward declaration is sufficient. - ComparisonTest and fix of operator==() for class periodentafel. commit d7d0227486bc1c19c9648ca87b259ad4cf6fa8c2 Author: Frederik Heber Date: Fri Sep 9 14:02:18 2011 +0200 Added serialization functionality to class element. - also added extensive unit test on class element. - we use boost::serialization. commit bae8b0a28256b8566e57053ad9e6fe49dd1c2b39 Author: Frederik Heber Date: Fri Sep 9 14:00:41 2011 +0200 FIX: some smaller changes to class element. - removed those nonsense ref getter for symbol and name. Now, getter only return const ref. - NDIM -> 3 and removed inclusion of defs.hpp. - int -> size_t as we desire an array size. - initializing now some forgotten values in default cstor. commit f08ae71ecd45b3ee35670dda17aad600096f37e5 Author: Frederik Heber Date: Wed Sep 7 18:35:59 2011 +0200 Extension of usage of Tsuna's boost.m4 macro. - boost.m4 from https://github.com/tsuna/boost.m4.git (serial 16 + updates). - LinearAlgebra does not depend on any boost libs only two headers and CodePatterns. - Presence and Usability of every boost header and lib is now checked. - Using updated ax_codepatterns.m4. - FIX: boost has not been possible to link with if not residing under some default path. This is now possible. commit 78d5b295fa5c42519eac5454fe4513a96fe11df3 Author: Frederik Heber Date: Mon Sep 5 19:25:14 2011 +0200 Added Undo/Redo capability to LoadAction. - Added cloning of FormatParser_Parameters before the file is loaded such that FormatParser (here only MpqcParser) is returned to original state. - Additionally, we just store molecule's id and the file's prefix and suffix in the undo state. - TESTCHANGE: Removed XFAIL's from all Parser load's Undo/Redo tests. commit aa8cc2489bb25c1b7c91aff06cb26327b39a7afd Author: Frederik Heber Date: Tue Sep 6 10:34:01 2011 +0200 TESTFIX: Regression tests for Parser load now correctly compares the undo case against empty file. - added correct emoty file to each Parser test's post folder. - adapted undo case for each load test to compare against the empty file. - note that tests for Undo/Redo are still marked as XFAIL. commit 5c54721f1805c72ffcc7cfd5b2f209ed7ebc7847 Author: Frederik Heber Date: Tue Sep 6 10:35:03 2011 +0200 FIX: PdbParser::save() now writes correct empty file. - PdbParser::save() writes "REMARK...\nEND\n" even if there are no atoms (and hence no timesteps). commit 4151b06b3d969dc206995ba2f620979d5dc0a494 Author: Frederik Heber Date: Tue Sep 6 10:22:03 2011 +0200 FIX: Parser's dstor were not virtual despite inheritance. commit c1db05903a75be5fb69205e949bced95e69b4a1c Author: Frederik Heber Date: Tue Sep 6 10:45:22 2011 +0200 Abstracted FormatParser_Parameters and made it "Clone"able. - this is preparatory for having an undoable LoadAction. - is so far only used by MpqcParser_Parameters. - FormatParser_Parameters::clone() clones the instance (uses CodePattern's Clone pattern). - FormatParser has pointer to FormatParser_Parameters. - MpqcParser now has parameters as inheritance from FormatParser, allocates in cstor, removes in dstor. - new function MpqcParser_Parameters::makeClone() sets instance to be a copy of the given one. - MpqcParser: replaced direct access to params by getParams(). - added ParameterCloneTest to ParserMpqcUnitTest. commit e611dcada623ad28011aa5d0079a58228b4f54e8 Author: Frederik Heber Date: Mon Sep 5 19:31:55 2011 +0200 FIX: AT_KEYWORDS requires _space_-separated list of keywords. commit 6bc86c8f315a1909525c8dcf9bfe9a40927a306f Author: Frederik Heber Date: Mon Sep 5 19:24:31 2011 +0200 Implemented specific AtomRemoved(),AtomInserted() for Pdb and Tremolo parsers. - each remove information from their ..AtomInfoContainers, if present. commit 38f9917c644ed150841c7a1a6aa20bc1363313c6 Author: Frederik Heber Date: Mon Sep 5 19:23:16 2011 +0200 FormatParser now listens to World::AtomRemoved and ::AtomInserted notifications. - World now has const iterators for selectedAtoms and selectedMolecules. - FIX: RemoveAction was broken in usage of beginSelectedAtoms() for removing them! This is fixed. Same for FragmentAction() where non-const iterator had been used for fragmenting. - The above was caused by the following (we would stumble over receiveNotifications() going into void): - new virtual functions AtomRemoved() and AtomInserted() which the specific parsers overwrite, e.g. to remove additional information when the associated atom is removed. commit ab4a330bb4a5a2e75bd17f63fc36cba9ce4edaad Author: Frederik Heber Date: Mon Sep 5 19:22:26 2011 +0200 FIX: World::destroyAtom() now informs before atom's destruction, not after. commit 35bf6be58e0770834fcf4a7d8a69d69658043b29 Author: Frederik Heber Date: Mon Sep 5 12:46:14 2011 +0200 TESTFIX: Parser/Mpqc-SetParameters/set-theory working. - removed XFAILs - MpqcParser_Parameters::setter() yes/no and 1/0 allowed as bool strings. commit 89643db5d138dd16f16f5289031ddcc7811d46e5 Author: Frederik Heber Date: Fri Sep 2 12:12:01 2011 +0200 Enabled also un selection when clicking already selected atoms. - introduced ... which allow for just knowing the id (which is all needed): - World::isAtomSelected(), - World::isMoleculeSelected(). commit b7ff035ccbca9dd3a5ea57a4476fb4ec3fbec0b7 Author: Frederik Heber Date: Fri Sep 2 12:11:27 2011 +0200 Selection NotAtomByIdAction now gets atomId_t not const atom *. - see Selection AtomByIdAction. commit 0e9ffe3f980f1dc11a0b7b21a4342660cfc00b4f Author: Frederik Heber Date: Fri Sep 2 11:58:14 2011 +0200 Enabled selection when clicking atoms. commit 5a88409929fafa0edd9c452df1f3d525d7db4154 Author: Frederik Heber Date: Fri Sep 2 11:56:53 2011 +0200 Selection AtomByIdAction now gets atomId_t not const atom *. - This makes it possible to use it with the GUI where we know the id, not the ref. (and pointer is too low-level, retrieving it should be the problem of the action, not the query). commit 12948c2ccfa9172ddcc2b58e9905c238b969ea5d Author: Frederik Heber Date: Fri Sep 2 11:54:17 2011 +0200 Added new Query for std::vector of unsigned int. - this is preparatory to make selection rectangle possible. commit 838cd09f5b0b8fc58fc121f2fad94ab4a811175b Author: Frederik Heber Date: Fri Sep 2 11:21:45 2011 +0200 Added new Query for unsigned int. - this is preparatory to switch select-atom-by-id to true atomId_t query. commit 65487f331fd5824af614cee6c3d083360a9f4d4b Author: Frederik Heber Date: Fri Sep 2 10:42:34 2011 +0200 FIX: hoverChanged() and ..Clicked() now also works for loaded molecules. - introduced signal WorldScene::changeOccured() which triggers a private flag changesPresent in GLWorldView to call initialize() on next paintGL() event. commit a099d37e9af2d031e927cb528eae711e79891eef Author: Frederik Heber Date: Fri Sep 2 10:13:35 2011 +0200 FIX: hoverChanged() again working for immediately loaded molecules. commit df765f38b6dbe853b2dd20ffbd223c4457a00482 Author: Frederik Heber Date: Fri Sep 2 10:13:18 2011 +0200 gitignore ignores new .autotools of eclipse. commit 9c18e48b7af8959648d5a1a088f561ed14050917 Author: Frederik Heber Date: Thu Sep 1 20:17:08 2011 +0200 FIX: Observers (GLMoleculeObject_atom, GLWorldScene) sign off on destruction. commit 5e2f80b94564cd7797be678d694bf8d3012bd825 Author: Frederik Heber Date: Thu Sep 1 19:06:04 2011 +0200 BondedParticle no more hands out non-const ListOfBonds. - the few required instances were always for removing all bonds inL - GraphCreateAdjacencyAction::performCall(), - MoleculeCopyAction::performUndo(), - BondGraph::cleanAdjacencyList(), - BondGraph::resetBondDegree(), - molecule::removeBonds(), - MoleculeListClass::AddHydrogenCorrection(), - ListOfBondsTest::AddingBondTest(). - added BondedParticle::removeAllBonds(). - added BondedParticle::resetBondDegree(). - BondedParticleInfo::getListOfBonds...() now returns empty list if out of bounds (emptylist is static member variable of the class). - ListOfBondsUnitTest runs fine. commit 37b257551a03bddeeb79df686a845ed3e736653e Author: Frederik Heber Date: Thu Sep 1 18:33:11 2011 +0200 GLMoleculeObject_atom listens to BondsChanged notification. - signal is sent to slot in GLWorldScene which inserts or removes bonds for the specific atom. - i.e. now we may load a file and both atoms and bonds are correctly shown via the observer mechanism. commit db7e6dbec5ed7a09556e844d6574a820fe80de92 Author: Frederik Heber Date: Thu Sep 1 18:25:34 2011 +0200 BondedParticle:: register and unregister are private. - adding and removing bonds is possible via addBond(), removeBond(). - this wat we encapsulate the register and unregister and make sure that never a lone bond remains at one side. - adapted: - BondGraph::CreateAdjacency() - Register and UnregisterBond are OBSERVEd. - bond::Contains() is const member function now commit 7188b130f196698d071c5787a688b84efdfde506 Author: Frederik Heber Date: Thu Sep 1 15:49:14 2011 +0200 Introduced atom_observables and GLWorldView observes World, GLMoleculeObject_atom observes its atom. Observer changes: - new Channels pattern required from CodePatterns 1.1.5 and that Observable signing on and off is now with const instance possible. - class atom is now observable, encapsulated in class AtomObservable: - enums have notification types - we use NotificationChannels of Observable to emit these distinct types. - atominfo, particleinfo, bondedparticleinfo all have OBSERVE and NOTIFY(..) in their setter functions (thx encapsulation). - class GLMoleculeObject_atom signs on to atom to changes to position, element, and index. - World equally has notifications for atom (new,remove) and molecules (new, remove). - GLWorldView now observes World for these changes. Other changes: - removed additional hierarchy level for GLWidget of molecules (i.e. GLMoleculeScene removed and incorporated into GLWorldScene). commit e638f994597de00dea35ab713ed67450ce61ec6e Author: Frederik Heber Date: Mon Aug 29 12:03:29 2011 +0200 Removed changetypes.hpp. commit 5fa2bac2fc0563ed676ba8178b07597a44189e58 Author: Frederik Heber Date: Mon Aug 29 11:53:53 2011 +0200 Enhanced PdbParser to read ill-formed pdbs. - conect entries may now contain 0 as filler (and serial 0 presence is checked). - ATOM info lines may contain less than 80 chars, then name is parsed for element. - added new regression test Parser/Pdb/load-various for this. commit 029bb4e5c3a78c79d56801bff9ea647fbc143423 Author: Frederik Heber Date: Fri Aug 26 18:34:12 2011 +0200 Hovering is now working too. - signal chain installed from GLMoleculeObject::hoverChanged() through GLMoleculeObject, over GLWorldScene to GLWorldView which calls updateGL(). commit 06ebf53dbb995f5e8ab81361cc8b991ca48cb1c8 Author: Frederik Heber Date: Fri Aug 26 18:26:42 2011 +0200 Clicking on atoms works. - GLMoleculeObject_atom, GLMoleculeScene, GLWorldScene have a signal/slot chain that is gradually enriched with ids of clicked atom part of clicked molecule. commit 907636a5dab60af4f441f0c8888aadfce03987fc Author: Frederik Heber Date: Fri Aug 26 17:53:28 2011 +0200 First working version of GLWorldView that show atoms and molecules. - GLWorldView is view of model GLWorldScene. - GLWorldScene contains GLMoleculeScene for each molecule. - GLMoleculeScene contains GLMoleculeObject_.. for each atom and two for each bond. - GLMoleculeObject_... derive from GLMoleculeObject which hides the specifics of being sphere or cylinder and allows for initializing and drawing unifiedly. - so far clicking the atoms is not working (as in teaservice example). commit 04f01714d458f4a933c136873fbcc398845e35c2 Author: Frederik Heber Date: Fri Aug 26 16:54:28 2011 +0200 Removed teapotview.?pp again. - Functionality is contained in GLWorldView class now. commit a08d3c00dcbb9d956c0c86998b341be1da386fb2 Author: Frederik Heber Date: Fri Aug 26 16:49:14 2011 +0200 Replaced empty GLWordlView QWidget by TeapotView example from Qt3d. - this completes the initial test for a QGLView derived class. commit da8f976db1621e38a0ee1d854a6bd9c8aab85bd0 Author: Frederik Heber Date: Fri Aug 26 16:36:52 2011 +0200 MEMFIX: in QtMainWindow and preventing segfault. - QtMainWindow did not remove its MainMenu. - QTUIFactory's deleting app causes segfault as of now (close button might delete app already?). Removed, though causes memory leak. commit d238e7e948efa1a2e02036034b4407a09d66674d Author: Frederik Heber Date: Fri Aug 26 16:34:14 2011 +0200 Replaced GLMoleculeView by Qt3D/GLWorldView, which is as of now a dummy. - Qt3D/GLWorldView has no function but compiles. - will contain a QGLView eventually. - adapted QtMainWindow to contain the different class. commit 060ba4d6cd1eae34f74c568b5a8bba925209a97d Author: Frederik Heber Date: Fri Aug 26 16:28:48 2011 +0200 Replaced m4 macro gwqt4.m4 by bnv_have_qt.m4 - as is used with seismolo. - @MOC@ -> QTMOC, @UIC@ -> QT_UIC. - QT_LIBS has it all. - new QT_DEBUG when Qt debug should be printed or not. commit bd8788bcc2770639f10e6ae00ebace78491ad284 Author: Frederik Heber Date: Fri Aug 26 16:24:46 2011 +0200 src/Makefile.am: Adding to variable bin_PRORGRAMS. commit 573d72e37429185a7a44c99c55ce6c49640a7f88 Author: Frederik Heber Date: Mon Aug 15 12:55:56 2011 +0200 FIX: saveAll() had some senseless memory allocation. - this is a remnant of a test whether MemDebug showed this still allocated memory correctly. commit 47812bf29752df13c8f68d7f28e671425f9384a7 Author: Frederik Heber Date: Fri Aug 12 18:09:00 2011 +0200 FIX: MolecuilderGUI crashes on selecting molecule. - QtWorldView::update() set ATOMS column twice, hence FORMULA was NULL item. - rename in enum COLUMNTYPES: ATOMS->ATOMCOUNT. commit b40b9d6354d6e302484b05573727b84ac8f4106a Author: Frederik Heber Date: Fri Aug 12 17:16:28 2011 +0200 FIX: Bonds are now displayed correctly. - using Vector::VectorProduct() to correctly create normal vectors and fixed therewith GLMoleculeView::makeCylinder(). commit 29daadd534e411fe720e18c440a42be6eb53edc0 Author: Frederik Heber Date: Thu Aug 11 17:14:05 2011 +0200 Added rudimentarily working GlMoleculeView (class was empty before). - We took over the code from (ancient) branch MolecuilderGUI and adapated it to the current standards. Atoms are drawn, bonds in some so far wrong direction as well. - Note that the guz has trouble showing dialogs for all Actions. This should be some minor bug. commit 064178f528b483f670f19f89ffe6723a2f46d988 Author: Frederik Heber Date: Thu Aug 11 16:20:59 2011 +0200 Added color database to periodentafel. - periodentafel::LoadColorDatabase() added and added to cstor. - element::color as unsigned char[3] added. - element::getColor() added. - ColorDB const string in elements_db.[ch]pp added. - added LoadColorDatabase() to periodentafelTest::LoadStoreTest(). commit 81c980b965fafebb2dcfa97d9e7af728f828bf96 Author: Frederik Heber Date: Tue Aug 9 18:56:31 2011 +0200 Added new action to set the ATOMDATA in tremolo's .data output file. - new action is set-tremolo-atomdata in ParserAction. - added regression test. commit f7c19ef45479bcaff60cc9fdb2998767b71aefb3 Author: Frederik Heber Date: Tue Aug 9 18:39:43 2011 +0200 Some fixes to parsing files. - MpqcParser::save() does not store all atoms but those given in the parameters. - FIX: MoleculeListClass::AddHydrogenCorrection() and FilePresent() check with bad() and eof() whether file is missing or has ended. commit dc882751b0f5d22558db16527011af688d013cd3 Author: Frederik Heber Date: Mon Apr 25 00:34:16 2011 +0200 Set version of LinearAlgebra to 1.0.2. - LinearAlgebra library is now 2:0:0. commit 26108c891400d13c6ff2a37395d1a3566003a995 Author: Frederik Heber Date: Mon Apr 25 00:30:42 2011 +0200 FIX: Changed ambigious interface for MatrixContent::transpose(). - now, if we transpose in place, the function is transpose() (active voice). - if we transpose to other MatrixContent, it is transposed() (passive voice). - this also changed the interface for RealSpaceMatrix::transpose(). - fixes in several unit tests where before we always had to explicitly cast the matrix to const in order to make use of the passive voice form. commit 59e06352565152e740ef911af808bb55268fba36 Author: Frederik Heber Date: Sat Apr 23 22:22:03 2011 +0200 Set version of LinearAlgebra to 1.0.1. - LinearAlgebra library is now 1:1:1. due to changes to code and adding to interface VectorContent and MatrixContent. commit cec7a55776b5068824e2e8a898b8c9ba9b3b6137 Author: Frederik Heber Date: Sat Apr 23 22:20:38 2011 +0200 Added Singular Value Decomposition to MatrixContent. - this allows for solving over-determined linear system of equations in a least squares sense: || Ax - b ||^2. - Unit test added on SVD and solving of an example system. commit 7a03405921dca3b136f7e49c7e1b3797e598c4fc Author: Frederik Heber Date: Sat Apr 23 21:41:36 2011 +0200 Renamed MatrixUnitTest to more appropriate RealSpaceMatrixUnitTest. commit e420f9699375be338a4e7e5c3b2b6e979946c03c Author: Frederik Heber Date: Sat Apr 23 21:38:12 2011 +0200 Added read/write capability of VectorContent from stream. - this is all taken and adapted from MatrixContent. - Unit test function added on this. commit d2bac9e91c385f9133253b99832fac5878a01c61 Author: Frederik Heber Date: Sun Apr 24 00:51:59 2011 +0200 Added VectorContent(gsl_vector *, bool). - Via the bool it can now be specified whether VectorContent assumes ownership over the gsl_vector or just wraps it temporarily. commit 8b8a5b378d2399432b6e5b67d730a223d13d776b Author: Frederik Heber Date: Sat Apr 30 15:58:11 2011 +0200 FIX: Parser/Mpqc-SetParameters and redo/undo are working. - also Undo would check for CLKS which the file sets and is not the default value of theory, we now check for MBPT2 and Undo works. commit 473237055cdf05b40bc70aa53d5b35d6960b4daf Author: Frederik Heber Date: Sat Apr 30 15:10:10 2011 +0200 FIX: PdbParser - CONECTs with full 80 chars were not parsed correctly. - this fixes ticket #147. - also, we now write full length CONECTs. - added regression test to check on this behavior. - TESTFIX: Parser/Pdb/with-conects now diffs with '-w' to ignore white spaces errors. CONECT lines need not have full length. - TESTFIX: Molecules/BondFile/Fragmentation now diffs with '-w' as well. commit 8990879f0d70e37254ee9c7844475862be401b8a Author: Frederik Heber Date: Sat Apr 30 14:31:44 2011 +0200 FIX: PdbParser - symbol is now parsed and written in capital letters. - This fixes ticket #146. - Added regression test to check this behavior. commit f6ba43405488e9595322b8bef96c7c7fb1191d67 Author: Frederik Heber Date: Tue Sep 27 11:07:46 2011 +0200 Many smaller changes to CreateMicelleAction to get it fully working and compliant. Changes to MoleculeCreateMicelleAction::performCall(): - returns Action::success when no molecule is selected. - we check for selection of not more than one molecule. - we store full undo (positions in selected molecule and added molecules). - new parameter DoRotate to tell whether to mirror molecule along z axis or not. - FIX: we rotate to PAS only in case of more than one atom present in molecule. - FIX: copied molecules are added to World's MoleculeListClass (and correctly removed in performUndo()). - FIX: Placed shifting original molecule into own block and corrected usage of RotationAxis. - Also performUndo() is fully implemented. - we can... and shouldUndo(). - added regression test on both do and Undo. commit c521e15fac8ef6fb70fa919455eee4364ac68fa6 Author: Frederik Heber Date: Tue Sep 27 11:07:11 2011 +0200 FIX: Shifted CopyMolecule in regression tests to alphabetical order. commit c88597db2d870358b59615ead9c13f587c938698 Author: Daniel Dueck Date: Mon May 16 18:32:53 2011 +0200 Rotation of the molecule in order to bring the polar side of the molecule to the outer side of the sphere. commit 37f9d4101597f8ba2fd2cd5b4c37bdbe8c1a9691 Author: Frederik Heber Date: Tue May 10 19:30:45 2011 +0200 Changed some non-standard stuff with CreateMicelleAction. - renamed files CreateMicelle -> CreateMicelleAction. - rewrote german comments in english. - removed #define, replaced by typedefs. - removed commented-out code pieces. - TESTFIX: regression test 93 failed due to ATOMDATA line being different for tensid.data and water.data. I use the one from tensid.data and re-created the water.data with this line. Changed due to rebase onto v1.1.3: - renaming done before already. commit 2e352f30207b69623be3c5c319359d2810255ecd Author: Daniel Dueck Date: Wed Apr 6 19:17:41 2011 +0200 Because of problems with columns in data-files, some changes were done. - atom::CorrectFactor() does not set fathet to itself anymore in father's father case. - molecule::CopyMolecule() does not correct fathers anymore Changed due to rebase to v1.1.3: - removed changes to TremoloParser.cpp and boundary.cpp. commit faca99c4b3a8189ab455e43e58a6dae918e736fa Author: Daniel Dueck Date: Sat Jan 15 17:11:41 2011 +0100 MoleculeAction create-micelle: code updated; Baseshapes: procedure getHomogeneousPointsonSurface updated Changed in rebase onto v1.1.3: - replaced parser instantiations by getter to FormatParserStorage and World. - removed doubly present loop over count (creates 194^2 points). - We create now less than desired points, Unit tests checks for 194 instead of originally 200 points. commit 807c0e436d410a1be20e422e058fff53475aaef6 Author: Daniel Dueck Date: Wed Oct 13 10:26:41 2010 +0200 Daniel has recently changed his mizelledata to work as an action "create-micelle" within molecuilder. - BUGFIX: performCall() did not return an Action::success. Changes due to rebase to v1.1.3: - replaced instantiated parsers by getter to FormatParserStorage and World. - adapted .def file to present standard. - renamed CreateMicelle to compliant CreateMicelleAction. commit e2e0a5aeb2de4b1a4ca6145edf6923b383c5bd3c Author: Frederik Heber Date: Thu Sep 16 11:25:01 2010 +0200 Added Daniels version from 2010/09/15 and Makefile stuff to this branch. - Changed Daniels version a bit such that it compiles: - removed code that is in comments - BUG: FragmentationSubgraphDissection() has to be in front of removal of original molecule. - rotation done by Line::RotateVector() as well - replaced while by tighter for loops Changes from rebase to v1.1.3: - no need to populate actions, removed MapOfActions include. - replaced instantiated parsers by getter to FormatParserStorage(). - added MemDebug.hpp and config.h inclusion to mizelledata.cpp. commit c4cde16be7aa43dfc48d824ce2782f90be1dc23c Author: Frederik Heber Date: Wed Apr 27 20:37:47 2011 +0200 Set version to 1.1.3. - Codename "Donald Duck" (the license plate of his first car in a 1938 comic) :) commit e85333cbdf94b0f1a5c3369818d89b648d323a69 Author: Frederik Heber Date: Tue Oct 4 16:04:28 2011 +0200 DISTCHECKFIX: AUTOTEST_PATH is now used as path to moleculder in molecuiler.in for tests. - this closes ticket #149. commit b4e3fe35dd420400cf9a1ecb5071f492e53159a1 Author: Frederik Heber Date: Tue Oct 4 16:04:03 2011 +0200 DISTCHECKFIX: .moc.cpp files were not in MOSTLYCLEANFILES. commit 7db9bdca097aa9e4f1c2d317be2952824752399f Author: Frederik Heber Date: Tue Oct 4 13:59:19 2011 +0200 DISTCHECKFIX: Replaced AUTOTEST_PATH by real path (e.g. tests/regression). - this corrects VPATH problems with 'make distcheck'. commit 740d40e9b13bb9dbeb059d1f879dae6db1a97e2d Author: Frederik Heber Date: Thu Sep 29 18:56:25 2011 +0200 Rewrote tests/Fragmentations with autotest test driver. commit 689639d55a02f461620aa8b592dbae38a20aff61 Author: Frederik Heber Date: Thu Sep 29 18:14:28 2011 +0200 DISTCHECKFIX: Smaller changes to tests/regression Makefile.am and in configure.ac. - this is stuff learnt from rewrote of tests/Tesselations. - also added AC_CONFIG_TESTDIR for CodeChecks in tests and LinearAlgebra/tests. - atconfig files are removed in DISTCLEANFILES. commit a85f4542482b1c8da1342c3250ec1e4dbcab52f1 Author: Frederik Heber Date: Thu Sep 29 18:12:18 2011 +0200 Rewrote tests/Tesselations with autotest test driver. - this made the whole tests a lot easier (and working with distcheck hopefully, too). commit aba610cde06d025a98237132edfdeacef9fe648c Author: Frederik Heber Date: Thu Sep 29 14:46:48 2011 +0200 FIX: EXTRA_DIST in tests/Tesselations and tests/Fragmentations lacked the test files and others. commit 552597fe713aa65c498025df8719af1f913e8a62 Author: Frederik Heber Date: Thu Sep 29 09:44:37 2011 +0200 FIX: Renamed CommandLineParser_ActionRegistry_ConsistenyUnitTest -> CommandLineParser_ActionRegistry_ConsistencyUnitTest. - both in files and in class name. commit fec3813f626b40a0ef8ea6647dd2536bc93a711d Author: Frederik Heber Date: Thu Sep 29 09:22:35 2011 +0200 Replaced molecuilder's CXXFLAGS by AM_CPPFLAGS instead of only BOOST_CPP_FLAGS. commit 79de12a31074a28e29afce5800da9884f1b1cd0d Author: Frederik Heber Date: Tue May 10 14:35:11 2011 +0200 Replaced *_boost_*.m4 by boost.m4 from tsuna. - https://github.com/tsuna/boost.m4/ has a very nice boost m4 macro to check for presence of boost headers and libraries, also setting the rpath correctly. - required changes in all Makefile.ams as BOOST_... variable names have changed. - added all .m4 files to EXTRA_DIST. - added Boost's LDFLAGS to libMolecuilderUI and ..QtUI's LDFLAGS such that libs in usual paths are found, too. commit 5a8f38580d2593615980b7513d7e2e2a4c413589 Author: Frederik Heber Date: Wed Sep 7 19:14:23 2011 +0200 FIX: "position" and others were not accepted because they have been added multiple times. - some newer version (1.46) of boost program options does not seem to like multiply added options although they are all the same (type, ...). This is fixed. commit ec188cd9bf78485f7613e2bea7509b0f99ac5c34 Author: Frederik Heber Date: Fri May 6 10:27:22 2011 +0200 Fixed Doxygen usage. - using now functions from ac_doxygen.m4, added TOP_SRCDIR to DX_ENV_APPENDs. - Doxyfile's now used environment variables set by these functions. - ac_doxygen.m4 patched with this due to "not a valid shell variable" bug: https://issues.apache.org/jira/browse/AMQCPP-191 - used aminclude.m4 from doxample (by Oren Ben-Tiki) renamed to ac_doxygen_include.am. - added phony target doc that calls doxygen-doc for both molecuilder and LinearAlgebra. - DOCUFIX: fixed a doxygen bug in analysis_correlation.cpp: getDipole(). - Doxyfile(s): Both INPUTs point now to $(TOP_SRCDIR)/src, which is correct for both (separate) packages. - configure sets docdir as doc target dir. commit 632a52b11abb20d9061552caa17f2fbef9b87353 Author: Frederik Heber Date: Tue Aug 9 18:59:24 2011 +0200 FIX: boost::filesystem 1.47 changed output of extension(), stem(), and leaf(). - fix was to add .string(). - we check for BOOST_VERSION to be greater equal than 104600 to apply this fix. commit e5c233cf7fc321481d7f2bd42b55e4580bbc581e Author: Frederik Heber Date: Wed Aug 10 09:31:49 2011 +0200 FIX: replaced boost/exception.hpp by boost/exception/all.hpp. commit 416f10c2b16b2231b57ec982e4c5132067b090fa Author: Frederik Heber Date: Tue Aug 9 18:34:34 2011 +0200 FIX: help string on domain is wrong. - CommandHelpAction() gives components of symmetric matrix for domain in wrong order (upper now lower triagonal). commit d1912fffef19cf0c1e8759c90abbf98943a9e7fd Author: Frederik Heber Date: Wed Sep 28 11:45:58 2011 +0200 FIX: \text{} replacec by \mathrm{} in doxygen formulas. commit a08d6609baab55d50214c73a7aa64f50c0786260 Author: Frederik Heber Date: Wed Apr 27 20:59:09 2011 +0200 Fixed wrong version numbers in headers of testsuites. commit 718542b98ffda42460e79001a427f156caa6bcc9 Author: Frederik Heber Date: Wed Apr 27 20:34:45 2011 +0200 Filled action's token as keyword in each test. - also all keywords are now lower case. - undo and redo are listed as keywords as well if applicable. - FIX: Removed check for present molecules from SelectionActions. When none can be selected, this must not yield in failure of the Action but is perfectly acceptable. commit 43a0aebcbd9fa87981dbf5339765fb0804d755c8 Author: Frederik Heber Date: Wed Apr 27 19:33:30 2011 +0200 FIX: All Unselection actions now have keyword unselection instead of selection. commit f2872ae885ed8ca989001542d272c75794be73c1 Author: Frederik Heber Date: Wed Apr 27 19:31:05 2011 +0200 Split off Unselections from selections in Selection/Atoms. - each testsuite*.at file now just has a single test (including undo/redo). - renamed testsuite*.at files: added missing "select-" such that full action name is contained in filename. commit d70fffeeaa945095af732c68c3627ca366d9de9f Author: Frederik Heber Date: Wed Apr 27 19:12:12 2011 +0200 Split off Unselections from selections in Selection/Molecules. - each testsuite*.at file now just has a single test (including undo/redo). - renamed testsuite*.at files: added missing "select-" such that full action name is contained in filename. commit 7c958e3f7ce548c4bf2fc8abe3caa46d9990fd56 Author: Frederik Heber Date: Wed Apr 27 19:02:43 2011 +0200 Removed CheckCommand.sh in Selection/Molecules. - multiple inclusion is currently not handled by autoconf in test part. commit 93eb00f571cb1fc2dbc48382ec249ff9bc734782 Author: Frederik Heber Date: Wed Apr 27 18:16:20 2011 +0200 FIX: Added forgotten regression test for unselect-atom-by-element. - has been missing so far, though unselect tests present for all others and select test present as well. commit 520f93930dc8a9f478562e28fb307e3e18d9b0bc Author: Frederik Heber Date: Wed Apr 27 18:08:44 2011 +0200 Split testsuite*.at files in regressions/Parser. - one test per file, although undo/redo remain in same file. commit e69c87634c601039ae61a1acb0b03fc6b7bddd17 Author: Frederik Heber Date: Wed Apr 27 14:06:33 2011 +0200 Splitted off Undo and Redo parts into own tests (3-step rule). - this way tests are cleaner as there are no old files left. - added lots of Undos/Redos. Corrected all failing regression tests (of these new Undos/Redos): - new ActionExceptions, specifically ActionFailureException. - Action::call() throws ActionFailureException when returned state_ptr equals failure. - ActionHistory::undoLast(), ::redoLast() also throw when returning state_ptr equals failure. - doUI() checks for thrownActionFailureException and sets World's ExitFlag to 5. - the following Actions have canUndo/shouldUndo now true (although Undo/Redo return Action::failure): - MoleculeBondFileAction - MoleculeLoadAction - MoleculeRotateToPrincipalAxisSystemAction - MoleculeVerletIntegrationAction - the following Action's regression tests have been corrected when Undo/Redo capability was already present (e.g. empty.conf created for Undo case): - MoleculeRotateAroundOrigin - MoleculeRotateAroundSelf - MoleculeRotateToPrincipalAxisSystem - MoleculeTranslation (also for periodic) - MpqcParser - PcpParser - PdbParser - TremoloParser - XyzParser - FindNonConvexBorder(): status was always returned as false as all CheckListOfBaselines() had been commented out. commit caeeb80840441e26c65bc21cf81c49717188c5b4 Author: Frederik Heber Date: Wed Apr 27 11:16:03 2011 +0200 Changes to regression tests: replaced all $file in ".../post/$file" by file name. - target files must not be in variables, their name is fixed by the filesystem! commit 23b0c2555391ed336a0a7589e88eb386466789ce Author: Frederik Heber Date: Wed Apr 27 10:59:00 2011 +0200 Restructured test*.at files: 3-step-rule. - three-step rule: setup, test, cleanup is now each separated by empty line. - test file name is (most of the time) placed into variable $file. commit 61749d17054bcece39fba5420f0e225cd447c600 Author: Frederik Heber Date: Thu Apr 21 19:46:27 2011 +0200 DISTFIX: package.m4 missing in several EXTRA_DISTS. - also, removed $(srcdir) prefix from its Makefile target. commit 8544a33cea3ab42744bfb8341060547cca13a1f4 Author: Frederik Heber Date: Thu Apr 21 19:45:59 2011 +0200 DISTFIX: Missing header file World_calculations.hpp in src/Makefile.am. commit fdcd1b73588b7c15f87110828836b0ef8c3f12ec Author: Frederik Heber Date: Thu Apr 21 18:35:34 2011 +0200 Moved DummyUI.hpp from unittests to Actions/unittests/stubs. - note that it is only used there. - TESTFIX: changed inclusion in ActionSequenceUnitTest.cpp and ManipulateAtomsUnitTest.cpp. commit 1e882ae154f988507b4a6df2947209c31d475449 Author: Frederik Heber Date: Thu Apr 21 18:34:18 2011 +0200 DISTFIX: Removed unnecessary header file analysis_correlation.hpp in unittests/Makefile.am. commit 4cf35ac91947662b202e1ff26e201da4fd076dba Author: Frederik Heber Date: Thu Apr 21 18:32:04 2011 +0200 DISTFIX: Missing header files in UIElements/Makefile.am. - missing: - Menu/TextMenu/TxMenuLeaveAction.hpp - Qt4/Pipe/QtQueryPipe.hpp - removed allmocs.moc.cpp from QTUISOURCE and is added as nodist_SOURCES as it is a temporary file. - we now require automake 1.5 due to the above dist_, nodist_ feature. commit 94c3e76bff1ec090197bc0cff9b1bbf7cf328c05 Author: Frederik Heber Date: Thu Apr 21 18:30:58 2011 +0200 DISTFIX: Header file Shapes/ShapeExceptions.hpp missing in Shapes/Makefile.am. commit f134463bea77189705391c669077a617459502f9 Author: Frederik Heber Date: Thu Apr 21 18:30:35 2011 +0200 FIX: .def, .undef files missing in RandomNumbers/Makefile.am. commit db3dd2dc28f5ae2ebe06a69929596195f91bfa51 Author: Frederik Heber Date: Thu Apr 21 18:29:49 2011 +0200 DISTFIX: molecuilder_DATA was missing in EXTRA_DIST. - caused missing elements.db, ... commit 36f507b1bd1ba07a2cd1197180a6c112e95869c6 Author: Frederik Heber Date: Thu Apr 21 18:28:17 2011 +0200 DISTFIX: Added missing header files to src/Makefile.am. - missing: - AtomSet.hpp - Descriptors/DescriptorBase.hpp and _impl.hpp - Descriptors/SelectiveIterator.hpp and _impl.hpp - BoundaryMaps.hpp - types.hpp commit 9cd9ab2e11c145454ffd01534ce03b8cc6602d9a Author: Frederik Heber Date: Thu Apr 21 18:27:32 2011 +0200 FIX: version.c is now included in MOLECUILDERSOURCE in src/Makefile.am. - header has been missing, too. commit dd8990f0ba7a27ce4aa346f061b8500dc7c9dec0 Author: Frederik Heber Date: Thu Apr 21 18:26:04 2011 +0200 FIX: .def files of Actions have not been present in Makefile.am, although similar to headers. - added third variable ...DEFS to each subdir with all .def files. commit 3001c9e46cce0362baca007b3c061df5e0baf9aa Author: Frederik Heber Date: Thu Apr 21 18:25:23 2011 +0200 FIX: LoadAction.cpp and RemoveAction.cpp were doubly included instead of header. commit 7159ed14ff2a781a124ce96659b2d528034556fb Author: Frederik Heber Date: Thu Apr 21 18:23:50 2011 +0200 DISTFIX: Missing header files in Actions/Makefile.am - missing: Action_impl_header.hpp, Actions_impl_pre.hpp, AtomsCalculation.hpp, and AtomsCalculation_impl.hpp. commit c5e91c80bd1884a9970269987ac36bf8184710d6 Author: Frederik Heber Date: Thu Apr 21 18:22:49 2011 +0200 DISTFIX: Exceptions.hpp and VectorSet.hpp missing in LinearAlgebra/Makefile.am. commit c8cfe35f708ba5944ec355cd264568d01a3af341 Author: Frederik Heber Date: Thu Apr 21 18:20:42 2011 +0200 DISTFIX: fixed typo in EXTRA_DIST. commit 768459b03b26501a732a980c136f0b6dcf14a25c Author: Frederik Heber Date: Thu Apr 21 18:20:14 2011 +0200 DISTFIX: replaced testsuite*.at by the filenames. commit 710dde4aedd658fec9779a8e9013ded56256bef5 Author: Frederik Heber Date: Thu Apr 21 18:18:42 2011 +0200 DISTFIX: manpage file man-molecuilder.in is just molecuilder.in. commit 1bd42dbd8bac0d3b5c6d6c7811c2397026d2e5e4 Author: Frederik Heber Date: Thu Apr 21 18:17:23 2011 +0200 DOCUFIX: Fixed formula errors - replaced \text by \mathrm, \acos by \arccos. commit dc322a95fe9cc369edc721168839af35d157982a Author: Frederik Heber Date: Thu Apr 21 18:16:19 2011 +0200 DISTFIX: need to use tar-pax to allow for longer filenames in dist's archive. commit 50228e270e2ef3c849bd22b5d3dd8ee9461a9d62 Author: Frederik Heber Date: Thu Apr 21 18:15:03 2011 +0200 DISTFIX: in EXTRA_DIST autogen.sh instead of bootstrap was still listed. commit dac853cbf770cdeafc4bdd7d6a4ed6e9869cea86 Author: Frederik Heber Date: Thu Apr 21 14:03:37 2011 +0200 Rewrote HelpAction. - is currently only useful to CommandLineParser. - gives general help and either list of Actions or an Action's help. - TESTFIX: changed regression test on help as output changed (a lot). commit 406bb5602ebca0fb814a7bc8777383eb42c9599a Author: Frederik Heber Date: Thu Apr 21 14:03:08 2011 +0200 Removed verbosity of CommandLineWindow::display(). - removed "Checking presence of ...". commit ec098d161915883c8b8ee3b38268e0ea8e78164d Author: Frederik Heber Date: Thu Apr 21 13:58:38 2011 +0200 Made info of CommandLineParser::AddOptionToParser() prettier. commit e4b2f62dfca2ad7ca11a6a9379376695981407b1 Author: Frederik Heber Date: Thu Apr 21 13:57:28 2011 +0200 Added Action::help(). - Action::help() returns a string that enlists all of its options including type of argument and default values. This will be used by HelpAction. commit 13799e61558eed972ef8a0528faff8bbe010609e Author: Frederik Heber Date: Thu Apr 21 13:57:08 2011 +0200 FIX: Action::getName() is now const member function. commit 3bd460af052917a45d592fa6b0fec95c039cefb1 Author: Frederik Heber Date: Mon Apr 18 18:02:39 2011 +0200 All Actions on domain now state the final domain size. - default text is "Box domain is now ..." and is checked also in regression test. commit b7fbf02193ab395cdbc7ff2dd356938ee5660022 Author: Frederik Heber Date: Mon Apr 18 17:42:35 2011 +0200 FIX: select-molecule-by-id crashed when no molecules are present. - each molecule selection action checks whether molecules are present at all - rewrote MoleculeByIdActions to take integer from command-line not molecule reference and perform the MoleculeById selection themselves (as do all other Actions, too). - this fixes ticket #134. commit b404da2c175e7f9b95c08827089310ea2a800703 Author: Frederik Heber Date: Sat Apr 2 03:01:21 2011 +0200 Set version to 1.1.2. - library is now 4:0:0 due to "removal" of LinearAlgebra. commit 7a1dd0dd732364be0f3893be54188e99c0bbc3ce Author: Frederik Heber Date: Mon Apr 18 12:05:27 2011 +0200 Added regression tests on parsing present but empty files. - every Parser now first loads an empty file (no newlinw, 0 bytes) as initial regression test. - this closes ticket #131. commit 4fdc6536733f18fb07af327a470c5552ca8c10ce Author: Frederik Heber Date: Mon Apr 18 16:57:15 2011 +0200 FIX: XyzParser and PcpParser fail on empty but present config files. - XyzParser::load() do..while -> while - ConfigFileBuffer::InitFileBuffer() do..while -> while - ParseForParameter() - check whether initially CurrentLine < NoLines. - NOTE: ConfigFileBuffer is not written in a stable manner, checks and encapsulation are missing. It should be refactored. commit 305e7e066de5b54b2aeede90057a8e00faffd49c Author: Frederik Heber Date: Mon Apr 18 14:43:30 2011 +0200 FIX: Type is actually spelled type with TREMOLO. - corrected in TremoloParser. - TESTFIX: the following tests has to be changed accordingly: - Parser/Tremolo - Parser/Tremolo-Potentials - Atoms/Add - Filling/FillVoidWithMolecule - Molecule/Copy commit 4217e768dc3bd03c7e60ad2a4aaf951c557eab5a Author: Frederik Heber Date: Mon Apr 18 10:28:40 2011 +0200 Added regression test on --parse-tremolo-potentials. commit 4555736a848291ba2a2394892fd02081032c5861 Author: Frederik Heber Date: Wed Mar 2 17:25:13 2011 +0100 Large Commit: SUBDIRS in src/Makefile.am replaced by include. - This should let make decide on the dependencies automatically. - We had to change each Makefile.am due to different relative location now. - FIX: convenience libs were not created due to lib_LT... instead of noinst_LT... (thanks, Ralf!) - FIX: convenience libs cannot pass on dependencies on real libs, these (seemingly: libLinearAlgebra) have to be re-specified. - FIX: RANDOMSOURCE/HEADER were still present to include in libMolecuilder although RandomNumbers have been outsourced for some time already. - this should make it a lot easier for unit tests to get away with the massive dependencies because we may now include single libs and can construct stubs in replacement. commit ca2cfa90c7de8dcc5abc2fe3009b82a5946e1c28 Author: Frederik Heber Date: Mon Apr 18 14:44:04 2011 +0200 FIX: TremoloParser writes neighbours as sorted list. - TremoloParser::writeNeighbors(): indices of neighbors are now written in sorted manner. commit bf4b9ff97113f58a6031de8f9e67813336ae63f1 Author: Frederik Heber Date: Sat Apr 2 02:53:43 2011 +0200 Moved LinearAlgebra from folder src/ into distinct sub-package. - src/LinearAlgebra folder is now LinearAlgebra/src/LinearAlgebra due to include consistency. - src/LinearAlgebra/unittests have been moved to LinearAlgebra/unittests. - All Makefile.am's had to be changed due to changed location of library. - renamed libMolecuilderLinearAlgebra to libLinearAlgebra. - CONFIG_AUX_DIR is build-aux 9for molecuilder and LinearAlgebra). - m4 is symlinked from below. - build-aux now contains small README such that it is created automatically. commit 3e2225f811016c9e0bb983b9e653cc67856805b1 Author: Frederik Heber Date: Sat Apr 2 01:11:48 2011 +0200 Removed subdir Exceptions and libMolecuilderExceptions. - changes in many Makefile.am's. - this completes replacement of Exceptions by boost::exception. commit 336e331077ae1495a8fb791f9f59393e6adcb006 Author: Frederik Heber Date: Sat Apr 2 01:03:04 2011 +0200 Removed MissingValueException from Exceptions. - is now boost::exception-derived in ValueStorage.hpp. commit 88267818974ad107d18379d2ec3d0d19c96351bd Author: Frederik Heber Date: Sat Apr 2 00:29:00 2011 +0200 Removed IllegalTypeException from Exceptions. - is now boost::exception-derived in ValueStorage.hpp. commit b94634903469fbb4f8f27672f141d13d2700a169 Author: Frederik Heber Date: Sat Apr 2 00:08:13 2011 +0200 Removed NotOnSurfaceException and ShapeException from Exceptions. - ShapeException is now base class for NotOnSurfaceException, both are derived from boost::exception. commit b88fe4cde25eb17a90126edc680f80f5b35c49c9 Author: Frederik Heber Date: Sat Apr 2 00:03:21 2011 +0200 Removed Exceptions/FormulaStringParseException. - is now boost::exceptions-derived and part of Formula. commit 00bb38e01da38a92854e72c77a6654dea58e2626 Author: Frederik Heber Date: Fri Apr 1 23:33:38 2011 +0200 Removed libMolecuilderExceptions from LinearAlgebra. - now we may place LinearAlgebra into own autoconf sub-package. commit 783e885947b7814a6e0a4ae6029926646165b744 Author: Frederik Heber Date: Fri Apr 1 23:30:33 2011 +0200 Removed LinearDependenceException, MultipleSolutionsException and MathException from Exceptions. - the first two are now boost::exception-derived. - LinearAlgebraException takes the place of MathException where both have to be caught. commit 8b9c43d8a9fd262a308876876cf5a443b3dbb2b8 Author: Frederik Heber Date: Fri Apr 1 22:27:13 2011 +0200 Removed Exceptions/ZeroVectorException. - is now boost::exception-derived. - new error_info LinearAlgebraVector. commit a700c4c185c43a45a447fc2167a3e93e0a5ef567 Author: Frederik Heber Date: Fri Apr 1 22:02:47 2011 +0200 Removed Exceptions/NotInvertibleException. - is now a boost::exception-derived LinearAlgebraException. - error_info LinearAlgebraMatrixContent now takes const MatrixContent * const. commit 3bfd78571692d65b69ab59f338e6f7ff197af6f0 Author: Frederik Heber Date: Fri Apr 1 21:52:21 2011 +0200 LinearAlgebra now begins having its own exceptions derived from boost::exceptions. - boost::exceptions allows to add arbitrary information in higher context to a thrown exception and has a nice diagnostic output, allowing so-called exception wrapping maintaining exception-neutrality. - deleted Exceptions/SkewExceptions.* - new file LinearAlgebra/Exceptions.hpp. commit 2558294f484d39a0281f98d18f6262ab77448e87 Author: Frederik Heber Date: Fri Apr 1 21:26:03 2011 +0200 Removed Helpers.hpp, deleted Helpers.cpp and libMoleCuilderHelpers.la is history. - defs.cpp is now compiled into libmolecuilder.la. - ShapeUnitTest alone needs defs.cpp. - Most changes are removal of Helpers/helpers.hpp. - performCriticalExit() now inline function in Helpers/helpers.hpp. - also inclusion possible where performCriticalExit() is needed. - Helpers/helpers.hpp does not include defs.hpp anymore and this causes lots of missing Helpers/defs.hpp, CodePatterns/Log.hpp and alikes. - removed src/Helpers from configure.ac. commit 8766e72010ab64c79807df9ff4eb81ce55f43598 Author: Frederik Heber Date: Fri Apr 1 20:17:43 2011 +0200 FIX: setRandomRotation() used probably faulty rotation matrix. - MatrixTest::RotationTest() indicated that rotation matrix did not have a unit determinant. Hence, it cannot be an orthogonal matrix. - instead we use function RealSpaceMatrix::setRotation() instead. commit b81f1c37e2cae3aa13b96b83b26fd5091886b161 Author: Frederik Heber Date: Fri Apr 1 17:14:39 2011 +0200 Removed libMolecuilderRandomNumbers from LinearAlgebra. - added RealSpaceMatrix::setRotation() that accepts phi[NDIM]. - moved RealSpaceMatrix::setRandomRotation() to boundary.cpp where it is solely used. commit 819cbed89a1b1c8ad28590a925dbf1e1e2054c50 Author: Frederik Heber Date: Fri Apr 1 17:12:21 2011 +0200 FIX: MatrixTest::RotationTest() allowed also rotations matrices with det of -1. commit 0a60eeb5e43ca7bfc3e01dd52cc33418b116bbed Author: Frederik Heber Date: Fri Apr 1 17:11:55 2011 +0200 Removed libMolecuilderHelpers from LIBADDs in LinearAlgebra. commit 71129f9baea5c7b294d5612a2cf24cf00ef7b14e Author: Frederik Heber Date: Fri Apr 1 16:28:45 2011 +0200 Removed inclusion of Helpers/...hpp from LinearAlgebra. - VectorContent needed replacing MYEPSILON by LINALG_MYEPSILON. - LINALG_MYEPSILON is now function (defines are ugly!) that returns numeric_limits::epsilon() commit 5605793b50554c75171309f425f1848783edb5d0 Author: Frederik Heber Date: Fri Apr 1 15:42:40 2011 +0200 Moved PLURAL_S from Helpers/helpers to UIElements/Views/Qt4/QtStatusBar. commit 0d03166b84523d21b5a24e252f06c2d1c8836345 Author: Frederik Heber Date: Fri Apr 1 15:36:59 2011 +0200 Removed FixedDigitNumber from Helpers/helpers. - is now inlined function with MoleculeListClass and parser's MatrixContainer. commit 67acff3b2b5a7a2780e62d6485ef467f15c03a57 Author: Frederik Heber Date: Fri Apr 1 15:30:04 2011 +0200 Removed debug and debug_in that are no longer used. commit 88874313f4197328929a0851202248fa35de9d9a Author: Frederik Heber Date: Fri Apr 1 15:24:37 2011 +0200 BUGFIX: VectorContent::free_content_on_exit not initialised for VectorBaseCase. commit cd406d8141ce4864a4ec88d2970d8b496562a3bd Author: Frederik Heber Date: Fri Apr 1 15:24:08 2011 +0200 Moved sign() from Helpers/helpers to LinearAlgebra/fast_functions.hpp. commit 6f68d6fb6d9ac0188a952835078622c964fe52dc Author: Frederik Heber Date: Wed Mar 30 22:45:38 2011 +0200 Added possibility to parse MatrixContent from stream and to write to. - MatrixContent::preparseMatrixDimensions() needed due to const members rows and columns. - extended present unit test on both features. commit 0e4aa4d2a8b0ce6daba3c91d5905d1a870b8d520 Author: Frederik Heber Date: Wed Mar 30 21:25:24 2011 +0200 FIX: MatrixContent::sortEigenbasis() sorted by magnitude not value. commit abfb12fe5dc5a45969d3e096df350658a1bfb9e3 Author: Frederik Heber Date: Wed Mar 30 21:23:58 2011 +0200 VectorContent also free's ::content when delivered by pointer. - the constructor with pointer argument is meant as a wrapper around a normal gsl_vector. Hence, it should not free the gsl_vector itself. commit 644d03de2a9c4ec1df012d1871b381ea3c5c9d13 Author: Frederik Heber Date: Wed Mar 23 21:28:49 2011 +0100 Added operator+ and operator- for two MatrixContent's. - += and -= have been present and all for VectorContent, but + and - were\ missing for MatrixContent. Added those two. commit a9c55698942f788e19972e1ede73d15250e27283 Author: Frederik Heber Date: Mon Mar 14 17:15:28 2011 +0100 Removed Subspace stuff from this project. - has been relayed along with unit test into its own project: SubspaceFactorizer. commit 06aedcbf17e4e4c9e8e3bb29a2bca5c03beb986b Author: Frederik Heber Date: Mon Mar 14 11:41:50 2011 +0100 libMolecuilderLinearAlgebra is now a self-contained library fit for external use. - added LinearAlgebra.pc.in and LinearAlgebra-debug.pc.in (both require CodePatterns, the latter CodePatterns-debug). - added LINEARALGEBRA_SO_VERSION (set to 1.0.0) to configure.ac. - moved NDIM from Helpers/defs.hpp to new file LinearAlgebra/defs.hpp. commit 9b410d4225f83b0e1aa39d84b3bd1bf3123fc2b3 Author: Frederik Heber Date: Mon Mar 14 14:54:08 2011 +0100 Replace MYEPSILON in LinearAlgebra/ by LINALG_MYEPSILON. - this is preparatory for external use lib libmolecuilderLinearAlgebra. - new file LinearAlgebra/defs.hpp. commit 1be8a5db51403592a61b0f3071550ee1f2030c56 Author: Frederik Heber Date: Mon Mar 14 14:37:17 2011 +0100 Changed inclusion of LinearAlgebra/Vector.cpp. - Removed unneeded inclusion of World.hpp from LinearAlgebra/Vector.cpp. - Added required inclusion of cmath to LinearAlgebra/Vector.cpp. commit dcc22897f02ef806a05b6d07248b009c7d3925a5 Author: Frederik Heber Date: Mon Mar 7 12:02:03 2011 +0100 Added script to check all commits in a given range externally. - i.e. the repository is cloned and we go through every commit in the range by a respective git checkout including bootstrap, configure, make, and make check phase, both with and without debug. commit a9b20c0e45ff5b27b12063c8931880d9e3b01794 Author: Frederik Heber Date: Sat Apr 2 02:58:32 2011 +0200 Set current version to 1.1.1. - library is now 3:0:0. commit 37b2f913fa2e9ffae9bf60705af9678b84b39b29 Author: Frederik Heber Date: Mon Mar 7 12:01:35 2011 +0100 Added doc/html to gitignore. commit 61775a83598a3d535d294335a2a8bb6232049f6d Author: Frederik Heber Date: Thu Mar 3 02:29:55 2011 +0100 Removed templated CreateFatherLookupTable from helpers.hpp. commit 13a95397b14b03aa8f1b4580623690439ed06e5a Author: Frederik Heber Date: Thu Mar 3 02:28:42 2011 +0100 Moved molecule::CheckAdjacencyAgainstFile() into functor in Graph/. - Note that this is currently not working because there is no correct mapping from indices in the adjacency file to the indices of the atoms (and without some fixed mean of aligning atoms, this will never be possible). commit 2d4334de0df04fbf9bf9d9b86cdd57638d71e072 Author: Frederik Heber Date: Thu Mar 3 01:11:14 2011 +0100 Moved BuildInducedSubgraph from molecule into functor in Graph/. - BuildInducedSubgraph::ParentList has been reworked into map. commit dda246d334045cb752f130960f92fe011e0d85b8 Author: Frederik Heber Date: Wed Mar 2 00:23:25 2011 +0100 Made Helpers into commodity library to prevent double inclusion. - This is also preparatory for Makefile refactoring. commit d09093c691897e07d538a3b07ec8605572e2d8a9 Author: Frederik Heber Date: Tue Mar 1 15:22:07 2011 +0100 Moved all graph-related Actions into own folder Actions/GraphAction/. - added new graph menu to MenuDescription. - added new action menu Graph to CommandLineParser. commit 197e13d45cf228a9931bce7e6337668093466a83 Author: Frederik Heber Date: Wed Mar 2 14:31:11 2011 +0100 Added MenuDescription_ActionRegistry_ConsistenyUnitTest to check whether Actions have menus not listed in MenuDescription. - Menus may be added to Actions and there is so far no check on whether MenuDescriptions, i.e. the base for the menus of both QtUI and TextUI, knows about this Menu (it needs respective entries in three contained maps). commit 19290fc182f2d682bc1633033fa3d3bb37d1c9d0 Author: Frederik Heber Date: Wed Mar 2 14:12:54 2011 +0100 Added CommandLineParser_ActionRegistry_ConsistenyUnitTest to check whether Actions have menus not listed in CommandLineParser. - Menus may be added to Actions and there is so far no check on whether CommandLineParser knows about this Menu (it needs a respective program_options map). commit c6e5eb04bc75c10ffa001730944df215d101dbb7 Author: Frederik Heber Date: Wed Mar 2 15:40:38 2011 +0100 FIX: CommandLineParser::setOptions() added option_descriptions hard-coded. - this is prone to errors (which took us a while to find), instead all contained in CmdParserLookup are added to both visible and cmdline_options. commit 137ae140606b0df28861bb9c9f5359feb7c1bac3 Author: Frederik Heber Date: Wed Mar 2 14:32:43 2011 +0100 FIX: Made MenuDescriptionTest::ConsistencyCheck()'s failure message a bit clearer by giving missing token. commit 7d8aa0ed294faa7d4ce63827ae1a11ba140ffe4d Author: Frederik Heber Date: Wed Mar 2 14:11:04 2011 +0100 Typo in protecting define for MenuDescriptionUnitTest. commit efe5160ad303df71b958a8e888770461a77b5bae Author: Frederik Heber Date: Tue Mar 1 15:16:44 2011 +0100 Removed bond::nr. - has only been used by BreadthFirstSearchAdd. - changed BreadthFirstSearchAdd::AddedBonds into map. commit 2fa1dcc10971a1dc0e6a4500bbaec2e5135ac6ec Author: Frederik Heber Date: Fri Feb 25 23:49:02 2011 +0100 Removed regression folders Fragmentation/2ndOrder and ./MaxOrder. commit 49c059c36d49bc80016beb5b2ba5a56947f5f28c Author: Frederik Heber Date: Fri Feb 25 23:15:31 2011 +0100 Moved DepthFirstSearchAnalysis into functor in Graph/. Smaller fixes: - molecule::CorrectBondDegree() - does not rely on BondCount which was not necessary anyway. - DFS does not copy atoms or molecules anymore but reinitiates the current molecule structure with present atoms, used new class ConnectedSubgraph for that. New functions: - UpdateMoleculeStructure() - reinstantiates molecules. - getMoleculeStructure() - puts molecules into chained list. - adapted because of that: - DepthFirstSearchAction: uses DFS and CSA functors, also UpdateMoleculeStructure() such that CSA has current structure. - FragmentationAction: assumes connectivity fully present, DFS created. - SubgraphDissectionAction: uses DFS and UpdateMoleculeStructure(). - molecule::FragmentMolecule(): no more DFS, instead DFS has to happen beforehand and is given as parameter, used to obtain chained list for compatibility for the moment. - DepthFirstSearchAnalysis::SetNextComponentNumber() bugfix due to wrong assert. TESTFIXES: - Fragmentation and regression test Fragmentation/FragmentMolecule: FragmentationAction now needs SubgraphDissectionAction beforehand. - shifted id (down by one) due to non-copying (before: one big molecule, copied and split up system started at 1, now it starts at 0): - (Un)Selection/Atoms/AllAtomsOfMolecule - Analysis/SurfaceCorrelation - (Un)Selection/Molecules/MoleculeById (also renamed post-files accordingly) - (Un)Selection/Molecules/MoleculeByName commit 1a4d4fe643276ccfaf48040266dbe8e6b192ced2 Author: Frederik Heber Date: Fri Feb 25 22:26:03 2011 +0100 FIX: bond::~bond() checks whether the bond is a ring circle, leftatom == rightatom. - Unregistering the same atom again leads to seg'fault. commit e73ad9a5d1596d6e9a9f9c6a17bf256479595404 Author: Frederik Heber Date: Fri Feb 25 21:52:50 2011 +0100 Moved CyclicStructureAnalysis from molecule_graph.cpp into own functor in Graph/. - libMolecuilderGraph needed by libMolecuilderAction and libMolecuilder now. - replacing call to CyclicStructureAnalysis in molecule::FragmentMolecule() required removing MinimumRingSize from ::FragmentBOSSANOVA() and ::CheckOrderAtSite(). - replaced call in DepthFirstSearchAction. commit 2e4105630d51f1e775d9d45b32869bce5c038470 Author: Frederik Heber Date: Fri Feb 25 21:44:07 2011 +0100 molecule::erase() is only used by atom::removeFromMolecule(). - everywhere else -- even within molecule -- we call atom::removeFromMolecule(). - molecule::erase() is private, atom is friend to underline this. commit 0d9546d9326121813c893132980c5ec73e25ec7f Author: Frederik Heber Date: Fri Feb 25 21:35:47 2011 +0100 new function atom::unsetMolecule(). - is meant along with setMolecule() to be used by molecule only to allow for (un)setting mol reference. - atom::(un)setMolecule() is private. - AtomicInfo added also as friend to atom::setMolecule(). commit 1363de855fb482f9b1722a9ca5ef1aa1bde95a88 Author: Frederik Heber Date: Fri Feb 25 21:35:17 2011 +0100 DOCUFIX: atom - Moved all doxygen documentation to header file. commit 09ac12a511805f41520d52c772d21c17d8247458 Author: Frederik Heber Date: Fri Feb 25 21:04:45 2011 +0100 Added new class ConnectedSubgraph. - inherits list. - will be later used by DepthFirstSearchAnalysis. - mostly contains a function to generate a molecule from the contained atom list. commit 111387aec9ad3d775c5a8463dc8ce9dafad22cd6 Author: Frederik Heber Date: Fri Feb 25 22:01:16 2011 +0100 FIX: BreadthFirstSearchAdd header only includes GraphEdge, not bond anymore. commit 12920404e7a45c1ac4fe563b7c5a29891f5e662a Author: Frederik Heber Date: Fri Feb 25 20:58:54 2011 +0100 Moved bond.* to Bond/, new class GraphEdge which contains graph parts of bond. - enums Shading and EdgeType are now part of GraphEdge, hence bigger change in the code where these are used. commit 766ba546abe583269feb13496ad21d0857081c89 Author: Frederik Heber Date: Fri Feb 25 16:54:48 2011 +0100 bond::GetColor() is now static function bond::getColorName(). commit 53d6b265421d71dfd6355f93fe27b0b06473194f Author: Frederik Heber Date: Fri Feb 25 16:44:44 2011 +0100 Moved unused function BreadthFirstSearchAdd and subfunctions into functor in Graph/ - new commodity library libMolecuilderGraph and new subfolder Graph with own Makefile.am. commit 99752ac32a6b5b4b90ea6288654d966ac4421175 Author: Frederik Heber Date: Fri Feb 25 16:40:39 2011 +0100 Moved FillBondStructureFromReference from MoleculeLeafClass to molecule. commit c6123b29bfd4ed1187d08572debda704f114b2c4 Author: Frederik Heber Date: Fri Feb 25 16:22:51 2011 +0100 Moved FillListOfLocalAtoms() from MoleculeLeafClass to molecule. commit 341f2216a805ad9df99fc2dabe474ac6089179ff Author: Frederik Heber Date: Fri Feb 25 14:32:43 2011 +0100 Removed molecule_dynamics.cpp commit 435065d3d9c23062fca0bb67ff882fade26acced Author: Frederik Heber Date: Wed Mar 2 22:48:20 2011 +0100 Rewrote VerletForceIntegration into a functor in Dynamics/. - we now have the regression test working with checking against an integrated file which has not been checked though (just by eye and logged output to make sense, not against other code). commit eb33c4a913ab83436dbf30ab934797ec2d623036 Author: Frederik Heber Date: Wed Mar 2 22:40:51 2011 +0100 LinearInterpolationofTrajectoriesAction only interpolates, does not save. - This should make the action more versatile. - Saving generated paths can easily be done (and is done so for regression test) by a specific SaveSelected..Action. commit e355762f9447acb9c234eadd3df6adc314e5dee7 Author: Frederik Heber Date: Fri Feb 25 12:41:34 2011 +0100 Rewrote MinimiseConstrainedPotential to just use std::map instead of arrays. - MinimiseConstrainedPotential::operator() needs std::Map as parameter for PermutationMap. commit fe6f202b08255305d13ec735eddd6dc5bc8cdcf4 Author: Frederik Heber Date: Fri Feb 25 12:20:54 2011 +0100 New Action SaveSelectedAtoms and renamed SaveAction -> SaveSelectedMoleculesAction. - for molecules we have short cut "s", for atoms "S". - added regression tests for both: Atoms/SaveSelectedAtoms, Molecules/SaveSelectedMolecules. commit 8009ce8388c713891077297db7c3f7b0aa88b397 Author: Frederik Heber Date: Fri Feb 25 10:57:50 2011 +0100 Rewrote OutputTemperature into a functor in Dynamics/ - formerly called molecule::OutputTemperatureFromTrajectories(). - removed shortform of SaveTemperatureAction. commit 20943bae7a201e8b438123cacbc942e875e959a9 Author: Frederik Heber Date: Fri Feb 25 10:39:10 2011 +0100 Rewrote LinearInterpolationBetweenSteps into a functor in Dynamics/ - formerly called molecule::LinearInterpolationBetweenConfigurations(). commit 9e23a3785b6bdd916d370ba9157e9b76a1905c53 Author: Frederik Heber Date: Fri Feb 25 00:49:26 2011 +0100 Rewrote MinimiseConstrainedPotential into a functor in Dynamics/. - most of the stand-alone functions in molecule_dynamics.cpp have been moved to this functor as wel. - is used by both molecule::LinearInterpolationBetweenConfiguration() and molecule::VerletForceIntegration() for constrained dynamics. - MinimiseConstrainedPotential() works on molecule::atomSet for now. commit 632508ffb01a2e25577835bce4302a652209e479 Author: Frederik Heber Date: Mon Feb 28 17:11:28 2011 +0100 Moved files bondgraph.?pp -> Graph/BondGraph.?pp. commit 607eab6774ab70357425ace73b68c00a831b78da Author: Frederik Heber Date: Mon Feb 28 17:06:03 2011 +0100 BondGraph::...MinMaxDistance() now return range instead of ref as parameter. commit cff66ce85fbde649305dc9b561722a14ecc7a26c Author: Frederik Heber Date: Mon Feb 28 16:16:58 2011 +0100 Removed bool is Angstroem from all BondGraph::...() member functions. - we set IsAngstroem in constructor, and that's it. commit 111f4abc5bb4e30485671304b58753988cb819bf Author: Frederik Heber Date: Mon Feb 28 16:14:28 2011 +0100 Const-ness and cosmetic fixes to class BondGraph. - made CreateAdjacency and connected functions const members. commit 0ec7fe4ea1bdaeb2d3d9ac09962de0ea7fc2bdcd Author: Frederik Heber Date: Mon Feb 28 16:11:16 2011 +0100 Removed BondGraph::max_distance along with getter and setter. - SetMaxDistanceFromCovalentDistance() was nonsense and prone to faults and misunderstandings. - instead getMaxPossibleBondDistance() returns upper cutoff limit based on a given atomset. commit 300220077f0507b7ef3d400de839792167c20b51 Author: Frederik Heber Date: Mon Feb 28 16:00:34 2011 +0100 BondGraph::..MinMaxDistance() changed to use range. - requires CodePatterns 1.0.13 due to operator<< (range) - all ...BondGraph::..MinMaxDistance() work on range, not two doubles. - only getMinMaxDistance(BondedParticle, BondedParticle, ...) available from outside. - new function getMinMaxDistanceSquared( ) for squared interval boundaries. - internal use element pointer: - getMinMaxDistance() - BondLengthMatrixMinMaxDistance() - CovalentMinMaxDistance() - getBondLength is now private and only unit tests are friends. commit 0cbad258eb8c0251e3a78b10e2b68fdd0a5d2791 Author: Frederik Heber Date: Sat Feb 19 00:39:44 2011 +0100 Moved molecule::CreateAdjacencyListFromDbondFile() over to BondGraph and made more flexible. - extended molecule::CreateAdjacencyListFromDbondFile() to also parse TREMOLO's dbond files. - BondFileAction now has two more options: skiplines and offset to control parsing, default values assure behavior as has been. - same way CreateAdjacencyListFromDbondFile() has these two options added also. - extended regression test Molecule/BondFile with unconnected PDB and dbond file. commit 3738f09a1261e51cc253cbaa8f4766bb8f945d68 Author: Frederik Heber Date: Sat Feb 26 01:10:05 2011 +0100 Moved molecule::CreateAdjacencyList over to class BondGraph. to make this possible we had to: - enhance AtomSet such that individual const_ and iterator are templated. - FIX: FragmentationCreateAdjacencyAction needs to call BondGraph::SetMaxDistanceToMaxOfCovalentRadii() before getMaxDistance() is valid. - new function molecule::getAtomSet() which copies the internal atomSet to a vector AtomSetMixin and delivers. This is needed as PointCloudAdaptor needs a reference to a AtomSetMixin and we don't want to expose the internal set. other changes: - the following Actions do not create adjacency beforehand anymore: - DepthFirstSearchAction - MoleculeSaveAdjacencyAction - MoleculeSaveBondsAction - changes to BondGraph: - removed CreateAdjacencyForMolecule() - removed SetMaxDistanceToMaxOfCovalentRadii() - new function CreateAdjacency on LinkedCell reference - new BondGraph functions that work on AtomSetMixin reference: CreateAdjacency(), cleanAdjacencyList(), CorrectBondDegree(), resetBondDegree(), calculateBondDegree() TESTFIXES: - the regression test for all Actions mentioned above that don't create adjacency themselves anymore needed to be prepended with --select-all-atoms --create-adjacency. commit ce5f05ae4a35676c52abcb1eeb3e6e41b8849333 Author: Frederik Heber Date: Fri Feb 18 17:24:28 2011 +0100 Moved Shading and EdgeType from defs.hpp to bond.hpp, getColor from molecule to class bond. commit 4092c5c78798e52e100ca3ce7dfd3bfd5abc6ebb Author: Frederik Heber Date: Mon Feb 21 18:54:26 2011 +0100 Changed BondGraph::...MinMaxDistance()'s parameters to const BondedParticle * const. - this is preparatory for upcoming PointCloudAdaptor change. commit b9772ac7019d5e8e80610d7bb4890ee0d7b80b2b Author: Frederik Heber Date: Thu Feb 24 15:10:59 2011 +0100 Renamed function pointer in molecule::CreateAdjacencyList to minmaxdistance. commit 4b5cf883862ad96db12b381ddaf008aad10edbe4 Author: Frederik Heber Date: Mon Feb 21 14:13:04 2011 +0100 BondedParticle::OutputBondOfAtom() now takes stream to print to. commit 458c3163eb1df36b974240aa85d9aa341ad4408a Author: Frederik Heber Date: Mon Feb 21 14:02:57 2011 +0100 molecule::BondCount is now Cachable and private. - renamed CountBonds() -> doCountBonds in analogy to AtomCount. commit d4a44c33452f58b4160eb88383f4287dfc249470 Author: Frederik Heber Date: Mon Feb 21 15:04:46 2011 +0100 Renamed ConstructBondGraphAction -> CreateAdjacencyAction. commit 715b678cb8ad05a00a33a86ee0b1583591a34ff1 Author: Frederik Heber Date: Fri Feb 18 15:43:09 2011 +0100 Renamed BondGraph::ConstructBondGraph -> CreateAdjacencyForMolecule. - first step in moving CreateAdjacencyList over to class BondGraph. commit 7adf0f0365b80d1ba77645d14621706d522f8573 Author: Frederik Heber Date: Fri Feb 18 15:28:52 2011 +0100 Removed molecule::BondDistance, replaced by BondGraph::getMinMaxDistance(). - changed in: - molecule::AddHydrogenReplacementAtom() - StoreFragmentFromKeySet_Init() - molecule::DeterminePeriodicCenter() - molecule::CreateAdjacencyList() commit e7350d47f72235f2bf1666ed2a77b529c06832a4 Author: Frederik Heber Date: Fri Feb 18 15:27:56 2011 +0100 DOCUFIX: BondGraph - moved doxygen comments from cpp to header. commit 72d90ed8a430eeb713d9ac53bb337fd6e8d4b404 Author: Frederik Heber Date: Fri Feb 18 15:24:43 2011 +0100 New function BondGraph::getMinMaxDistance(). - Covalent and BondLengthMatrix criteria are hidden behind that depending on whether the bond length matrix is set or not. - now private: - BondGraph::CovalentMinMaxDistance() - BondGraph::BondLengthMatrixMinMaxDistance() - adapted: - FragmentationConstructBondGraphAction - FragmentationDepthFirstSearchAction - FragmentationFragmentationAction commit f71bafdd0857cf18158866b8a7878c1b33d586b6 Author: Frederik Heber Date: Fri Feb 18 11:42:01 2011 +0100 Made BondGraph an instance of World, removed from config. - BondGraph is instantiated from start of World and destroyed therein. - new getter and setter for BondGraph in World. - rewritten BondLengthTableAction. commit 5309ba2259d81aba279e4520a5ebc51c898d8b75 Author: Frederik Heber Date: Tue Feb 22 10:59:11 2011 +0100 Renamed ParticleInfo_nr back to Nr. - Note that this mostly affected comments. commit 735b1c1514f0f9ac27c1a3ef683b9fa6ea2cf010 Author: Frederik Heber Date: Tue Feb 22 01:15:33 2011 +0100 ParticleInfo::ParticleInfo_nr is protected and accessed via getter/setter. - many changes (~400) in molecule- and tesselation-related functions. commit a479fa6f7cb1bddf84d6c12af3c09dc810b66580 Author: Frederik Heber Date: Tue Feb 22 00:50:41 2011 +0100 Renamed ParticleInfo::nr to ParticleInfo::ParticleInfo_nr for easier privatization. commit 5702cdb754fb52d78cf83a79c432e91bd88f4d4c Author: Frederik Heber Date: Thu Feb 24 23:07:45 2011 +0100 Removed molecule_pointcloud.cpp. commit caa06ef709f013cc367466c6e351f0a834a0fc0d Author: Frederik Heber Date: Tue Feb 22 00:49:30 2011 +0100 Added name to PointCloudAdaptor, set by constructor. - name is used in Tesselation to store in file and difficult to obtain via the PointCloud (e.g. std::list have not name, need to be wrapped again, ...) - removed expected-to-fail again from Tesselation/Convex, Tesselation/NonConvex, and Tesselation/BigNonConvex tests. commit 34c43ab2d4d21658cd8b9c3134bf2f845cacdcfc Author: Frederik Heber Date: Mon Feb 21 19:02:41 2011 +0100 Bigger change: Replaced PointCloud by PointCloudAdaptor. - PointCloud is no more inherited by classes molecule and Tesselation but an interface to an (templated) adaptor called PointCloudAdaptor. - As BoundaryPointSet only wraps TesselPoint member, we needed - use CodePatterns/IteratorAdaptors.hpp to access the value (TesselPoint*) in the map Tesselation::BoundaryPointSet, requiring now v1.0.11. - lots of places in Actions, Tesselation, and boundary had to be adapted to the new PointCloudAdaptor. - LinkedCell also now only has constructor requesting a IPointCloud structure. - this all will make BondGraph construction a lot easier (note that World has map containing atoms, where molecule has list. Hence, we need this IteratorAdaptor). - TESTFIX: Marked Tesselation/Convex, Tesselation/NonConvex, and Tesselation/BigNonConvex as expected to fail due to wrong name in teecplot file. This is gonna be fixed in next issue. commit ba5215d3dbc9e6ab23c70d0fda53db52f4cd8547 Author: Frederik Heber Date: Mon Feb 21 19:00:37 2011 +0100 Extended BoundaryPointSet by functions to directly access TesselPoint member. - new functions: GetTesselPoint(), getPosition(), getNr(). - TesselPoint extended by getTesselPoint(), returning this reference, is only required due to BoundaryPointSet only having member and we need to access the TesselPoint via a iterator concept in upcoming PointCloudAdaptor directly. commit fa60dd6ab972774fb82fd1f2c954d36536b47b41 Author: Frederik Heber Date: Mon Feb 21 18:55:39 2011 +0100 Removed molecule::GetName() usage in QtMoleculeView. - in QTMoleculePage::update() and QtMoleculeView::moleculeSelected(). - this is prepatory for upcoming PointCloudAdaptor and PointCloud removal from molecule. commit fff733ba0da4911da79885991c417b12b441b071 Author: Frederik Heber Date: Fri Feb 18 22:47:30 2011 +0100 Fixed PointCloud implementation in class Tesselation. - removed virtual keywords in class Tesselation definition. - implemented GetMaxId(). - GetCenter() different to interface PointCloud had parameter ostream, removed. commit e34254f6f44a0fc809b9be46216b2b2b7751e710 Author: Frederik Heber Date: Tue Mar 1 10:57:21 2011 +0100 Changed operator<< (AtomInfo), less verbose for single time step. commit 4d5553190df6b00219ae526683b5f0c395269db2 Author: Frederik Heber Date: Tue Mar 1 10:56:05 2011 +0100 Changed verbosity for LoadMolecule(). commit b23e2638588a1ce300fdbc376e3b3e42c6fd02b0 Author: Frederik Heber Date: Wed Feb 23 18:50:29 2011 +0100 Added operator<< for MatrixContainer class. commit 1bfc8edf28ec4138bd64215de19458a5fb6de8ab Author: Frederik Heber Date: Fri Feb 18 11:41:00 2011 +0100 Removed ThermostatContainer instance from config, instance from World is used. - config functions obtain instance Thermostats from World. commit 9b8387bbe8a066a5a05ebfc59629199ffa203cb1 Author: Frederik Heber Date: Wed Feb 16 11:18:51 2011 +0100 DOCUFIX: enhanced description of RotateAroundSelfByAngleAction's parameters. commit 9d37ac94df87f79ff09b0742de1324c7e04ddf56 Author: Frederik Heber Date: Thu Feb 24 15:39:14 2011 +0100 DOCUFIX: Removed *out as parameter from waaay back ... commit 4afa469aea6b6b679ff56ab7e5839c913cb3c602 Author: Frederik Heber Date: Sat Feb 26 01:06:01 2011 +0100 Added call to molecule::getAtomCount() to end of each parser's ::load(). - this ensures that atom::nr and name is up-to-date. commit 63735800b9b9f1a62b08bbaad51b2f7a1bec8c00 Author: Frederik Heber Date: Sat Feb 19 00:38:44 2011 +0100 Changed slightly XyzParser::load(). - AddedAtoms is now a vector. commit 0180d65014cd485abba4217d46346ac7065712ed Author: Frederik Heber Date: Fri Feb 18 19:50:08 2011 +0100 Enhanced XyzParser to load and save multiple time steps. - Extended regression test Parser/Xyz. - Extended unit test ParserXyzUnitTest. commit c6aeb18b62d4b842084aa91283b2e0fb0461c6b1 Author: Frederik Heber Date: Wed Feb 16 13:43:40 2011 +0100 Added regression test for Parser/Pdb for PDB files with CONECT entries. commit 48801adac3e7e09310f1b6015d415ba05afd6d61 Author: Frederik Heber Date: Thu Feb 24 15:42:38 2011 +0100 Decreased verbosity of PdbParser for multiple time steps. - using AtomInfo's adapted operator<< that prints start and end only. commit 3e383d399707efe3ee0cb56bc0d78abc3af2ca70 Author: Frederik Heber Date: Thu Feb 24 15:34:43 2011 +0100 Removed PdbKey::timestep from PdbAtomInfoContainer as readNeighbors,readAtomDataLine are with step now. commit b0a2e3bef0fc1ae84db5824e8cd3fa72d2a5bf21 Author: Frederik Heber Date: Thu Feb 24 21:18:39 2011 +0100 Removed use of PdbKey::timestep, steps are parsed sequentially. - PdbParser::readAtomDataLine() and PdbParser::readNeighbors() have additional parameter steps. commit 09c7a9f369617114ccfc84cd12692ecd98a2c615 Author: Frederik Heber Date: Thu Feb 24 15:17:12 2011 +0100 VERBOSE: PdbParser::save() print parsed trajectories. commit 873037b34219cd2ee7dadacca5869547533b1f56 Author: Frederik Heber Date: Fri Feb 11 10:11:32 2011 +0100 Refined static filling of PdbAtomInfoContainer::knownDataKeys. - have static bool which says whether map is filled or not. - static clearknownDataKeys() called by PdbParser's dstor. commit 9dba5f7e07c3f2a1265a0dfae56599d0c6a08e26 Author: Frederik Heber Date: Thu Feb 10 23:01:26 2011 +0100 PdbParser can now load and save multiple time steps. - WARNING: Molecules are not yet updated, it only works on simple test. - TEST: Parser/Pdb regression test on loading/storing multiple steps added. - PdbAtomInfoContainer: - private static knownDataKeys map from enum to strings, filled in cstor when empty by fillknownDataKeys() and cleared by befriended PdbParser's dstor. - operator << to easily print container. - getter function getDataKey. - PdbKey: - EndOfFile -> EndOfTimestep. - new DataKey timestep to allow storing of timestep. - Pdbparser: - extended load() and added verbosity. - readAtomDataLine() can parse trajectories into present atoms. - extended save() and added verbosity. - new helper functions getAtomToParse() and readPdbAtomInfoContainer(). commit fcac720d9b6b26c107f65986d20e213556f266e5 Author: Frederik Heber Date: Thu Feb 24 13:48:45 2011 +0100 Added multiple time steps to PcpParser::OutputAtoms(). - removed Fastparsing part in comments in LoadMolecule(). commit 6a465e4248cc6569f489730a4176224357fc5126 Author: Frederik Heber Date: Thu Feb 24 12:20:52 2011 +0100 Rewrote LoadMolecule() for PcpParser. - LoadMolecule() rewritten as only because of getter/setter introduction the PcpParser did not work properly anymore. Used boost::tokenizer for parsing all Ion_Type stuff. - TESTFIX: Molecules/SaveTemperature - has been buggy since a long time! LoadMolecule() did the messed up sequence of Ion_Type right only for the first step not for all subsequent steps. Hence, we lacked the velocities of all non-hydrogen atoms and obtained a different (wrong) temperature. - TESTFIX: ParserPcpUnitTest made first atom at (1,0,0) instead of (0,0,0) as this rather shows up parsing errors than zero vector which is default value. commit 03c77c8433e48594a1c472d7a86b4e799d81c363 Author: Frederik Heber Date: Wed Feb 16 15:02:14 2011 +0100 bonds::previous and ::next removed, lists.hpp deleted. - the last of the concatenated lists has fallen to STL lists and vectors. - greatest impact is on fragmentation functions. - rewritten UniqueFragments::BondsPerSPList to vector >. - removed include of lists.hpp. - removed lists.hpp from Makefile.am. commit 8aba3cf36e533e8aa7e73d15c6c4a093625770cf Author: Frederik Heber Date: Thu Feb 24 15:33:18 2011 +0100 TEST: Extended ListOfBondsUnitTest for multiple time steps ListOfBonds checking. commit af897f5c8ae6115ef8c2ea41ec18740adb18eaf0 Author: Frederik Heber Date: Thu Feb 24 16:13:41 2011 +0100 Small change to BondedParticle::UnregisterAllBond(). - As ListOfBonds is only protected, BondedParticle::UnregisterAllBond() may access list at step directly. commit 58308193c86ef72a50785b82954ae67c62555f30 Author: Frederik Heber Date: Thu Feb 24 16:13:07 2011 +0100 New function BondedParticle::ClearBondsAtStep(), used by MoleculeLeafClass::FillBondStructureFromReference(). commit 38c44b50db18b128b1f79878f0bfc914bd7228fe Author: Frederik Heber Date: Thu Feb 24 16:26:11 2011 +0100 Added verbosity to AppendTrajectoryStep() of BondedParticle. commit 1e6249eb2248ee72299523a569acc77b83efcb60 Author: Frederik Heber Date: Thu Feb 24 15:50:47 2011 +0100 BondedParticle has virtual UpdateSteps() to allow consistent extending of trajectories. - atom::UpdateSteps() calls now not only UpdateSteps of AtomInfo but also of BondedParticle. commit 073a9e455fb766186d4ee793eade170e51db2c0c Author: Frederik Heber Date: Thu Feb 24 15:32:36 2011 +0100 BondedParticle::(Un)RegisterBond,AddBond,IsBondedTo with step. - adding, removing and checking of bonds at a desired time step. commit d557374f0c843b5f8e4d8eeb8756784840b4ab07 Author: Frederik Heber Date: Thu Feb 24 15:56:28 2011 +0100 Cosmetic changes to class bond::~bond and BondedParticle::UnregisterBond. commit 93c6e95d641c6236fc420db0e7100f7b9cbef2fb Author: Frederik Heber Date: Thu Feb 24 15:13:00 2011 +0100 BondedParticle::UnregisterBond() uses BondedParticle::ContainsBondAtStep() with step. - ContainsBondAtStep() is used to find the right bond and remove it. commit 9a3a53e116a51e3bfb00959b2168c8888ced7191 Author: Frederik Heber Date: Thu Feb 24 19:59:11 2011 +0100 BondedParticleInfo::ListOfBonds is (just) protected to allow inheriting classes access. commit a2bdbe5a31d9df8092c716db0d9ec503f5ad04cb Author: Frederik Heber Date: Thu Feb 24 15:09:27 2011 +0100 BondedParticle::UnregisterAllBond with new parameter step. - cleans ListOfBonds at desired step. commit 9d83b69ef70cf27f82b8fcaaf764866bcda9a143 Author: Frederik Heber Date: Thu Feb 24 15:41:13 2011 +0100 BondedParticleInfo now has vector - vector ListOfBonds is private, getter for (non-)const access. - Access everywhere to ListOfBonds replaced by respective getter. - Access is as of now always to time step zero. - greatest impact is on molecule... files, and ListOfBondsUnitTest. commit c0d9ebc6c65d3d9cc5fc8234ff04f147c042c124 Author: Frederik Heber Date: Thu Feb 24 15:06:53 2011 +0100 FIX: Moved BondedParticle::CountBonds() from atom.cpp to atom_bondedparticle.cpp. commit fb9eba56a801211c0f27284432416dfa281858d2 Author: Frederik Heber Date: Thu Feb 24 16:25:56 2011 +0100 Added verbosity to AppendTrajectoryStep() of AtomInfo. commit e2373df507fb916476ab8df9646079e2551e04f2 Author: Frederik Heber Date: Thu Feb 24 15:48:51 2011 +0100 TesselPoint, Atom and AtomInfo have virtual UpdateSteps() to allow consistent extending of trajectories. - TesselPoint and Atom just implement it virtually. - AtomInfo implements it by new function AppendTrajectoryStep() that adds steps. commit fb0b62770f84f722e7a844612b7cf575bb534f0e Author: Frederik Heber Date: Thu Feb 24 15:49:35 2011 +0100 AtomInfo: Commented-out operator* and *= with double. - this is preparatory for virtual AtomInfo::UpdateSteps(). commit 443547ef85f9f10bd39602b49607dcb0e763fc55 Author: Frederik Heber Date: Sat Feb 12 19:29:48 2011 +0100 AtomInfo: AtomicPosition, ..Velocity, ..Force are protected to allow inheriting classes access. - This is necessary for atom::clone() have access to full trajectory. commit b1a5d9e1f506282abb82d0dc29746c490b4f3522 Author: Frederik Heber Date: Thu Feb 24 15:43:21 2011 +0100 operator<< for AtomInfo now prints just start and end of timestep. commit 1b558c94a455c9a61f4f1954f9b8d7b149b1532f Author: Frederik Heber Date: Fri Feb 11 10:25:16 2011 +0100 All Accessor to position, velocity or force use WorldTime::CurrentTime. commit 6b020f24f85828b35cb7d1e2cb4137d9b9ad39e1 Author: Frederik Heber Date: Thu Feb 24 14:24:46 2011 +0100 AtomInfo::getter and setter's step is now unsigned int. commit 056e70f8db18805ec5c34898e22ee461a1e6ceb7 Author: Frederik Heber Date: Thu Feb 24 18:56:03 2011 +0100 Suffixed getters and setters for AtomInfo trajecories with AtStep. - AtomInfo:: getters are now const members - added lots of ASSERTS to getters with time step to assure no out-of-bounds access. commit 6625c3d80c1d7b0bad97e9d543982f10829d358b Author: Frederik Heber Date: Thu Feb 24 12:18:59 2011 +0100 Removed atom_trajectoryparticle*, replaced by AtomInfo class now having std::vector<> for trajectories. AtomInfo: - AtomInfo stores position, velocity, and force in vectors. - getter and setter implemented for velocity and force. - all functions from TrajectoryParticle put into AtomInfo. - Direct access to velocity and force exchanged by getter/setter everywhere. - FIX: molecule::LinearInterpolationBetweenConfiguration() extends trajectory to MaxSteps+1 (for endstep). Other changes: - gsl_rng_gaussian() exchanged by boost::random specific type. commit 54b42e9e210027bb6e47d8594317475629bdb453 Author: Frederik Heber Date: Mon Feb 7 19:56:11 2011 +0100 AtomInfo::AtomicPosition, ::AtomicVelocity, ::AtomicForce are now a std:vector. - This is preparatory for trajectories. commit bce72cbbc8d98307d21f1b4cd8f174336341e927 Author: Frederik Heber Date: Mon Feb 7 19:35:30 2011 +0100 AtomicInfo::AtomicVelocity and ::AtomicForce are now private. - Access is granted via getters and setters. commit c864a86df7c305c97952030b2f51ac5148ffcce3 Author: Frederik Heber Date: Mon Feb 7 18:58:50 2011 +0100 Moved TrajectoryParticle::EvaluateConstrainedForce() into molecule::EvaluateConstrainedForces(). commit 76163d6467c1ce116865eff7bd937b783a980bc7 Author: Frederik Heber Date: Wed Feb 16 11:19:36 2011 +0100 World::setTime() now checks whether CurrentTime changes at all. - this prepares calling FragmentSubgraphDissection call there. commit d297a3ade933149a1d5ada1c3db8b483e89fb3ca Author: Frederik Heber Date: Fri Feb 11 23:28:17 2011 +0100 World::setTime() is single access point to modifying WorldTime::CurrentTime. commit 6bb6057aa21db4fa1c6005eaa7f932cd8e2c9875 Author: Frederik Heber Date: Fri Feb 11 10:12:36 2011 +0100 Worldtime now has static CurrentTime and static (inline) getter/setter. - setter is private such that time is not globally modifiable. - WorldTime::CurrentTime is now _unsigned_ int. - TESTFIX: WorldTimeUnitTest also against unsigned ints. commit aa04aec0a6f98bba03446ef81b876c0dee5f6db8 Author: Frederik Heber Date: Mon Feb 7 14:23:52 2011 +0100 Implemented SetWorldTimeAction and regression test on that. - SetWorldTimeAction currently only allows to change current time, not step width. commit f649ded43f091c7788ac076fc2e73fb8fee4bd35 Author: Frederik Heber Date: Mon Feb 7 14:12:01 2011 +0100 Implemented class WorldTime. - WorldTime contains the current, globally valid time step, e.g. to show within the gui ... commit 7a51bed0ac43de73ef69542c07ec8d25a2b6d4cc Author: Frederik Heber Date: Fri Feb 11 22:37:26 2011 +0100 new function FormatParserStorage::get to obtain specialized FormatParser instance. - used in FillVoidWithMoleculeAction and FillWithMoleculeAction. - both Actions also now use MoleculeByOrder descriptor to obtain last molecule. - FillBoxWithMolecule() now returns void. - implemented FillVoidWithMoleculeAction::performUndo(). - TEST: Filling/FillWithMolecule - added undo test. - TESTFIX: Filling/FillVoidWithMolecule - due to loading of filler molecule with parser, water.data had to be adapted in its ATOMDATA line to match test.data. Otherwise, resulting file will have non-matching ATOMDATA although being otherwise consistent. (This is a workaround to ticket #141). commit 170ba6e440672fc3912107325618abdd35c6437e Author: Frederik Heber Date: Fri Feb 11 21:55:44 2011 +0100 BUGFIX: MoleculeOrderDescription was not working in reverse because of bug in ObservedContainer. - we now require v1.0.9 of Codepatterns where bug in ObservedContainer is fixed. - TEST: added regression test Selection/Molecules/MoleculeByOrder with separate forward and backward test. - TEST: split up Selection/testsuite file into one on atoms, the other on molecules. commit 69948e5f49ca5ca15fa7f148e0e7d53f7f814866 Author: Frederik Heber Date: Fri Feb 11 18:55:25 2011 +0100 BUGFIX: FillVoidWithMolecule() crashed when filling molecule is wholly outside of domain. - Filling molecule might have gotten completely removed and hence, we have to check for NULL pointer. - bug reported by Daniel Dueck. commit 844b2e3be80de8690beefc6f7dcd4b178159cf8c Author: Frederik Heber Date: Thu Feb 10 19:40:18 2011 +0100 We now require CodePatterns v1.0.8 for LOG() shorthand to logger and asserts aborting by default. commit 23d7fff4124bc4e1f444a780def098bb6b68e508 Author: Frederik Heber Date: Thu Feb 10 19:35:12 2011 +0100 Added default rotation angles to (Not)AllAtomsInsideCuboidAction. - also added check to Action cstor such that options for different Actions still have type, same short form, and default value. - TEST: Selection/Atoms/AllAtomsInsideCuboid - new regression test with defaults. commit 528b3e649ba6df7f9bb48df7750426f110ae4f92 Author: Frederik Heber Date: Thu Feb 10 19:31:41 2011 +0100 Added conversion functions to VectorValue and BoxValue and changed internals. - VectorValue now has array vector instead of x,y,z. - BoxValue now has array matrix instead of xx,yx,yy,zx,zy,zz. - adapted validate()'s, Vector(s)CommandLineQuery, and BoxCommandLineQuery. - new cstor Box(RealSpaceMatrix *). - restructured Box' cstor code a bit. - new operator<< for Box. commit b6b3b2db19444a7431f85964bdb2550a87243367 Merge: 0bfe731 311da7b Author: Frederik Heber Date: Thu Feb 10 20:08:22 2011 +0100 Merge branch 'MpqcParser_fixes' into stable commit 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1 Merge: acd6384 c14c78b Author: Frederik Heber Date: Thu Feb 10 20:07:17 2011 +0100 Merge branch 'RandomNumber_fixes' into stable commit 311da7bdf02dce8825b29e60fbe79e0688c15ca6 Author: Frederik Heber Date: Thu Feb 10 19:36:56 2011 +0100 FIX: Changed MpqcParser. - some ASSERTs were missing and showed up failure in parsings. - in MpqcSection keywords molecule and basis are now ignored. - BUGFIX: due to missing whitespacefilter most of the keys were actually not really parsed which lead to strange "A'" and ""A'"" behavior, because in unit test key was without whitespace, hence recognized (and there we switch theories from CLHF parsed file only), whereas in regression test key was not recognized. - TESTFIX: ParserMpqcUnitTest - now checks whether MpqcParser_Parameters:: getInt() throws and also if ::operator>> throws in case of debugging. commit c14c78b2ee8b6b53c94294861301c8b2cdcc1161 Author: Frederik Heber Date: Thu Feb 10 16:25:59 2011 +0100 Some bugfixes for RandomNumber... stuff. - BUGFIX: Asserts contained wrong variable name: params -> paramtokens. - BUGFIX: replaced forward declarations in respective Factory's to ...Engine and ..Distribution by includes. Note that they are need in other files due to inclusion of ManipulatePrototypeFactory and alikes of CodePatterns. - Added some additional ASSERTs to ...Engine... and ...Distribution_Parameters. - TESTFIX: RandomNumberEngineFactoryUnitTest - Setting seed to 0 was not allowed for this engine. - LEAKFIX: SetRandomNumbersDistributionAction::performCall() leaked a parameter set from prototype. commit acd6384437ea7f3b26a729204e334bc1069b111a Author: Frederik Heber Date: Wed Feb 9 21:03:34 2011 +0100 BUGFIX: copied atoms were not correctly stored with respect to Type, reported by Daniel Dueck. - TremoloParser::saveLine() Father-check has been missing so far. - TEST: Molecules/Copy - added test for copying from tremolo config. commit 4d4d3346f69d10a12e419ef86b730fdd6a4ec2a1 Author: Frederik Heber Date: Wed Feb 9 17:18:50 2011 +0100 Added tremolo's potential file parsing, reported by Daniel Dueck. TremoloParser cannot interpret Type with HLA2 because it lacks mapping of the value to an element. Hence, ... - new Action ParseTremoloPotentialsAction. - TremoloParser::knownTypes new map to contain: HLA2 -> H, ... map. - TremoloParser::createKnownTypesByIdentity() creates identity mapping. - TremoloParser::parseKnownTypes() parses potentials file. commit 1a6bda5f924ebd715e1f7b6b804f62142360552f Author: Frederik Heber Date: Fri Feb 4 15:04:23 2011 +0100 Removed basis from config, which now resides in MpqcParser_Parameters. commit 4cbca0e8710efb136e5936feefe9dd2e7a865873 Author: Frederik Heber Date: Fri Feb 4 15:03:06 2011 +0100 Implemented full MpqcParser::load(). - regression tests for four theories: CLHF, CLKS, MBPT2, MBPT2_R12. - extended regression test on set-mpqc-parameters by checking changed value against a written file. commit 963321a9c39219a067721dc5f8f1bf433d2e0e92 Author: Frederik Heber Date: Fri Feb 4 14:23:20 2011 +0100 Converted SetGaussianBasisAction into SetMpqcParametersAction. - new actions does not only allow to set basis, but most of the other parameters, too. - regression test Parser/Mpqc-SetBasis -> Mpqc-SetParameters and extended. - operator<< needed an ugly const hack to avoid doubling the function. commit 44fce5cb3fdeb1556c1c02a020dfa99136e835d7 Author: Frederik Heber Date: Fri Feb 4 13:43:30 2011 +0100 Extended MpqcParser_Parameters, can set and get all values. - new test case in ParserMpqcUnitTest: ParameterSetterTest. commit 61d69a4cb73f0b86aacc2d6ca57bf28462918da9 Author: Frederik Heber Date: Thu Feb 3 12:56:26 2011 +0100 Added MpqcParser_Parameter class to MpqcParser. - contains all extra info for the mpqc style config file. - so far not prepared for setting details via action. commit 9cff8b40dbce0e08a022e7778ac2e12db6f6b9b2 Author: Frederik Heber Date: Thu Feb 3 10:39:54 2011 +0100 Moved SetGaussianBasisAction and SetOutputFormatsAction from World to Parser. commit aa8ef2ac2cb67b09185d5a3df58db2a29f253ed6 Author: Frederik Heber Date: Wed Feb 2 21:39:54 2011 +0100 Implemented MpqcParser::load(). - extended ParserMpqcUnitTest to check minimal functionality of load. commit f31edc7590b4e5829926599185285edb1412d62d Author: Frederik Heber Date: Tue Feb 1 17:39:55 2011 +0100 Extended MpqcParser to write config files for all possible theory levels: CLHF, CLKS, MBPT2, MBPT2_R12. - ParserMpqcUnitTest tests all four cases now and each contained string with the config file has been tested to work with mpqc-3.0.0-alpha. commit bb74ba726668aa113942901b3b4e73e8786149c0 Author: Frederik Heber Date: Tue Feb 1 16:23:51 2011 +0100 MpqcParser now writes correct MP2 configuration. - while the construct has been working, maxiter was inside the wrong group. - ParserMpqcUnitTest and Parser/Mpqc and Atoms/Add, Atoms/Remove had to be changed due to literal diffs present there. commit 9e4fd1ddec881550116572abf3d4c0dedb07b1b8 Author: Frederik Heber Date: Wed Feb 2 20:38:08 2011 +0100 Split up ParserCommonUnitTest into a UnitTest for each Parser. commit 881c0591436d2892dfe4f605d06902bb7a21e338 Author: Frederik Heber Date: Wed Feb 2 19:41:47 2011 +0100 Changed regression testsuite structure of Tesselation. - all numbered test cases now have meaningful names. - re-activated big convex test and marked as expectedly fail. commit b5ad3937b230f3d9f5d14f9e793a837b44de0486 Author: Frederik Heber Date: Wed Feb 2 18:45:44 2011 +0100 Removed Simple_configuration testsuite. - removed test on creation of xyz file, is present in Parser/Xyz. commit 2700983eab89463c26130cc0d2c853f1d4d13c02 Author: Frederik Heber Date: Wed Feb 2 18:35:28 2011 +0100 Extended regression testsuite structure of Options from standard_options. - most of the stuff is from standard_options, placed each into own folder and each test into its own module. commit d445e4bcef716346dd1b3a5d6c4fe27dd4b70f74 Author: Frederik Heber Date: Wed Feb 2 18:19:04 2011 +0100 Changed regression testsuite structure of Atoms. - All atom-related stuff from Simple_configuration has been moved over to new subfolder Atoms. commit f2230ed4cddad16052b0be557fd8f58130a361a2 Author: Frederik Heber Date: Wed Feb 2 15:21:29 2011 +0100 Changed regression testsuite structure of Parser. - specifics placed in Parser subfolder. - Moved Simple_configuration/2 over to Parser and splitted each Parser off into its own subfolder. - added test for Tremolo parser. commit 0a2b3405b30a5c56bc3bf3a9c26ef22143e4a683 Author: Frederik Heber Date: Wed Feb 2 15:19:19 2011 +0100 Changed regression testsuite structure of Options. - standard_options placed in Options subfolder. commit b9bfa63421aae8bda04dea61800ff9fe25d337b5 Author: Frederik Heber Date: Wed Feb 2 15:09:44 2011 +0100 Changed regression testsuite structure of Selection/Atoms and ../Molecules. - all numbered test cases now have meaningful names. - (Un)Selection/Molecule action renames: by-formula and by-name have plural molecules (they can select multiple ones), by-id is singular. - renamed token of AtomAction/RotateAroundOriginByAngleAction: rotate-origin -> rotate-around-origin. - TESTFIX: Analysis/AngularDipoleCorrelation-Empty due to renaming of molecule_s_-by-formula - TESTFIX: Analysis/SurfaceCorrelation due to renaming of molecule_s_-by_formula commit 967b3cc1d5bcc09f04bc4e2f99bb7620de669545 Author: Frederik Heber Date: Wed Feb 2 14:39:15 2011 +0100 Changed regression testsuite structure of Molecules. - all numbered test cases now have meaningful names. - renamed token of AtomAction/RotateAroundOriginByAngleAction: rotate-origin -> rotate-around-origin. - renamed token of LinearInterpolationofTrajectoriesAction: linear-interpolate -> linear-interpolation-of-trajectories. - renamed token of RotateAroundSelfByAngleAction: rotate-self -> rotate-around-self. - renamed token of RotateToPrincipalAxisSystemAction: rotate-to-pas -> rotate-to-principal-axis-system. - renamed token of VerletIntegrationAction: verlet-integrate -> verlet-integration. - re-added test for periodic translation (was Molecules/7 but unused). - TESTFIX: Analysis/AngularDipoleCorrelation-DiscreteAngles due to renaming of rotate-around-self. commit 70269a5925ba82007a722de93f0b9207048e59be Author: Frederik Heber Date: Wed Feb 2 14:00:36 2011 +0100 Changed regression testsuite structure of Graph. - all numbered test cases now have meaningful names. - renamed token of SubgraphDissectionAction: subgraph-dissect -> subgraph-dissection. commit 7811bfbefd39871560750cd667c077688c37af6e Author: Frederik Heber Date: Wed Feb 2 13:53:11 2011 +0100 Changed regression testsuite structure of Fragmentation. - all numbered test cases now have meaningful names. - renamed token of FragmentMoleculeAction: fragment-mol -> fragment-molecule. - removed test case 1 where test.conf is checked, this is made sure elswhere. commit 08e6c8afef22dd16b9fe558118d4f67b0618a650 Author: Frederik Heber Date: Wed Feb 2 13:41:45 2011 +0100 Changed regression testsuite structure of Filling. - all numbered test cases now have meaningful names. - TESTFIX: Suspend in water is now marked to expectedly fail instead of as BROKEN. commit 8a957e8b6a87527326d7123e0d60c7848a69a814 Author: Frederik Heber Date: Wed Feb 2 13:35:23 2011 +0100 Changed regression testsuite structure of Domain. - all numbered test cases now have meaningful names. - renamed TOKEN of AddEmptyBoundaryAction: boundary -> add-empty-boundary. commit ad28ef1b99395d16be5653d1e9ae8d6d66d16083 Author: Frederik Heber Date: Wed Feb 2 13:01:01 2011 +0100 Changed regression testsuite structure of Analysis. - all numbered test cases now have meaningful names. - PairCorrelation range test split off (needs its own directory anyway). commit f0d1f071d10979518f405b8b6b011c4a03c4b6a3 Author: Frederik Heber Date: Tue Feb 1 16:24:57 2011 +0100 Inserted manner how to avoid warning about muplitply included CheckCommand.sh, but commented out. - thx Ralf, but is yet not working due to autotest bug. commit a947e9a19899361083696b2380e242777199a425 Author: Frederik Heber Date: Wed Feb 2 10:41:35 2011 +0100 Verbosity added to Load- and InputAction. commit 48d43fef6fd364948bcdc9509ae49364f5edc942 Author: Frederik Heber Date: Wed Feb 2 10:51:29 2011 +0100 molecule::FragmentMolecule() - Bond degree is now re-calculated by default. - if we load bond graph from file (e.g. pdb), bond degree is not given and set to 1 by default which may not be correct. As bond degree is very important to the fragmentation, we rather re-calculate it before fragmenting. commit 4c264326bd61e1ea4f3234937aa02b05c6bcf21e Author: Frederik Heber Date: Wed Feb 2 10:50:02 2011 +0100 Fix: MoleculeListClass::OutputConfigForListOfFragments with zero edge length of domain. - when molecule contains only two atoms and is aligned along an axis, one edge length of the domain will be calculated as being of zero length. This is fixed by adding a minimum of 1A. commit 3c58f8fb4e50513505ccd15a7e9c36b34f276129 Author: Frederik Heber Date: Wed Feb 2 10:43:01 2011 +0100 Changed molecule::ScanForPeriodicCorrection(). - it still used templated link stuff for the bonds which is deprecated and hence not usable. - now simply bool is returned, whether periodic fixing _would_ be necessary. - the number of of periodic fixings is counted and printed in MoleculeListClass::OutputConfigForListOfFragments(). commit 72d108d078550736c603bab52caa5d7586985f44 Author: Frederik Heber Date: Tue Feb 1 16:23:06 2011 +0100 Rewrote TremoloParser::readAtomDataLine() to use boost::tokenizer. - The problem was that while the previous construct worked fine, it made it very hard to know what is wrong about a file because it did not operate on single tokens but on lines. commit 266875d4d7ac759da8b913a7815cb5e3e6ced275 Author: Frederik Heber Date: Tue Feb 1 12:09:17 2011 +0100 FIX: ParserError did not adhere to naming convention. - excepetions are suffixed with ...Exception. - also, ParseError does not suggest that it is a _formula_ parser error. - renamed to FormulaStringParseException. commit 15f6e9c4484a9b8097f8c48695fb81dfd93e4911 Author: Frederik Heber Date: Mon Jan 17 19:58:49 2011 +0100 Extended Fragmentations tests by check for number of fragments per order. - Numbers are taken directly from one year old calculations (and still match). commit 03871391ca6c9494c227476e9ffca5d4ad581339 Author: Frederik Heber Date: Mon Jan 17 17:05:15 2011 +0100 Added Fragmentations test in the spirit of the Tesselations test. - configuration were taken over from Tesselations. - defs.in has been adapted to a new function called Fragmentation_run - the test files call this function along with order and distance argument. - so far we just check that exitcode of molecuilder is 0. - all tests are working. commit 00b59d53958fb689993d2537537ba47012ef9eaa Author: Frederik Heber Date: Mon Jan 17 15:05:30 2011 +0100 FIX: molecule::FragmentMolecule() did not remove copied atoms and molecules. - Subgraph copies molecules, are now removed in MoleculeLeafClass dstor. - BondFragments's molecules, i.e. the created fragments, are not removed, hence the output file got a lot bigger ... commit 1d5afa54793ab68a5248839eebb3f4a806cc460c Author: Frederik Heber Date: Mon Jan 17 12:21:17 2011 +0100 BUGFIX: CheckAdjacencyFileAgainstMolecule() hiccup'ed on parsed files. - we checked for iostream::eof() which seemed not to work in all cases. Now we use while (line << tmp) directly and this works. - maximum number of bonds is now (at least) a define MAXBONDS. - ASSERT that we parse not more than MAXBONDS bonds. commit 17f3cdb7d5c7b935f4e518c4cdbe4503d48542b9 Author: Frederik Heber Date: Mon Jan 17 11:41:29 2011 +0100 Placed regression tests Fragmentation into own folder and one file each test case. commit febef3def9964a3995a74f80fea41b3d7b1f3cf5 Author: Frederik Heber Date: Fri Feb 4 18:16:05 2011 +0100 Removed verbosity of LoadElectronegativityDb. commit 4e855e867fa84e16d3c418b917eb36c8f1b45f90 Author: Frederik Heber Date: Fri Feb 4 19:54:12 2011 +0100 BondGraph::LoadBondLengthTable() now accepts istream instead of const char *. - This has been quite a lot of work because the matrix parsing is involved. - Hence, the fix is not really clean, this should get fixed as soon as we deal with the BondGraph implementation. - This fixes ticket #130. commit fd378853756ce2d629fc774e7c82d6739ae1be78 Author: Frederik Heber Date: Mon Jan 17 18:35:34 2011 +0100 Corrected CLEANUP use for Tesselations tests. - CLEANUP wrongly contained cd .. - trap is now evaluating CLEANUP variable on call not before. - This allows for clearing of CLEANUP in case of execution failure of the test. commit 89c953d85256f5bffcf12e7a0539f4afd28d633b Author: Frederik Heber Date: Mon Jan 17 15:45:13 2011 +0100 Removed config.guess and config.sub that are created by autconf. commit 5817efa0e8e615d6c84a733fd6f933a293aed46d Author: Frederik Heber Date: Sun Jan 16 20:00:39 2011 +0100 FIX: regression test Selections/Atoms/6 did not use /bin/cp. - if cp is an alias to 'cp -i' this causes trouble. commit a5028f9fe5de8314faeb80f8192d465807b8d3f0 Author: Frederik Heber Date: Fri Jan 7 16:38:52 2011 +0100 RandomNumberGeneratorFactory is now used instead of rand() throughout the code. - FillVoidWithMolecule(): this is not sensible for all distributions. Maybe so, for now this is just to test the dipole angular correlation implementation. Here, one should rather hard-code one. commit 63839fc79e8c290c3140390c805105bc4563c078 Author: Frederik Heber Date: Sat Jan 15 15:38:57 2011 +0100 RandomNumberGeneratorFactory does not clone anymore. - cloning of the generator was nonsense, as (because of same seed), we always start at same random number sequence. I.e. if we often obtain new random number generator we hardly get random numbers. - RandomNumberGeneratorFactory::makeRandomNumberGenerator() returns now reference to avoid accidental free'ing of the instance (that is still contained in the prototype table of the factory). - unit test of RandomNumberGenerator now checks for non-copy received. - RandomNumberGenerator()::get...Name() are now const members. - in many cases where pointer *rng was received and ref &random obtained from it, we now receive ref directly (and then don't accidentally forget to delete the clone anymore. Which is good in any case!). commit 5347cd4e514abf1b1aa9c7c234f7ba2c0622c8fd Author: Frederik Heber Date: Sat Jan 15 15:37:27 2011 +0100 Added mt19937 to list of possible engines. commit ecb6c5d6da5d51fee9c1327a6586913c65696e7d Author: Frederik Heber Date: Fri Jan 7 16:36:14 2011 +0100 min(), max() now implemented for all remaining random number distributions. - min and max are essential to re-adjust the range. Have been hard-coded from the properties of the distribution if not min(), max() not available. commit 9964ff08ae3e4aef63704e318e818e8e0f0430af Author: Frederik Heber Date: Fri Jan 7 16:35:13 2011 +0100 RandomNumberGeneratorFactory now uses Engine and DistributionFactory defaults directly. - added unit test were these factory defaults are set and a composed Generator is made and its contained types tested. commit 0275ad195a931bec57fdd26321f927b08c267597 Author: Frederik Heber Date: Fri Jan 7 01:15:49 2011 +0100 Final step in Random numbers is done ... - requires CodePatterns 1.0.7. - RandomNumberDistributionFactory and RandomNumberEngineFactory are now ManipulablePrototypeFactory's (and ...Engine and ..Distribution_Encapsulation are ManipulableClone's). - new sets of manipulation parameters RandomNumberDistribution_Parameters and RandomNumberEngine_Parameters. - added Query for RandomNumberDistribution_Parameters because GUI will need to change for specific parameters depending on selected distribution. ... actually, this happened accidentally and was an enormous amount of work ... - added string parser for distribution parameters from CommandLine, TextUI and QtUI with boost::tokenizer. - ValueStorage uses this parser for query and setting of CurrentValue. - unit tests are working and are doing their job very well (found a bug with clone not using the distriubtion to clone's parameters). - added PrototypeManipulationTest to engine and distribution factory unit test. - regression tests with Undo/Redo are done. - what's missing is an extension of the test of RandomNumberGeneratorFactory. commit 1ee3b8d85bc3b82115508a188e0b73f52d7404db Author: Frederik Heber Date: Thu Jan 6 13:30:08 2011 +0100 Made RandomNumbers sources into its own library libMolecuilderRandomNumbers. - this makes the unit test stuff fast, they use the new lib and not recompiled modules. - lib is included in Actions, Descriptors, Parser and general unittests, also as a dependency for LinearAlgebra lib. commit 6ff0c86cbaac5717bf62b0ad078300179e43e3e1 Author: Frederik Heber Date: Thu Jan 6 13:28:31 2011 +0100 SetRandomNumbersEngineAction now only requires RandomNumberEngineFactory and uses seed. - requires CodePatterns 1.0.7. - prototype is manipulated for new seed via ugly const_cast. - FIX: forgot to undefine engine_seq[_a] in RandomNumberEngineFactory.undef. commit 081e5d776b34e30d39d3d2bd6b9706066bba6950 Author: Frederik Heber Date: Wed Jan 5 18:30:01 2011 +0100 Implemented all possible parameter functions for engine and distribution in interface. - template member function has an ASSERT. - and then for each actually present parameter function of a specific engine or distribution there is a function specialization that passes on the request. - minimal use is made in the engine and distribution factory unit tests and everything is fine so far. commit 15911c97898d09d69931fb955bf4db5cea2b7dc1 Author: Frederik Heber Date: Wed Jan 5 17:09:12 2011 +0100 Made some cstor of RandomNumber... protected. - RandomNumberGenerator now contains refs to engine and distribution instead of encapsulation as it can be made friend of these classes to allow acccess to dstor. commit 9b3476e89c8176ecacfb1a4825157fcc620108b1 Author: Frederik Heber Date: Wed Jan 5 15:18:11 2011 +0100 RandomNumberDistribution and RandomNumberEngine inherit Clone instead of Creator, ...Factory are Prototype Factory. - requires CodePatterns 1.0.5. - RandomNumberDistribution inherits Clone<> and implements a clone() function. - RandomNumberEngine inherits Clone<> and implements a clone() function. - that is RandomNumberGenerator clones can from now on be directly manipulated via prototypes in RandomNumberEngineFactory and RandomNumberDistributionFactory. - Removed PrototypeManipulationTest() from Engine and DistributionFactoryUnitTest. commit 076a7747f6149944af692526338b96c2659d9e53 Author: Frederik Heber Date: Wed Jan 5 12:13:54 2011 +0100 RandomNumberGeneratorFactory nows uses Clone instead of Creator pattern. - requires CodePatterns 1.0.4. - RandomNumberGenerator_Encapsulation implements clone() with calls the constructor ... - ... who in turn (sadly) needs some evil dynamic_cast to get the complex type from the simple interface, because we need access to true engine and distribution. The instances themselves are obtained properly from the respective factories. However, the constructor is protected now. - FIX: friend classes can actually be forward declared. commit 1d5a8713812642e80f03e59bcd85a3ffedbe20b5 Author: Frederik Heber Date: Tue Jan 4 13:09:44 2011 +0100 Factored out Factory pattern (no pun intended). - the Factory pattern half-way residing already in RandomNumberDistribution- and -EngineFactory has been extracted, outsourced into CodePatterns project and is used here. - same for Creator pattern. - the prototype problem has not yet been solved. - FIX: forgot to clean up RandomNumberDistribution- and -EngineFactory instances in cleanUp(). - we now require 1.0.2 of CodePatterns. commit c9bc2b7e55bf61ed1abfd0a5314ce53adea45fa9 Author: Frederik Heber Date: Mon Jan 3 15:01:22 2011 +0100 Bigger rewrite of RandomNumbers ... due to cloning of prototypes. - in order to copy the prototypes and not use the original instance, we have implemented a new pattern called "Creator" that wraps a templated class in a creation interface class such that this abstract class can instaniate the particular types (see here http://stackoverflow.com/questions/3506026/c-clone-abstract-base-class-without-meddling-with-derived). This is also wrapped up in ..._Creator.hpp files. - meanwhile we also tried to have factories for Engine and Distribution but this failed due to boost::variate_operator<> having to know the particular types of engine and distribution. One could go forth with some cast's but this is very unclean and not what we want. ... Downside is that we can't set global options for engines or distributions as of now. - For the moment Engine- and DistributionFactory both have a prototype table, i.e. the same wrapped ones as above, but they are not used for the GeneratorFactory. - For all we have written unit tests: - RandomNumberDistributionFactory - RandomNumberEngineFactory - RandomNumberGeneratorFactory - RandomNumberGenerator The last one especially checks that two given generators are independent, i.e. first call produce the same number from the pseudo-random number sequence. commit 3f9eba726fa6ba97ad9f47ad397aa83f8f1fc923 Author: Frederik Heber Date: Sat Jan 1 23:27:54 2011 +0100 New classes for random number generation. - we use boost::random as a basis. It implements a lot of pseudo-random engines and various distributions. However, everything is templated and there are no base classes to store prototypes of the instances in a map. We need these such that we are able to offer the user at run-time every choice possible. - Hence, we need to encapsulate all engines, distributions and (engine, distribution) tuples: RandomNumber..._Encapsulation classes. - each with an abstract base class as the interface: RandomNumber... classes. - RandomNumberGeneratorFactory is then a singleton that contains all the Maps and tables: - from string (user input is string) to enum (storing enum is more efficient that a lengthy string) - from enum to instance (of the abstract class). - RandomNumberGeneratorFactory is a singleton to allow for global control of what kind of numbers are generated, hence there are also two new Actions: - SetRandomNumbersDistributionAction - SetRandomNumbersEngineAction to specify which (engine,distribution) tuple to use. There are two new regression tests for these Actions. - The user in the end only uses two classes: RandomNumberGeneratorFactory and RandomNumberGenerator. The first only for obtaining a specific variant of the latter and the latter to generate the numbers (operator() is passed on to boost::variate_generator::operator()). - There is a unit test on the RandomNumberGeneratorFactory that checks some of the table entries and whether one of the RandomNumberGenerator is working (uniform_smallint so far). Details: - As there are ~25 engines and ~15 distributions this makes an enormous amount of possible combinations. To automatically construct these, we use some stuff from boost::preprocessor in order to generate enums, tables and maps automatically just from a sequence of the typenames. - we have be-friended the unit test a lot to allow for easier testing, e.g. we need access to internal ..._type to test whether their type is correct. - cleanUp() purges the instance of RandomNumberGeneratorFactory. - in RandomNumber..._Encapsulation::name() functions are only used for the unit tests. - this all resides in its own subfolder RandomNumbers. So far, it is completely independent of everything else. commit 1f91f4d142b3890c0ea0c60d27ff628498b897f0 Author: Frederik Heber Date: Mon Jan 10 23:31:40 2011 +0100 factored functionality in PrincipalAxisSystemAction() and RotateToPrincipalAxisSystemAction() into class molecule: - new functions in molecule - getInertiaTensor() - RotateToPrincipalAxisSystem() - PrepareClustersinWater() then does not need to call an Action anymore. commit 4782599cc2cedbb40da7b38c15b2bf5c0d183589 Author: Frederik Heber Date: Mon Jan 3 09:58:54 2011 +0100 FIX: new regression test for PrincipalAxisSystemAction is prone to numerical instability. - if we test for 0, 1e-17 is not a match ... - renamed former subfolder 5 to PrincipalAxisSystem according to new naming scheme. - Action also now solves for the eigen system of the 3x3 inertia tensor and prints eigenvalues. commit b25fa374bf59ffcdade5ca861bcb1d97d99159cc Author: Frederik Heber Date: Thu Dec 30 14:38:46 2010 +0100 Added Angular Dipole Correlation - Discrete angles test suite part. - Analysis/7: Due to different centers, one plane of water molecules looses a hydrogen, being rendered outside domain. Then, dipole is not practical anymore. Instead we use the option distance-to-boundary with "1." but have to give a new waterbox(-mirrored) and new histograms (as there are now only 216 molecules filled into domain). commit 92e5cbdb87cf8cd20127f2dff627b843dfad5ae2 Author: Frederik Heber Date: Thu Dec 30 12:10:50 2010 +0100 Refactored Output..Correlation...() code into a single templated one. - template function OutputCorrelationMap() that accepts two function pointers for header and value to print the map's specifics. - all other function have been refactored into these two output functions per CorrelationMap type. TESTFIXES: - Analysis/1-4,6: as the output files changed due to different header and extended contents, we had to replace them. However, each single one was checked by eye whether it differed in the old places (and they did not). - AnalysisCorrelationToPointUnitTest: OutputCorrelation -> OutputCorrelationMap - AnalysisCorrelationToSurfaceUnitTest: OutputCorrelation -> OutputCorrelationMap commit cd7a874697981628f16debf304ae5c1ff4d0f0ce Author: Frederik Heber Date: Thu Dec 30 10:41:56 2010 +0100 Refactored Analysis regression tests, added angular dipole correlation - empty test. - structure is now same as for Selection tests. - Principal Axis System is now implemented (commented-out before). - new Angular Dipole Correlation - empty test group created. - templates for discrete angles and random distribution that are skipped for the moment. TESTFIXES: - Analysis/6-7: lengths was dropped (default value of "0." is sufficient). commit caa30bb728eba9087798caddea7ae014d9ba4f4f Author: Frederik Heber Date: Wed Dec 29 12:02:55 2010 +0100 BUGFIX: Correlation functions return NULL outputmap when something is wrong. - we return allocated empty map instead. commit be945c354a323c7dfc428278d0959f40f791b566 Author: Frederik Heber Date: Fri Dec 17 19:52:44 2010 +0100 New DipoleAngularCorrelationAction that calculates angular correlation between dipoles. commit 67c92bc74e63aa32a5591cb97787b1ac983f9ee0 Author: Frederik Heber Date: Fri Dec 17 19:51:30 2010 +0100 Added Electronegativity database and member value to class element. - periodentafel contains new loading functions. - also all periodentafel::load...() now accept reference of istream, not pointer. This causes changes in PeriodentafelUnitTest. commit ea430a82140f37b1e0e63e084a2bff60d5685366 Author: Frederik Heber Date: Wed Dec 15 18:23:34 2010 +0100 Initial versions of DipoleAngularCorrelation(). - no implementation yet, just function signatures. commit 9df680e1ca4592968b96c9d82a4e85fee43ab4c5 Author: Frederik Heber Date: Sat Jan 15 16:04:18 2011 +0100 FIX: FillVoidWithMolecule() now centers filler molecule at its center of gravity. - this is the only sensible option if we later rotate the molecule. - atom::clone() reduced a lot, as copy constructors contains it all. - FillVoidWithMolecule() - filler is now selected to reside entirely within the domain. Otherwise, we seg'fault on save on exit, as one of the father atoms for all copied atoms is missing and hence, we cannot look at its additional...Data for various parsers. - new function molecule::removeAtomsInMolecule() which destroys all the molecule's atoms. TESTFIXES: - Filling/3: filled water box has changed due to different center of water molecules. commit d6f8869464bd2208482a0f62cc438db4939fc16d Author: Frederik Heber Date: Mon Jan 10 11:55:48 2011 +0100 changed stupid --lengths parameter of fill...-with-molecule into three distinct ones. - in this Vector length three distinct things had been mixed, with --distance it made sense, with lengths this's been just nonsense. - new parameters are --distance-to-molecule --random-atom-displacement and --random-molecule-displacement and all default to zero. - moved files into regression/Filling and three files, one for each test case according to new scheme. TESTFIXES: - Filling/1-3: lengths mostly replaced by --distance-to-molecule commit 66fd499538327fa9d63d45ec481787c8650b9509 Author: Frederik Heber Date: Thu Dec 30 21:52:17 2010 +0100 Rewrite of FillVoidWithMoleculeAction. FillVoidWithMoleculeAction: - new parameter MinDistance and default value of 0. - BUGFIX: filler is already created when parsing file, removed useless creation of it initially (also caused lots of confusion due to an "extra" molecule). - Undo implemented, regression test inserted. - Redo is somewhat hard to implement, as one would use performCall() if it only it would not retrieve its values from ValueStorage ... FillVoidWithMolecule(): - filler is now the zeroth not the last molecule, marked by firstInsertion and firstInserter. Filler is removed if no molecules are filled. - outsourced stuff into smaller functions - RandomizeMoleculePositions() - RemoveAtomsOutsideDomain() - isSpaceAroundPointVoid() - removed FillIt to through every atom despite only CurrentPosition, indepedent of atom position, is checked. TESTFIXES: - Analysis/3: test.xyz changed because boundary is now 1.5 instead of 2.1 as 2.1 is not enough of molecules get filled in (and the filler already is). - Analysis/3: tensid.data was actually lacking water at (0,0,0) which is after the rewrite present. commit 0b15bbf617ce267e166ff4e7e1454ca420c1488f Author: Frederik Heber Date: Fri Dec 17 19:50:12 2010 +0100 BUGFIX: fill-molecule was rotating randomly per atom, not per molecule. commit c00d359f173d2e16a9424a03c781f723da85fa93 Author: Frederik Heber Date: Wed Dec 29 17:30:04 2010 +0100 RotateAroundSelfByAngle now acts on all selected molecules. commit cb9de4fed6a381fa6220088cb1a1b919167e8e82 Author: Frederik Heber Date: Wed Dec 29 15:40:08 2010 +0100 Parameter for rotate-around-self axis is now called 'axis' not 'position' anymore. - this is only needed due to multiple tokens not yet possible. TESTFIX: Molecules/Rotate around self parameter adapted. commit aa4b2d50a6822ca41e873badba032107ce6d6d6d Author: Frederik Heber Date: Wed Dec 29 17:53:52 2010 +0100 All (Un)SelectionActions now state how many atoms or molecules (remain) selected. commit d1115de89a5962b3b03f159e145f3860d6a3b410 Author: Frederik Heber Date: Thu Dec 30 20:43:58 2010 +0100 FIX: paramdefaults values have to be in "", now enforced by constructing std::string from it. - before we could say (0) as a paramdefault which did not give any clear indication why compilation failed. Now, it states that std::string cstor for this type is missing, which should point to writing ("0") instead. - Action.hpp: NODEFAULT changed to "" instead of std::string(""). commit e5bf2b22c0042a67710fb901a98aa2af11f93f72 Author: Frederik Heber Date: Mon Jan 10 23:34:20 2011 +0100 removed CPPUNIT_LIBS/FLAGS from most Makefile.am and LIBS/libs -> LIBADD. - CPPUNIT_LIBS/FLAGS is only needed for unit tests. - LIBS/libs should actually be LIBDADD, see also ticket #133. commit b2ae3bbc113d5260710b637dd098d36ee28dc655 Author: Frederik Heber Date: Tue Jan 4 13:14:59 2011 +0100 Removed smaller warning, mostly due to NDEBUG. - ASSERTs are not compiled in with NDEBUG but some stuff is assigned before and then checked within the ASSERT. If NDEBUG, the compiler will issue a warning because of unused variable. These have been excluded by a #ifndef NDEBUG,#endif block. commit dd88cb86f41b3bd7928c6029b08d07f211ecb31f Author: Frederik Heber Date: Thu Dec 23 19:14:41 2010 +0100 Set current version to 1.0.8. commit 6d2207705fa65aba62ae39144897529bc80eb3a3 Author: Frederik Heber Date: Thu Dec 23 17:45:39 2010 +0100 FIX: Forgot Shapes/unittests and made Shapes into own library. - Shapes only depend on LinearAlgebra and Exceptions, hence own lib module. commit acbe1b77b823d2bb1821c128fc01df591be27828 Author: Frederik Heber Date: Thu Dec 23 17:35:16 2010 +0100 All libraries don't have version in name anymore. - we used gained knowledge from CodePatterns library for .pc file and and the generated libs to finalize their use (for SubspaceFactorizer soon the factored out into independent project). - .pc now contains all libs and named correctly. Makefile.am's - include_HEADERs corrected - pkgconfig_.. thrown out except in src/, it's always the same file - at a later point we might have specialized .pc files for specific libraries such as Shapes,LinearAlgebra and Exceptions, ... - no more version attached, only via -version-info, as .pc file checks for version anyway. commit dc031cb33b9d55462239994b557d00d9554e07f7 Author: Frederik Heber Date: Wed Dec 22 18:16:07 2010 +0100 Added enable-debug and enable-cache switches to configure. - These set NDEBUG or MEMDEBUG. - The user does not need to have to know about this stuff, configure should tell him his options in a easy to understand manner. - also, we use CodePatterns-debug library if debug is specified and we need v1.0.1 from CodePatterns. - updated ax_codepatterns.m4. commit 56f73b5512dfb946d0cfe382fc8564d60e182c52 Author: Frederik Heber Date: Wed Dec 22 18:10:02 2010 +0100 Added config.h also to all header files, code check test ascertain this in the future. - as we want to use config.h to pass stuff such as MEMDEBUG, NDEBUG, LOG_OBSERVER, we have to make sure that it is present in each and every file. - split up CodeChecks/testsuite.at: each test has its own .at file. commit ad011c5ac0c9bfcf699f41ee11dd4a8aa0abb89a Author: Frederik Heber Date: Wed Dec 22 11:33:36 2010 +0100 CodePatterns places all includes now in subfolder CodePatterns/. - change all includes accordingly. - this was necessary as Helpers and Patterns are not very distinctive names for include folders. Already now, we had a conflict between Helpers from CodePatterns and Helpers from this project. - changed compilation test in ax_codepatterns.m4 when changing CodePatterns includes. commit a0064eed42643b1cce8b62a957d12e2bdfc5e696 Author: Frederik Heber Date: Wed Dec 22 10:18:48 2010 +0100 Moved stuff in src/Helpers and src/Patterns out to stand-alone project CodePatterns. Makefile.am's: - CodePatterns added to AM_LDFLAGS and AM_CFLAGS - libMoleCuilderHelpers removed Helpers/... - defs.hpp include prefixed with Helpers/ - helpers.?pp removed lots of old, unused functions: bound, ask_value, ... - fast_functions.hpp has lots of functions removed as well. - all other files and unit tests moved to project CodePatterns. Patterns/... - all files mnd unit tests oved to project CodePatterns. - added ax_codepatterns.m4 containing AM_PATH_CODEPATTERNS to configure.ac commit f28a26ae355bb241ae04316dbd135e284fbb92a6 Author: Frederik Heber Date: Mon Dec 20 22:18:34 2010 +0100 Added ChangeLog file and config dir creation to bootstrap. commit 78bb14109cfdffd92df5a209d6c6f435f90b1369 Author: Frederik Heber Date: Fri Dec 17 16:57:59 2010 +0100 BUGFIX: SetOutputFormatsAction seemed to add last format twice. Thanks Daniel! - this was a bug in ValueStorage: while-loop checked for stream.fail(), but the stream might also fail within and nonetheless we pushed the (then unaltered from last iteration) temp value. Hence, doubly occuring last item. - to prevent this, we test within for stream.fail() and for all others we placed ASSERT's everywhere (as internally strings are used for conversion and for a vector, we have to parse (at least) three strings). - if std::vector<>'s are parsed, we ASSERT only that at least one value was parsed. - FormatParserStorage now just gives a warning, when an already presen Parser is added again, but gives a not that input type is not needed to be specified as output type as well. thanks Daniel for pointing this out! commit ff3c4002a716034c90ecc45a2447e144ee900ffe Author: Frederik Heber Date: Fri Dec 17 16:26:30 2010 +0100 BUGFIX: TremoloParser would store "noKey" if other format given as input. - If not originating from a tremolo type file, i.e. when TremoloParser has to fall back to its default value, it wrongly output also the noKey. - also we placed setter and getter for noKey, getter gives "noKey" string. commit e6f9c5924a09731d92bcf9977f544c3c06f0099d Author: Frederik Heber Date: Fri Dec 17 15:46:13 2010 +0100 Removed all -e ${abs_top_srcdir} from regression tests. - Now only the test on external element database uses still "-e" switch. - Note that this was utter nonsense before anyway. Molecuilder writes the database in the end, i.e. make check would change elements.db in the source folder ... Evil! - This closes ticket #78. commit 5d6f38416b4c5e08382366362df9df4bac7f185a Merge: d0a7193 dd97a92 Author: Frederik Heber Date: Fri Dec 17 15:20:26 2010 +0100 Merge branch 'Fix_TremoloAtomInfoContainer_MemDebug' into stable commit dd97a92224a10b645572d2e62e316c7cf76175e6 Author: Frederik Heber Date: Fri Dec 17 15:20:07 2010 +0100 Added missing MemDebug.hpp to TremoloAtomInfoContainer.cpp. commit d0a719337605ff092ec30a9628eacac47018187c Author: Frederik Heber Date: Fri Dec 17 15:17:44 2010 +0100 Added new testsuite called CodeChecks. - this testsuite is meant to capture coding pardigms and ascertain that they are adhered to. - the first test is on whether MemDebug.hpp is included in every source file which is quite necessary since we have set all unknown mem source to be ignored in counting and admonishing. commit f844ef1d2617f49c942d373969b847f7fc5ae831 Author: Frederik Heber Date: Thu Dec 16 22:40:03 2010 +0100 Renamed all remaining unit tests in src/unittests to Capitalized naming scheme. - some includes had to be changed. - some other files too due to befriended member functions of unit tests. commit dfafe75c0a321601e7c5213a34a8e595a074c4f4 Author: Frederik Heber Date: Thu Dec 16 22:07:59 2010 +0100 Moved VectorContentUnittest and vectorunittest to LinearAlgebra/unittests/VectorContentUnitTest and ../VectorUnitTest. commit 0b3cbdf61fac3c20da86e10708e1eb6f38434f9e Author: Frederik Heber Date: Thu Dec 16 22:02:50 2010 +0100 Moved ShapeUnittest to Shapes/unittests/ShapeUnitTest. commit 57d976e0915dfd9310443b244dfde9c7d398ab8e Author: Frederik Heber Date: Thu Dec 16 21:56:56 2010 +0100 Moved RegistryUnitTest to Patterns/unittests/RegistryUnitTest. - renamed unit test exe Registry -> RegistryUnitTest. commit 5bc8229c9ad8aacd95f80f0270ccd72aad8fb4a8 Author: Frederik Heber Date: Thu Dec 16 21:52:09 2010 +0100 Moved PlaneUnittest to LinearAlgebra/unittests/PlaneUnitTest. commit f890244320184388b550201562b2a865b1b496ee Author: Frederik Heber Date: Thu Dec 16 21:47:33 2010 +0100 Moved LineUnittest to LinearAlgebra/unittests/LineUnitTest. commit 41396af72cb96bbfe713a3fdf03c9101ef077da5 Author: Frederik Heber Date: Thu Dec 16 15:59:07 2010 +0100 Moved Parser...UnitTest to Parser/unittests/Parser...UnitTest. commit a2c4f3a25768bdc125e4bb1a2d1a55d910d0b53b Author: Frederik Heber Date: Thu Dec 16 15:54:02 2010 +0100 Moved ObserverTest to Patterns/unittests/ObserverUnitTest. commit 6c9adcb840c14f7f035c42223e0c8e915c72fde5 Author: Frederik Heber Date: Thu Dec 16 15:47:29 2010 +0100 Moved MoleculeDescriptorTest to Descriptors/unittests/MoleculeDescriptorUnitTest. commit 0e20316989ca2bc429f9b3d052d7b3e9ba3d26cc Author: Frederik Heber Date: Thu Dec 16 15:44:27 2010 +0100 Moved MenuDescriptionUnitTest to UIElements/Menu/unittests. commit efd61bd3e7212dbd914dab44397fc2a2e40bff21 Author: Frederik Heber Date: Thu Dec 16 15:32:21 2010 +0100 Moved manipulateAtomsTest to Actions/unittests/ManipulateAtomsUnitTest. commit 4076fcc9b9d836715dfe1bba1c9247bfdd385a93 Author: Frederik Heber Date: Thu Dec 16 15:28:25 2010 +0100 Moved logunittest to Helpers/unittests/LogUnitTest. commit 78b59342efdef84002909010c97948f27e3de0dd Author: Frederik Heber Date: Thu Dec 16 15:19:18 2010 +0100 Moved linearsystemofequations to LinearAlgebra/unittests/LinearSystemOfEquationsUnitTest. - also renamed linearsystemofequations.?pp to LinearSystemOfEquations.?pp. commit fff54fc0db0a4acc85e41914d8ef5c4e74bd0e7f Author: Frederik Heber Date: Wed Dec 15 20:12:13 2010 +0100 Moved all Matrix...Unittest to LinearAlgebra/unittests/Matrix...UnitTest. commit 3c8e8bb4ac545196f3097a1517f779726212885b Author: Frederik Heber Date: Thu Dec 16 21:29:04 2010 +0100 Moved atomsCalculationTest to Actions/unittests/AtomsCalculationUnitTest. commit e7da1f59b247209d90468802fd9412179ff04717 Author: Frederik Heber Date: Thu Dec 16 21:23:58 2010 +0100 Moved CacheableTest to Patterns/unittests/CacheableUnitTest. commit d766b57dc12ce7778425d65155b7159612ed7211 Author: Frederik Heber Date: Wed Dec 15 19:40:21 2010 +0100 Moved AtomDescriptorTest to Descriptors/unittests/AtomDescriptorUnitTest. commit 456e78e35fb62976d5ccc14000867cdfdf3da8bc Author: Frederik Heber Date: Wed Dec 15 19:32:19 2010 +0100 Removed ActOnAllUnitTest. - Till had replaced all ActOnAll by for_each() with boost::bind. Hence, ActOnAll is not used anymore. commit f7c0c4875e5eed9b9b820e4cd989c0203179be0b Author: Frederik Heber Date: Wed Dec 15 19:18:36 2010 +0100 Moved ActionSequenceTest to Actions/unittests, renamed to ActionSequenceUnitTest. commit deddf60dcef024b8000d9a49d0357ae4601a46de Author: Frederik Heber Date: Thu Dec 16 23:13:41 2010 +0100 New unit test for ActionRegistry. - checks whether a short form has been used by more than once Action. - unit test is placed in Actions/unittests but called from unittests/Makefile.am via SUBDIRS to ensure that all libs are compiled. commit c0bccbecd01c28def7f751995f67ff1a54f4c1c4 Author: Frederik Heber Date: Thu Dec 16 23:12:19 2010 +0100 Moved SingletonTest to Patterns/unittests/SingletonUnitTest. commit 85949a638ffde393b44b0671e40b3ccedb46ce2f Author: Frederik Heber Date: Wed Dec 15 18:53:45 2010 +0100 Split off unittests Makefile.am's in configure.ac into own AC_CONFIG_FILES. commit 2a0a9e3fc16c166da2f43bcf25a079b018b47785 Author: Frederik Heber Date: Wed Dec 15 18:17:48 2010 +0100 FIX: CommandLineParser::getShortFormToActionMap() const member function now. commit ad727091ea334c1a264e49463c1dfd9494856a64 Author: Frederik Heber Date: Wed Dec 15 17:26:52 2010 +0100 Reduced initial verbosity of code. FIX: - initUI() - no more admonishing of missing bond length table. The following messages have been placed in comments: - Registering of Action/Options. - Looking for KnownTypes. - Stating MenuNames, Separators and submenu creations. - No more listing of parsed elements. - No more listing of thermostats. The following messages have been added: - prepended scanning arguments in CommandLineParser::scan...(). - prepended running arguments in CommandLineWindow::display(). - additional new line after ProgamHeader(). - correct CommandLine UI setting to occur before arguments are parsed. - changed verbosity levels of CommandLineParser::scanforSequenceOfArguments(), also all use DoLog(), i.e. global verbosity makes them be listed again. NOTE: - MemDebug: as delete NULL is safe, we do not warn when this occurs. Also, in Qt this happens a lot. TESTFIX: - setting global verbosity to 1, messed with Standard_Options/1. There we set verbosity to 9 to avoid this in the future. commit f4d06356f58f97d60e79eab5f19874cf6cd3d55c Author: Frederik Heber Date: Wed Dec 15 16:54:40 2010 +0100 MEMFIX: MemDebug ignores all unknown sources. Removed all dependencies around main(), moved to builder_init.?pp. - this has been an attempt to fix the warning of a memory leak that actually results into the libboost_filesystem.so over which we have no control. As of now, i I do not quite look through the whole affair. That is, I have a now idea why Till's new memory allocator is used during the initialization of some external library already, but apparently it must have to do with lookup tables present in the exectuable already. Hence, we can not do much about. - Nonetheless, we split up main() into some initializating functions which have been outsourced to builder_init.cpp. - The only fix then is that we ignore all values of unknown source in MemDebug. - Note: We only do accouting of stuff allocated on the heap (e.g. int *test = new int;) and not on stack (int test;)! However, stack space is limited anyway. commit c77ac834b1961f9274456206890fd358c78dcd5b Author: Frederik Heber Date: Sat Dec 11 23:02:50 2010 +0100 Added regression test for each SelectionAction on molecules. - new subfolder Selection/Molecules. - contains a testsuite-selection-....at per selection present. - extensive and very well checked tests. commit ff237cac90abf3bb5724922b22e18dfefccb8028 Author: Frederik Heber Date: Sat Dec 11 23:01:10 2010 +0100 FIX: Simplified SelectionNotMoleculeByFormulaAction::performCall() with descriptor. commit 1a0987486025bfa5a57b606108e288ec7f8fe19f Author: Frederik Heber Date: Sat Dec 11 22:10:26 2010 +0100 BUGFIX: SelectionMoleculeByIdAction::performRedo() uses wrong (_)state. - thanks new regression tests for noting this one, causes segfault. commit c42e60ed725925e7ac0c237a354103f0a7089314 Author: Frederik Heber Date: Sat Dec 11 22:05:11 2010 +0100 Two new descriptors: AtomOfMoleculeSelection, MoleculeOfAtomSelection. Rewrote associated SelectionActions. - AtomOfMoleculeSelectionDescriptor: represents all atoms of currently selected molecules - MoleculeOfAtomSelectionDescriptor: represents all molecules of currently selected atoms - rewrote Selection(Not)AllAtomsOfMoleculeAction: simply uses selectAllAtoms() and descriptor, no parameter anymore - rewrote Selection(Not)MoleculeOfAtomAction: simply uses selectedAllMolecules() and descriptor, no parameter anymore - renamed (un)select-molecule-of-atom to (un)select-atoms-molecules. That is, the SelectionActions are meant to use one selection and turn the other accordingly. It is a sort of exchange between the two. I can convert a selection of atoms to molecules and vica versa, but this "mapping" is NOT injective but always surjective. Testchange: - Selection/Atoms/testsuite-selection-atoms-of-molecule.at: Due to the absent parameter now, we first select the molecule by id and then ... commit fc5c3aecf61bf757b27c7c4f9060569db2b116c7 Author: Frederik Heber Date: Sat Dec 11 17:30:38 2010 +0100 Molecule's SaveAction saves selected molecules, World's OutputAction saves World. - we make use of the extended FormatParserStorage::save...() functions. - OutputAction now has a single parameter, the file name. Before it was quite useless anyway as the World is stored on program exit anyway, overwriting anything that would have been stored by the Action in between. Testchanges: - SimpleConfiguration/2 are now called "--output" and not "-s" due to other Action being called. commit 73916fa693ce5fb3da8ee860f66532d555f21bca Author: Frederik Heber Date: Sat Dec 11 16:57:00 2010 +0100 Extended FormatParser::save() to use vector to save. - This is needed to make the save functions also work on selected atoms or molecules only. - Within ParserCommonUnitTest, ParserTremoloUnitTest we create the vector by calling World's getAllAtoms() (which would have been done before in the specialized save() functions). - new functions in FormatParserStorage: - saveSelectedAtoms(). - saveSelectedMolecules(). - saveWorld(). - renamed ::get() and ::put() to ::load() and ::save() to have it more consistent with underlying FormatParser functions and also to avoid misinterpretation with all ::get...() functions. commit 512f85d322a6e9f33d30dd5c0407a7abb6513ce2 Author: Frederik Heber Date: Fri Dec 10 19:07:09 2010 +0100 Added regression test for each SelectionAction on atoms. - Moved testsuite-selection.at to subfolder Selection. - testsuite-selection.at just contains includes for each Action. - Therein subfolder Atoms contains: - testsuite-selection-....at: one for each Action. - all folders with pre and post files. - all tests include Undo/Redo and select/unselect - each regression file has been tested thoroughly, especially for cuboid and sphere selection. commit 17c1a8e8744f0689e0dfd763a4ba3027a68fe52a Author: Frederik Heber Date: Wed Dec 8 00:55:21 2010 +0100 Added regression test for SelectionAction to testsuite. - so far only for AllAtomsAction. commit 125002e81c98512135b35e1b6d522def2717dad7 Author: Frederik Heber Date: Tue Dec 7 23:23:03 2010 +0100 Splitted SelectionAction modules into two groups - atoms, molecules - and each into a subfolder. - had to adapt includes in all .cpp files as they contained some stupid relative path. - This is sensible as there are quite a large amount of SelectionActions and it is hard to discern the ones which select atoms and which select molecules. commit 92d756fffdac8a3b844d1d562292a4c99a853093 Author: Frederik Heber Date: Tue Dec 7 23:05:18 2010 +0100 Larger update of selections. - new selections: - NotMoleculeByOrderAction - MoleculeByNameAction - NotMoleculeByNameAction - exchanged all loops in present selections by BOOST_FOREACHs - used AtomsBySelection() and MoleculesBySelection() to more cleverly store stuff for undo state. - new MoleculeOrderDescriptor (outsource from SearchMoleculeByOrder). commit 0bbfa1f442f20bde96b5119e3b620b99bc8c62d9 Author: Frederik Heber Date: Wed Dec 8 02:10:03 2010 +0100 BUGFIX: Parsing a second .data file failed. - atomIdMap was not cleared in TremoloParser::load(). - neighbors of first parsing get processed again after second parsing, hence bonds are added twice. commit 93fd43e59ae1cd1a2ca84e03e23e808197ff8076 Author: Frederik Heber Date: Tue Dec 7 15:00:19 2010 +0100 new function PdbParser::getadditionalAtomData() that also adds new entries. - either we get the present one, or create from next father, topmost father or from defaultValues a new entry. commit 1d02fe3308df262c745ee1939a67abc233e2f804 Author: Frederik Heber Date: Tue Dec 7 14:18:46 2010 +0100 MEMFIX: PdbParser::readAtomDataLine() additionalAtomData entries leaked. - entries were created by *(new PdbAtomInfoContainer) instead of PdbAtomInfoContainer() which copies default values from temp instances. commit 16462f8c5b097f56fd1c2c03e31b5cd9daef6a0f Author: Frederik Heber Date: Tue Dec 7 13:54:42 2010 +0100 PdbParser is now complete with respect to additionalAtomData. - serial, name, resName, resSeq, element, and charge are updated if changed, otherwise we use values from PdbAtomInfoContainer. - PdbParser::saveLine() completely uses information from PdbAtomInfoContainer. Testchanges: - Simple_configuration/2/post/test.pdb updated as we are now closer to real PDB format also concerning alignment and the resName changed again. commit 031e2c6660707d072a402cb12517f617d42c8d3c Author: Frederik Heber Date: Tue Dec 7 14:09:39 2010 +0100 Splitted off classes TremoloKey and TremoloAtomInfoContainer into own modules. commit 24f1282e1df2c72138841c78643facb494f0b9ed Author: Frederik Heber Date: Tue Dec 7 14:16:13 2010 +0100 MEMFIX: TremoloParser::readAtomDataLine() additionalAtomData entries. - entries have been filled with *(new TremoloAtomInfoContainer) instead of TremoloAtomInfoContainer() which copies default values from temp instance. commit 4c12306495978f073faf37a21b00f168b04041bf Author: Frederik Heber Date: Mon Dec 6 21:47:33 2010 +0100 FIX: PdbParser::writeNeighbors() uses getAtomId not getSerial. - additionalAtomData is as of now not used for storing. Hence, we first fix this. Now, the set id in PdbParser::save is also used for the neighbor connectivity. commit a564be038aa43b68337fb7e9294c7feed0300ab0 Author: Frederik Heber Date: Mon Dec 6 20:15:03 2010 +0100 Removed ancient StackClass, replaced by std::deque. - all PopLast replaced by pop_front. - all PopFirst replaced by pop_front. - and we have two remove items in two steps, first get item, then pop. commit fd19ffcfb7e86ca4783fbcedf0584c4608df7c1c Merge: 001f8a9 ca03c73 Author: Frederik Heber Date: Sun Dec 5 01:21:11 2010 +0100 Merge branch 'SelectMoleculesByOrderAction' into stable commit 001f8a9151f2367cc32119fef0f83b2bfdaf9222 Merge: f03705f cabb467 Author: Frederik Heber Date: Sun Dec 5 01:21:03 2010 +0100 Merge branch 'ExtendLoadSaveXyztoAnyFormatParser' into stable commit ca03c737b18c4f2c7a74bb5afa10aef73a7369e8 Author: Frederik Heber Date: Sat Dec 4 23:22:31 2010 +0100 Added select-molecule-by-order Action. commit cabb4679cb9a88d3965bf3c046c49ed900a21865 Author: Frederik Heber Date: Sat Dec 4 22:23:07 2010 +0100 Extended LoadXyz and SaveXyz to any format. - renamed ParserAction/LoadXyz -> MoleculeAction/Load (same with Save). - also changed .def for both. - LoadAction then uses stuff from InputAction but without output name setting. - new function FormatParserStorage::put() which is opposite to get and stores world to a given ofstream with type from suffix. - SaveAction uses new FormatParserStorage::put(). - short form of LodAction is "l" not "p" - short form of SaveAction is "s", ScaleBox has no short form anymore Testchanges: - copied all from Simple_configuration/2/pre to ./post. - changes to test.conf: MaxPsiStep (if 0 given, then 3 is set). MaxMinGapStopStep (if 0 given, then 1 is set). InitMaxMinGapStopStep (if 0 given, then 1 is set). - changes to test.pdb: segName is tes (from _tes_t.pdb) not non. Obtaining molecule names from pdb file's segName is not implemented yet. - ParserCommonUnitTest::rewriteAnXyzTest(), we don't check for string equality but parse the output stream again and check whether first and second half of all atoms are equal with respect to position and element. - all regression test that diff an xyz file now use -I '.*Created by....*' - changed regression tests with respect to changed short forms. commit f03705f696ab4a9d6c37935af9a29048f199bdf9 Merge: 6e06bd5 e828c07 Author: Frederik Heber Date: Sun Dec 5 01:19:33 2010 +0100 Merge branch 'SubspaceFactorizer' into stable commit 6e06bd5894042aa085863fea17cf566f42e7a31b Merge: 589112b bbf1bd9 Author: Frederik Heber Date: Sun Dec 5 01:19:19 2010 +0100 Merge branch 'MatrixVectorContentRefactoring' into stable commit 589112be6795a12a7a887ba4005dda978bda9870 Merge: 5d4b731 a01144e Author: Frederik Heber Date: Sun Dec 5 01:18:31 2010 +0100 Merge branch 'FixingMemDebugChunks' into stable commit 5d4b731ab716069a5f604dfb95a1db006dfeaba1 Merge: 41e15b8 d754bbb Author: Frederik Heber Date: Sun Dec 5 01:17:34 2010 +0100 Merge branch 'MenuStructureChange' into stable commit 41e15b8d296401abbd6d9901e3ad1a9692986df2 Merge: 0af7ef3 b295ca6 Author: Frederik Heber Date: Sun Dec 5 01:16:53 2010 +0100 Merge branch 'FixLexicalCastTextDialog_QtQueryListPipe' into stable commit 4fbca9c2b6785a7839394eeab5fe9c6dad6c28cd Author: Frederik Heber Date: Sat Dec 4 19:05:33 2010 +0100 PdbParser::save() fully working. - added UnitTest for PdbParser. - split ParserUnitTest into Common and Tremolo. - split off classes PdbAtomInfoContainer and PdbKey into own modules. - PdbParser can now load ATOM and CONECT entries. commit e828c07cc83828399b494f75295e73daf5ad0852 Author: Frederik Heber Date: Sat Dec 4 19:10:56 2010 +0100 SubspaceFactorizer is now hierarchical. - higher order subspace matrices are only corrections to lower order ones. - i.e. eigenvectors obtained from there have all lower ones projected and substracted. commit 1fb318e13ebc1029d5ba1a68d3b01c62237ab05b Author: Frederik Heber Date: Sat Dec 4 19:11:17 2010 +0100 Added helper template function: ConvertTo() that converts a string to a desired value. commit 286af5fb9ad803eaed15af491597fbf6b924d817 Author: Frederik Heber Date: Mon Nov 22 19:00:17 2010 +0100 SubspaceFactorizerUnittest::SubspaceTest() - fully working compared to EigenvectorTest(). - we also have an iteration and the results are exactly the same for a 3x3 matrix at run 2 and 9. - classes Eigenspace and Subspace are thus for now fully working. commit 7d059dd842ec69d4f92d90a9d682739b6028ab89 Author: Frederik Heber Date: Mon Nov 22 18:59:56 2010 +0100 SMALLFIX: MatrixContent::setIdentity() - made cast from bool to double explicit. commit 9f9b5a8050ebe660ec28f9e48b98cdc192c90821 Author: Frederik Heber Date: Mon Nov 22 18:27:26 2010 +0100 Added some template operator<<() functions for std::list,map,multimap,set,vector. commit a06042e843c266378c28a07d857634215eb6f8b9 Author: Frederik Heber Date: Mon Nov 22 17:23:18 2010 +0100 SubspaceFactorizerUnittest::SubspaceTest() enhanced. - Now projection matrices and therefrom eigenspace matrices are constructed correctly. commit 58605562acab64d92776eafdb01c18caf23d7b60 Author: Frederik Heber Date: Mon Nov 22 17:22:59 2010 +0100 Made VectorContent::operator=() ASSERT more verbose. commit 9c529645733d09290760e9ebeff51081f40223b8 Author: Frederik Heber Date: Mon Nov 22 15:57:20 2010 +0100 New classes Eigenspace and Subspace that contain eigen(sub)spaces. - also added new test to SubspaceFactorizerUnitTest::Subspacetext(). - so far only constructs the full and nested sub spaces. commit f5bca22b78eaf9625472526767aee30ef21eac07 Author: Frederik Heber Date: Mon Nov 22 12:10:57 2010 +0100 SubspaceFactorizer now has the matrix dimension as an enum. commit 74237190563beadc942e60dbd56f5fd7b388031b Author: Frederik Heber Date: Thu Nov 18 19:24:28 2010 +0100 Subspace Factorizer is almost working. - for the testing (4x4) matrix, the middle eigenvectors are good, but the smallest and biggest are off by a few percent, yet converged ... commit a062e1a2664e207eac45146412e88672ce76b9c9 Author: Frederik Heber Date: Thu Nov 18 19:22:14 2010 +0100 BUGFIX: MatrixContent::operator*=(MatrixContent&)'ASSIGNS were wrong. - for a product with another matrix, not lhs.row==rhs.row, but rhs squared and lhs.columns == rhs.rows. commit 14cce656977d7ff643161db58293c9cca7ab5f3b Author: Frederik Heber Date: Thu Nov 18 19:21:41 2010 +0100 New getter for VectorContent::dimension. commit aab177d98e690f1248a0b4baa792a2038f929536 Author: Frederik Heber Date: Thu Nov 18 19:20:51 2010 +0100 BUGFIX: MatrixContent::getColumnVector() and MatrixContent::getRowVector() had calls to gsl_... swapped. commit 35fbef23b9da4ffe3159ed9a4a1fd9672698a932 Author: Frederik Heber Date: Thu Nov 18 19:20:11 2010 +0100 BUGFIX: MatrixContent::get...() not const member functions as should be. commit 3da2fb469f9384e940eef17ba9935099f76b7967 Author: Frederik Heber Date: Thu Nov 18 15:55:04 2010 +0100 New module MatrixVector_ops that contains matrix vector products. - all functions are made friend of Vector, VectorContent and MatrixContent as needed. Hence, has to be in distinct header file from these. commit 694eaeaa8cfed90f0d1a6fcce33a04b118565314 Author: Frederik Heber Date: Thu Nov 18 15:53:46 2010 +0100 Implemenation of Vector::Norm(), ... now depend on VectorContent. - made operator*[=](double) into member functions. commit 3dd9c7ca1b89a4b30a84806b5db5b0fa21e6fcca Author: Frederik Heber Date: Thu Nov 18 15:50:54 2010 +0100 New functions for VectorContent, partially copied from Vector. - new: Norm(), NormSquared(), Normalize(), getNormalized(). - implemented: DistanceSquared(), ScalarProduct(), Angle(). - FIX: operator*(VectorContent) is const member now. commit 40be553e468c5432cecad628aa323b3b2a23cf28 Author: Frederik Heber Date: Tue Nov 16 16:43:58 2010 +0100 Current stable version of SubspaceFactorizer. can: - functions embedSubspaceMatrix() and getSubspaceMatrix() to embed and to obtain the small block matrix from/in a big one - we construct the index set - we construct the block matrices - we solve the eigensystems - we transfer the eigenvalues back - we associate to original eigenvectors by parallelness, uniquely within a subset of indices. - we construct the new set of eigenvectors by averaging. can't: - resulting ev are not orthonormalized or checked to be - no iteration yet commit 0fd3f24772a3babab73bf386ab1328777738a36e Author: Frederik Heber Date: Tue Nov 16 16:43:30 2010 +0100 Scalar product operator implemented, taken from Vector. commit f453d2ed88e83b50d828778afe4b41f3afb313a3 Author: Frederik Heber Date: Tue Nov 16 16:43:17 2010 +0100 New VectorContent copy constructor for gsl_vector. commit 60dada681c8d81d228c315a78be44fcee3bdc6f4 Author: Frederik Heber Date: Tue Nov 16 16:41:53 2010 +0100 Added getter for MatrixContent:rows and ::columns, and for Row/Column/DiagonalVector. - RealSpaceMatrix::createViews() uses these get functions now. commit 4c57fbfc2c8aed284634ebccfde4fc6d01292498 Author: Frederik Heber Date: Tue Nov 16 14:20:29 2010 +0100 FIX: _object for toString() can and has to be const without any loss. commit d85c28d0a60ffc7686e3aab064475dce354a5cbb Author: Frederik Heber Date: Tue Nov 16 13:33:51 2010 +0100 Added Hadamard product by overloading MatrixContent::operator&(..) and operator&=(..). - the Hadamard product is a component-wise product which we need for subspace factorization. commit 04146220b0862ff96425b73f0ee9076a31b357ce Author: Frederik Heber Date: Tue Nov 16 13:22:39 2010 +0100 BUGFIX: operator<< for VectorContent placed "," at wrong position. commit 17fa816510f6b950b8a5edbeacf4f3cd95693f08 Author: Frederik Heber Date: Tue Nov 16 12:42:47 2010 +0100 MatrixContent::transformToEigenbasis() also working for non-symmetric real matrices. - we don't have to look for zero columns OR rows, as eigenvectors are stored column-wise and eigenvalues give clear identification of the right/non-zero ones. - also added ASSERT to MatrixContent::operator*(). commit 5eec98fc74e20ebf464cd1f75c19e0d45b825c07 Author: Frederik Heber Date: Tue Nov 16 12:22:30 2010 +0100 Subspacefactorizer can now be linked with just GSLLIBS. - i.e. we don't need ALLLIBS anymore. commit 13d1504cb6c549a18c96fb24463172b5f411e4c2 Author: Frederik Heber Date: Tue Nov 16 12:21:40 2010 +0100 Moved leastsquaremin.?pp to LinearAlgebra. - changed Makefile.am and LinearAlgebra/Makefile.am. - changed include in molecule.cpp, molecule_geometry.cpp and vector_ops.cpp. commit 6d5a104a348d8b5b9e69f59a022509811fb750cc Author: Frederik Heber Date: Tue Nov 16 12:17:37 2010 +0100 Added/Sorted some includes in LinearAlgebra and Exceptions. commit e4fe8d6bab9cf4dd5525442cf6174806c453318a Author: Frederik Heber Date: Tue Nov 16 12:16:06 2010 +0100 Moved defs.?pp to subdir (and library) Helpers. - hence, include had to be changed to Helpers/defs.hpp - and Makefile.am and Helpers/Makefile.am adapted - also in LinearAlgebra where MYEPSILON appears we have added the above include commit ef0c6bec93c0171ad946293a423b49bee2708b58 Author: Frederik Heber Date: Tue Nov 16 12:08:02 2010 +0100 Deleted gslvector.?pp from repository. commit 8e9ce1f9895161c968ecfcdfd3228bebdd711671 Author: Frederik Heber Date: Tue Nov 16 11:42:35 2010 +0100 Added MatrixViewContent to allow views on blocks of a gsl_matrix. - dummy struct BaseCase is now Matrix/VectorBaseCase. commit b4cf2b752620d3a300d2fa3fef55de302a2b7065 Author: Frederik Heber Date: Tue Nov 16 10:45:32 2010 +0100 First commit of SubspaceFactorizerUnitTest. commit bbf1bd95420fd2556318900509aeb2a2b49865e8 Author: Frederik Heber Date: Mon Nov 15 21:00:30 2010 +0100 Extended VectorContent class. - VectorContent formerly has been just a structure to contain the gsl_vector due to forward declaration reasons. - now VectorContent is a true wrapper to gsl_vector, i.e. all functionality that is now specific to 3 dimensions has been shifted from GSLVector over to VectorContent. - VectorContentView is preserved to allow for VectorContent as a view on a row or column of a matrix. - changed and renamed unit test gslvectorunittest -> VectorContentUnitTest - GSLVector is not used anymore anywhere - one long-sough error was a missing assignment operator filled-in in a wrong manner by the compiler for VectorContent. Note that: - gsl_vector is still used at many places commit 5ada941f20587a943dbda6033b6e4d8c01b3ce67 Author: Frederik Heber Date: Mon Nov 15 15:06:20 2010 +0100 Removed files gslmatrix.?pp. - also removed last include in vector_ops.cpp. commit 6c1cd12eee33413bbb6cb70f425ff114bacb2e5b Author: Frederik Heber Date: Mon Nov 15 15:04:49 2010 +0100 tempfix: typo in MatrixContent::...pointer contained ref to GSLMatrix. commit c134d91b31b1473ed8101493c441a723f670152a Author: Frederik Heber Date: Mon Nov 15 15:04:02 2010 +0100 tempfix: removed transpose ... messages. commit 0d4424de796ea0eb6de8098859070b5acdb6edae Author: Frederik Heber Date: Mon Nov 15 15:02:38 2010 +0100 Made gslmatrix obsolete. - Transfered property and swap...() functions from GSLMatrix to MatrixContent. - Line::getIntersection() uses now MatrixContent. - made unit tests for gslmatrix into unit test for MatrixContent. commit cca9efb7bf18583f35d0380acb97e9034c42bbe7 Author: Frederik Heber Date: Mon Nov 15 13:58:27 2010 +0100 Renamed Matrix to RealSpaceMatrix. - class Matrix only represents 3x3 matrices, whereas we are now going to extend the class MatrixContent to contain arbritrary dimensions. - renamed class and file commit 3bc9264606122a0c59b0d7bf20669cc353efbbec Author: Frederik Heber Date: Mon Nov 15 13:36:18 2010 +0100 Extended MatrixContent class. - MatrixContent formerly has been just a structure to contain the gsl_matrix due to forward declaration reasons. - now MatrixContent is a true wrapper to gsl_matrix, i.e. all functionality that is now specific to 3 dimensions has been shifted from Matrix over to MatrixContent. commit 9eb7580cd9f1b192263dddcbef45a27b39fc5eca Author: Frederik Heber Date: Mon Nov 15 11:29:25 2010 +0100 Renamed Matrix setter functions to unify naming. - Matrix::one -> Matrix::setIdentity - Matrix::zero -> Matrix::setZero - Matrix::rotation -> Matrix::setRotation commit cfc53b40fcd322688790ea68e3e591670d3880ae Author: Frederik Heber Date: Mon Nov 15 11:24:24 2010 +0100 Added template function toString(), is included in Assert.hpp. - std::string() only works on char* not e.g. int. There we have to use stringstream. This function encapsulates this conversion. commit a01144ecd22d2dc72de922a73d53eb3e8a06c02b Author: Frederik Heber Date: Thu Nov 11 19:49:23 2010 +0100 MEMFIX: quitAction is not free'd anymore. - this is done by ActionRegistry, as it is registered. - also we empty returnFromActions list properly. commit 0e08d58b5b181aaa9bc39669605f110092dab17f Author: Frederik Heber Date: Thu Nov 11 19:48:45 2010 +0100 MEMFIX: Submenus were not free'd. - introduced list of submenus to class TextMenu. - Submenu TextMenus are deleted in destructor of TextMenu. - also ShortcutMap is cleared there. - in TxMenu list of MenuItems is properly erased now. commit b2151f5f3c6feafd6bdc52bcb8ae01e32953dec6 Author: Frederik Heber Date: Thu Nov 11 19:45:09 2010 +0100 Removed some virtual keywords in front of classes that are not base classes, but only derived ones. commit c82d0c82d4b642535ea65dae019a045eb40cf376 Author: Frederik Heber Date: Thu Nov 11 19:43:28 2010 +0100 MenuDescription is now a singleton. - also all Maps are static objects, allocated and filled dynamically in the constructor, removed in the destructor. commit d5240d74405d4ff10e28079491467650d6a36d25 Author: Frederik Heber Date: Thu Nov 11 15:39:10 2010 +0100 FIX: Linking to non-system boost is working now. - FIX: BOOST_CPPFLAGS was not present in AM_CPPFLAGS in all Makefile.am - Hence, not the correct includes were used and linking occured with undefined reference errors (because of version conflict between system-wide installed and non-system boost) - validate()s now make version check of boost as signature of validation_error)_ changed in boost 1.42 - added AX_BOOST_SYSTEM to configure.ac and BOOST_SYSTEM_LIB to src/Makefile.am and src/unittests/Makefile.am. Otherwise we have to set an rpath to let it find the lib needed by other boost libs in non-system boost configs. commit ae21cbd6997bd376bb6a338f21a97f19796d175b Author: Frederik Heber Date: Wed Nov 10 15:21:55 2010 +0100 MEMFIX: new function AddStaticEntitiestoIgnoreList() for putting static variables on ignore list. - static classes still may have dynamically allocated contents in their constructors. Hence, we have to put their contents - which will get deleted - into the Memory::ignore map to avoid their admonishing. commit 41449c171ea776d7dcc91a7b1eaaa12893873edd Author: Frederik Heber Date: Tue Nov 9 22:56:18 2010 +0100 MEMFIX: Action::success and Action::failure are not recognized by MemDebug. - Although these are placed into boost::share_ptr with Memory::ignore, this does not work out of the same reasons we have given in the last commit: boost::shared_ptr makes same dynamic allocation which is not ignored. - Hence, we have a new (static) function removeStaticStateEntities() that calls reset() on these shared_ptrs and which is called in cleanUp(). commit 052afe13bdc0d95e03536a565fb005e73ef89520 Author: Frederik Heber Date: Tue Nov 9 17:16:58 2010 +0100 MEMFIX: ofstreams in ...logger.hpp as static objects were not recognized by MemDebug. - now they are allocated via new in the constructor of the ...logger's. - Calling new ofstream(..) globally would cause segfaults in some unit tests. - Constructor is private (due to logger's being singletons), hence this is safe. NOTE: the problem is not the static object itself, but what is allocated dynamically inside the object's constructor (this also concerns previous fixes) commit 694d841455d8fa728517b6d9113d7a59531897be Author: Frederik Heber Date: Tue Nov 9 16:42:30 2010 +0100 MEMFIX: static factories map of UIFactory was not clear()'ed in destructor. - hence, boost::shared_ptr still had a user and have not been deleted. - TESTFIX: ActionSequenceTest and manipulateAtomsTest segfault. - the problem was the static hasDescriptor boolean. It made the dummy factory getting registered only once, despite its being removed during UIFactory:: purgeInstance() in tearDown(). - hasDescriptor is now a member variable and set to false in tearDown(). commit 95c0abf00cb1dbccd2cda17e2e09fc0f295e2ffd Author: Frederik Heber Date: Tue Nov 9 16:16:40 2010 +0100 MEMFIX: MemDebug was confused by const Action objects, changed to dynamically allocated. - before we used: const ACTION INSTANCE, now we allocate via new. commit d2b28f15457da25888fab2bdd7e87cf6216948e4 Author: Frederik Heber Date: Tue Nov 9 16:13:12 2010 +0100 Added missing MemDebug include to various implementation files. commit d754bbb30af7537ab3706f0b5cec46f0acb27940 Author: Frederik Heber Date: Tue Nov 9 16:03:10 2010 +0100 All TextQuery now show getDescription()+": " on handle() call. - getTitle() is only a token ... not a description commit 5eebbc78b9dba5f107dc6b3f23314d94c91f7469 Author: Frederik Heber Date: Tue Nov 9 16:02:27 2010 +0100 FIX: FileTextQuery was not working properly. - somehow getline from std::cin does not work ... but std::cin >> ... does commit 670cd1cb385612d421aad5ee421eab45bc65f878 Author: Frederik Heber Date: Mon Nov 8 18:19:07 2010 +0100 FIX: Missing MemDebug.hpp before TextMenu template declaration. commit 1e086111afdb5ad88cee32c659e63cfd0cef4a02 Author: Frederik Heber Date: Mon Nov 8 17:48:38 2010 +0100 Qt stuff is not compiled into libMolecuilder but libMolecuilderQtUI. commit 87db7aecda4c8363f0b67c5eab5d571842b9c9a0 Author: Frederik Heber Date: Mon Nov 8 15:19:35 2010 +0100 Moved declaration for all CommandLineQuery.. into own header file. - Query module just need this header file. - CommandLineDialog declaration just has forward declarations. commit a5ddf04694c4e27ef6c7c442361c2092c16af622 Author: Frederik Heber Date: Mon Nov 8 15:06:23 2010 +0100 All Qt...QueryPipe now have their own header file. - Query just include the QueryPipe they need. - old declarations moved out of QtDialog.hpp which became a lot slimmer in the process. commit 308aa43f3e30fb9a88d9923d90ff3940289ce5a3 Author: Frederik Heber Date: Mon Nov 8 14:22:05 2010 +0100 Moved declaration for all QtQuery.. into own header file. - Query module just need this header file. - QtDialog declaration just has forward declarations. commit 738ae1e8b6d1be253565c15e50c3cb7b0cdfabba Author: Frederik Heber Date: Mon Nov 8 14:05:32 2010 +0100 Moved declaration for all TextQuery.. into own header file. - Query module just need this header file. - TextDialog declaration just has forward declarations. commit 3a21a725fe8654c46053fbab3d721519872c4fa0 Author: Frederik Heber Date: Mon Nov 8 14:04:37 2010 +0100 Moved validate() functions for boost::program_options into own module. - removed from CommandLineParser.cpp. commit e9be39efd3548091ce2ee01c2e279982afc4c11d Author: Frederik Heber Date: Mon Nov 8 13:32:45 2010 +0100 Renamed SeperatorItem -> SeparatorMenuItem. - in files and declarations. commit f0f9a60bdc0af971268af45d96cd8b8a9875cb05 Author: Frederik Heber Date: Mon Nov 8 13:15:08 2010 +0100 Placed TxMenu::LeaveAction implementation and declaration into its own module. - TxMenu now only contains forward declaration commit 8f3f407211aab85d7d899e17a7d633813f02ad83 Author: Frederik Heber Date: Mon Nov 8 11:31:40 2010 +0100 Added documentation on the new menu structure. commit 0af7ef3b3ed30f65ad3059fd8a14ef773be0e070 Author: heber Date: Wed Nov 10 15:11:13 2010 +0100 MEMFIX: quitAction is still deleted in TextWindow's destructor. - deletion is done by ActionRegistry, where is is registered. commit b59da6e8dbaa0c9c1ed4e190d2b7cd4ccec6152a Author: Frederik Heber Date: Mon Nov 8 10:36:45 2010 +0100 Refactoring of Menu structure for Qt and Text UI done. - Menu is now the initialising class for the menu structure. - MenuInterface contains virtual declarations of all functions that Menu needs to call. - TextMenu and QtMenu are templated classes which contain both Menu and MenuInterface and implement the virtual functions. - class TxMenu and its ...MenuItems contain most of the old Menu code for the text-based system. Most of the stuff, such as triggers, are now hidden internally. - in ..MainWindow() we basically just construct the desired Menu and call init at the correct time. commit 5813ac0cc79578b47db146eb94c5be04a9e6ac7b Author: Frederik Heber Date: Sat Dec 4 23:54:22 2010 +0100 FIX: forgot to move using boost::lexical_cast from TextDialog to QtQueryListPipe. commit b295ca6bd0b38b48a6070c17818c7b8f1ab98686 Author: Frederik Heber Date: Sat Dec 4 23:54:22 2010 +0100 FIX: forgot to move using boost::lexical_cast from TextDialog to QtQueryListPipe. commit ffb9ad3ad26c892a8aa0013c675637237728b887 Author: Frederik Heber Date: Mon Nov 1 21:29:58 2010 +0100 FIX: Menu entries are again correctly added to QtGui part. - also expanded MenuDescriptions to contain position for each menu and submenuing. - MenuDescriptions::MenuSet was replaced by MenuPositionMap which is iterable. commit e262c76e616587e3eb48650a71afa8c79d2eeb09 Author: Frederik Heber Date: Mon Nov 1 18:26:54 2010 +0100 Removed conversion scripts for ActionTraits refactoring. commit 7cb4501e7de75b105a08a21b90edfc17c59e2e9f Merge: c38826b 76cec6c Author: Frederik Heber Date: Tue Nov 9 16:37:52 2010 +0100 Merge branch 'FixOptionRegistryMemLeak' into stable commit 76cec6c27521e13434c84ce3ad89ba64ea437510 Author: Frederik Heber Date: Tue Nov 9 16:35:53 2010 +0100 MEMFIX: OptionRegistry has not been purged in cleanUp(). commit c38826b3bf15f17943193456d55be73246628ebd Author: Frederik Heber Date: Mon Nov 1 18:26:25 2010 +0100 Removed debug statements in ..Traits() constructors. commit e4afb4b989433224538ab4ba0f471e4573bbeaf2 Author: Frederik Heber Date: Sat Oct 30 21:55:54 2010 +0200 Huge refactoring: Introduction of Traits to Actions. This change is really big but the introduction of the Trait concept (at least in its current light form) is so fundamental that lots of pieces had to be changed in order to get everything working. The main point why it was necessary to add these traits in the first place was to comfortably allow for adding extension of Actions information-wise, i.e. with stuff that is only important for the QtUI, such as icons, or tooltips, ... This extra information should not be stored with Action itself, as it has nothing to do with the workings of the Action. And neither should it get stored with some blown-out-of-proportions MapOfActions class ... The gist of the change is as follows: - OptionTrait contains the token, description, shortform and type of an option, such as ("position", "position in space, none, typeid(Vector)). - ActionTrait is the derived form for actions where additionally MenuPosition and MenuName are stored (and probably more to come for the GUI), also we have a set of OptionTrait instances, one for each option of the Action. - Action then contains this ActionTrait, specialized for each Action. - the preprocessor macros have been enhanced to gather all this information from the .def files. - MapOfActions is gone. Completely. Most of its use was to store this extra information and the ValueStorage part now is just in class ValueStorage. - ValueStorage is no more an interface to MapOfActions but as the name says a (type-safe) ValueStorage. Listing the (remaining) changes in alphabetical order of the class: - Action - member value ::name dropped, ::getName() uses ActionTraits::getName() - new define NODEFAULT which is used in paramdefaults in .def files - all derived actions classes such as Process, Calculations, MakroAction,... have been adapated to use the ActionTrait concept as well. - ActionHistory - extraced RedoAction and UndoAction, shifted implementation into their own object files and they use .def files as well (i.e. streamlined with method used for other actions) - CommandLineParser - CommandLineParser goes through ActionRegistry to get arguments and types to add - we use TypeEnumContainer which before was present in MapOfActions, as CommandLineParser::AddOptionsToParser() needs enums in its switch statement, we can't switch on types and types are not known until run-time. Hence, templates won't do either. - ShortFormMap is created here now (and used here only) - File was moved over to UIElements/CommandLineUI. - MenuDescription - contain information on Menus such as name, ... - new unit test checks for consistency - molecule - const member functions: Copy(), Output() and OutputBonds() - OptionRegistry - new registry class for options only - we want the same type throughout the code for each token, e.g. "position" - the registry containts checks for consistency - OptionTrait - default values are specified in paramdefaults, none are given by NODEFAULT - introduced default for translate-atoms, point-correlation, pair-correlation - Registry pattern - new unit test, but only sceleton code so far - ...Query, also ...Pipe - atoms, molecule and elements are now all const - also ValueStorage's signatures all have const therein - ValueStorage - set/queryCurrentValue from MapOfActions - at times VectorValue has been in .def files where Vector was in the signature. This is cleared. Such stuff is only present for e.g. BoxVector being queried as a Vector. But this is a feature and intended. - World - most of the (un)selection functions now work on const atoms and molecules - in one case we need a const_cast to remove this, but this is intentional, as the vector of selected atoms stores non-const pointers and this is ok. There is only one test which had to be changed slightly because a specific option token as "position" must now have the same type everywhere, e.g. always Vector. - TESTFIX: Simple_configuration/2: --position -> --domain-position (and associated to BoxVector) commit 23359f078466fee0fe57f86bed6e93885acb877e Author: Frederik Heber Date: Sat Oct 30 21:53:44 2010 +0200 Assert's internal check now uses std::string instead of const char *. - This allows for stuff like: "i = "+std::string(i)+" is too big" - no changes are necessary elsewhere commit c1012b535514cd90386af7e9511caed69adfc649 Author: Frederik Heber Date: Tue Oct 26 16:14:41 2010 +0200 Constructor of TextMenu now takes const string as 2nd argument. commit 20d46cdad72d15ed708a6d07cac8d9a32eacb773 Author: Frederik Heber Date: Tue Oct 26 16:14:20 2010 +0200 FIX: Removed unnecessary MapOfActions include. commit 53be342642ecc5d8c92481d78bf7924d629aad3f Author: Frederik Heber Date: Tue Oct 26 16:04:10 2010 +0200 ActionTraits returns also MenuName(), MenuPosition(), and also OptionDescriptions(). - is filled within ../src/Actions/Action_impl_header.hpp from MENUNAME and MENUPOSITION. - OptionDescriptions taken from paramdescriptions and paramtokens. - OptionDescrptions are also iterable. commit 8bcf3f12b38ffa3e7252dadca491edacb57f7d05 Author: Frederik Heber Date: Tue Oct 26 15:57:49 2010 +0200 New class MenuDescription containing information on menu items. - basically, shifted information away from MapOfActions. commit d57341daabb0139273e143142890dd48dd9c3dd5 Author: Frederik Heber Date: Tue Oct 26 15:56:46 2010 +0200 Replaced ACTION::NAME in .def files by contents DESCRPTION. - in ActionTrait constructor we cannot access Action (i.e. NAME) - also, this is inconsistent and errorprone - ACTION::NAME has to be remembered as the shortform for an Action beloning to the action - ACTION may be spelled out and thus also mis-spelled. - conversion script contained in src/Actions/convert4.sh. commit 052bfd8c4d6d461cd6c8c5091bd84124a8586af1 Author: Frederik Heber Date: Tue Oct 26 14:24:03 2010 +0200 Added MENUNAME and MENUPOSITION to each Action's .def. - MENUNAME is lower case of CATEGORY and within ticks "". - MENUPOSITION has been extracted from MapOfActions. - conversion script is in src/Actions/convert3.sh. commit fc192f60e82753a72ba51f024fbbd313fb147f0f Author: Frederik Heber Date: Tue Oct 26 14:16:57 2010 +0200 Added paramdescriptions to the .def of all Actions. - option descriptions from MapOfActions. - action description taken for (...::NAME) parameters. - conversion script is in src/Actions/convert2.sh. commit 24fbf3fd91769be68fa1acf1a82f01ac52df3ca1 Author: Frederik Heber Date: Tue Oct 26 12:43:36 2010 +0200 All specialization of ActionTraits now contain specific information. - new defines in Action_impl_header.hpp: DEFAULTVALUE, DESCRiPTION, SHORTFORM, TYPEINFO. - i.e. removed the MapOfActions' short-wiring. - script used for extraction is in src/Actions/convert.sh. - we cause a compilation error if DESCRIPTION or TYPEINFO are missing. - FIX: added some typeinfos as void where missing. commit 2a6a2c7c7d2319e0df9b71e8317ab569311ebbd8 Author: Frederik Heber Date: Tue Oct 26 11:44:19 2010 +0200 Removed MapOfActions::populateActions(). - Action prototypes are now instantiated within the object file, as they register automatically with the ActionRegistry and can henceforth be used. - new define INSTANCE with a sort of unique name. - instance is const and hence not to be used directly. - MapOfActions::populateActions() removed in CommandLineWindow, QtMainWindow and TextWindow classes. - NOTE: this hopefully remedies the problem of forgetting to add new Actions. - Registry does not cleanup() in its destructor, but function may be called from derived class if desired. - All Action prototypes are destroyed at end of program and hence cleanup() would cause memory corruption. commit bc2990df0e403a03ab9f9fcaeb6c54b49d50ae81 Author: Frederik Heber Date: Tue Oct 26 11:34:45 2010 +0200 Using ActionTraits::getDescrption instead of MapOfActions::... - i.e. this is the short-wiring - note that third UI (CommandLine) uses MapOfActions indirectly (through CommandLineParser) commit 4885f85a66df7b06abe99c32b66b07d82405fc5a Author: Frederik Heber Date: Tue Oct 26 11:27:08 2010 +0200 Introduced new getters to MapOfActions and ValueStorage. - new functions are getCurrentValue (string not as type!), getDescription, getShortForm, getType - these are need to short-wire Traits through MapOfActions. commit a8188deed094aea508332ee44b27c211808bf172 Author: Frederik Heber Date: Tue Oct 26 11:20:41 2010 +0200 Renaming MapOfActions::CurrentValue -> CurrentValueMap. commit df32eec66d050ebe15e7e87b16f4dc75abca8de8 Author: Frederik Heber Date: Tue Oct 26 11:06:37 2010 +0200 New class ActionTrait(s). - ActionTrait is the template class that is specialized for every Action. - ActionTraits is the interface that is inherited by every specialization. - the interface Action contains AcionTraits itself. - each specific Action has a specialized ActionTrait<> contained. note - so far, everything is short-wired through MapOfActions. - later the specialization will have specific constructors and get info therein. commit 6e1e107497aecdfcac9e31ef5756edfec6b550c0 Author: Frederik Heber Date: Tue Oct 26 10:44:34 2010 +0200 Put cleaning of Registry out of destructor into cleanup() function. commit 573ca5fad13d63566ba36dd8f4507d519d51fa15 Merge: 8df74db 6940bb5 Author: Frederik Heber Date: Sat Oct 30 20:43:54 2010 +0200 Merge branch 'FixBoostFilesystem' into stable commit 6940bb556236165ebf89b8495b117042efebb708 Author: Frederik Heber Date: Sat Oct 30 20:43:26 2010 +0200 FIX: Forgot to add m4 scripts for boost::filesystem. commit 8df74dbef13fb1628a8f98eeaac6b7c477e95818 Author: Frederik Heber Date: Mon Oct 25 19:11:33 2010 +0200 Split off all ...Query and ...Pipe boilerplate classes. - each subclass in the dialog nor resides in its own file in a folder called Query (or Pipe). - only submoduled (no header files created, except for templated QtQueryListPipe class) - includes have been separated commit 57a6ea1a91e89f394ecb0bdcf58b45e3ca1587e9 Merge: 9784cf6 379b7e0 Author: Frederik Heber Date: Mon Oct 25 19:14:20 2010 +0200 Merge branch 'FixQtRenamed' into RemainingQtQueries commit 379b7e0da2e4b8cdad2824a51921e5596c46515c Author: Frederik Heber Date: Mon Oct 25 19:13:30 2010 +0200 BUGFIX: Fixed wrong renaming of USE_GUI_QT to USE_GUI_Qt. commit 9784cf64a18612bd681f2b6731f193dddc39cc25 Merge: 4cf323d bd23909 Author: Frederik Heber Date: Mon Oct 25 16:36:30 2010 +0200 Merge branch 'FixBoostFilesystemintegration' into RemainingQtQueries commit bd239098c2f3804d7b8294ca80990baa48c79c2e Author: Frederik Heber Date: Mon Oct 25 16:29:06 2010 +0200 BUGFIX: new boost::filesystem led to non-parsing of files. - BUGFIX: MapOfActions::TypeMap is not only important for set/queryCurrentValue but also for CommandLineParser. - CommandLineDialog::FileCommandLineQuery::handle() expects boost::filesystem::path - new validate for boost::filesystem::path - AddOptionsToParser was missing case for enum File - no enum File in TypeEnumMap - BUGFIX: InputAction - now setting prefix for all parsers even if filename nor present - now always setting name of last inserted molecule in World::getInstance().getMolecules() - not returning Action::failure when not present, only when not has_filename() - BUGFIX: PdbParser and TremoloParser were not inserting, but only creating a new molecule - BUGFIX: TremoloParser::load() nad no ASSET(false) as it's not implemented. - BUGFIX: as molId of 0 may occur, PdbParser::save() prints -1 for homeless atoms now - TESTFIX: Simple_configuration/2/test.pdb has molnr of 0 instead of former 1 (see above) commit 4cf323d81658274e55e522306030678b93d2c779 Author: Frederik Heber Date: Mon Oct 25 14:08:39 2010 +0200 Renamed QT -> Qt in files, dirs, and class names. commit 81126aaa1c532d13341be518be2f6758858a3902 Author: Frederik Heber Date: Mon Oct 25 11:13:19 2010 +0200 Added ElementsQTQuery, MoleculesQTQuery, VectorsQTQuery. - note: implementation was present but queries were not registered. commit 41167c8739c609a9dafeb48042b2cf1989edf758 Author: Frederik Heber Date: Mon Oct 25 11:10:22 2010 +0200 Added BoxQTQuery. commit c96c66b9929d064bdd99474f03b644e0fa4ea88d Author: Frederik Heber Date: Mon Oct 25 10:32:49 2010 +0200 Added Atom(s)QTQuery. commit ee62e410040b62b213378576c1c85f0f6526af60 Author: Frederik Heber Date: Sun Oct 24 22:24:01 2010 +0200 Added BooleanQTQuery. commit 9d457dd65f4781fc374f639f526e2d46b36dfbf0 Author: Frederik Heber Date: Sat Oct 23 16:36:51 2010 +0200 Added EmptyQTQuery. commit f001ca4daf524d143bf68c17775ef50b2edf5a8a Author: Frederik Heber Date: Sat Oct 23 16:36:11 2010 +0200 FIX: result variable Dialog::FileQuery::tmp is now set. Label added in front of QLineEdit. commit db7cb048c490f5b4cabe2c62cd255faa628d2cca Author: Frederik Heber Date: Sat Oct 23 16:32:46 2010 +0200 DOCU: Added howto to add queries. commit 6f5dfe559a8279d64fa1e293a546f8d74ece2ef3 Author: Frederik Heber Date: Fri Oct 22 18:13:36 2010 +0200 Added boost::filesystem usage for input files. - parameters for Action input now have type boost::filesystem. - rewritten Actions to use boost::filesystems - in the progress of writing FileQtQuery to present a file dialog. commit e4decc83cfcf83ef6b15c6d95ce0c741a748f8dd Author: Frederik Heber Date: Fri Oct 22 18:12:42 2010 +0200 Changed a bit the sequence of adding BOOST_LIBs. commit 94962cafa77b2f6b6b6b08ea294de0af431f5009 Author: Frederik Heber Date: Thu Oct 14 14:56:21 2010 +0200 boost::filesystem required in configure.ac commit 7230be17a3c947931703abdd76da666a44588cf3 Author: Frederik Heber Date: Thu Oct 14 11:57:24 2010 +0200 Added WarrantyAction. This closed ticket #117. commit ef3640ed17b05e29b1b7c6a1a72ba7e5024af5fc Author: Frederik Heber Date: Sat Aug 28 08:21:48 2010 +0200 TESTFIX: Filling/3 does not need MaxDistance as parameter. commit eee966fe34197e1773f114db10205f2b7ad6f78e Author: Frederik Heber Date: Sat Aug 28 08:08:52 2010 +0200 New Action FillVoidWithMoleculeAction. - in contrast to FillWithMoleculeAction we fill all empty space, not just outside of surfaces. - TEST: new tests in Filling/3 that fill with butane and a tenside micelle. - new function FillVoidWithMolecule(). commit a42054a57dce05541025613b38ddca2bfb93603a Author: Frederik Heber Date: Sat Aug 28 08:07:02 2010 +0200 Extended FormatParserStorage. - renamed ParserSuffix -> ParserSuffixes. - new lookup table ParserLookupSuffixes. - renamed getType -> getTypeFromName. - new function getTypeFromSuffix. commit 1997630777d65898f53a1899c5ea260a2850aa17 Merge: a6e6b5c f8982c4 Author: Frederik Heber Date: Sat Aug 28 06:13:06 2010 +0200 Merge branch 'FixDoublesinExceptionsMakefile.am' into stable commit f8982c42eb467c7951ed37f012f50d6066733d46 Author: Frederik Heber Date: Sat Aug 28 06:12:50 2010 +0200 FIX: NotInvertibleException.hpp was present twice. commit a6e6b5ce7c3675b17615ce9fc4f938f0ccc32ef7 Merge: 6c438f9 45924c1 Author: Frederik Heber Date: Sat Aug 28 06:08:45 2010 +0200 Merge branch 'FixExceptionsIncludeDir' into stable commit 45924c1c4900321275c7d22c75650d2dcff4a2c1 Author: Frederik Heber Date: Sat Aug 28 06:08:25 2010 +0200 FIX: include dir for Exceptions headers was wrong. ----------------------------------------------------------------------- hooks/post-receive -- MoleCuilder From git at ins.uni-bonn.de Mon May 26 14:37:28 2014 From: git at ins.uni-bonn.de (git repository hosting) Date: Mon, 26 May 2014 14:37:28 +0200 (CEST) Subject: [Molecuilder-devel] [SCM] MoleCuilder annotated tag v1.4.5 created. v1.4.5 Message-ID: <20140526123728.2AEDA10000FA@jupiter.ins.uni-bonn.de> 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 annotated tag, v1.4.5 has been created at f4195122f0bf78a3cfc496bb2e10204e000c41e1 (tag) tagging 7e3e41e91a0984ec94e5f979ff3e508719937876 (commit) replaces v1.4.4 tagged by Frederik Heber on Mon May 26 14:22:56 2014 +0200 - Log ----------------------------------------------------------------- A lot of fixes, especially muted (most) compilation warnings. ActionThread introduction (Actions contained in queue with own thread). FragmentationAutomation action is now a process. Userguide for the true user (not developer) with explanation of all actions. This version contains the following branches: 7e3e41e Candidate_v1.4.5 (setting version) 6029a66 Docbook_Userguide (adding docbook userguide, compiled via Makefile) caece42 DocumentationUpdate (complete update of all stuff in documentation) 74459a0 ActionQueue_thread (ActionQueue now has its own thread where all actions are executed. As the rest of the code is not fully prepared, making this feature rather unstable, it is switched off by default for the moment). c09f94c FragmentationProcess (FragmentationAutomation is now a process) d76d652 Fix_all_compilation_warnings (as the name says ...) Frederik Heber (34): FIX: Test on skipping load/store session from python script was wrong way round. XmlParser::load() now gives each different charge a different element. FIX: CyclicStructureAnalysis falsely used DFS, skipped some cycles. FIX: MolecularDynamicsAction now prepares normally not inside performCall(). FIX: SubgraphDissectionAction is now a MakroAction, fixed store-session. FIX: MolecularDynamicsAction needs to clear fragment results after integration. FIX: Removed doubly occuring disclaimer in testsuite files in fragmentation. Huge warning fix. Fixed some boost serialization static warnings. FIX: disabled levmar no longer pulls in fortran compiler requirement. FIX: Added/corrected levmar and jobmarket messages in configure. FIX: python regression test BoxMaker did not check for 'units'. FIX: Fix typo in error msg of FillRegularGridAction. FIX: Newly created default atom has element hydrogen. TESTFIX: regression test load-session uses python scripts in pre. FIX: WorldTime's dstor is now virtual. FIX: CommandLineWindow::display() did not use present ActionQueue ref. FIX: Implemented VersionAction. FIX: MPQCDataFragmentMap_t can be summed up in FragmentationShortRangeResults already. Added sensible default values to MolecularDynamics sequence of Actions. FIX: Process's getters are now const member functions. OptionRegistry is now filled by ActionRegistry() not by Action's cstors. Actions can now clone() and split off prepare() from call(). Renamed ActionsQueue's queue -> actionqueue. SpecificFragmentController has a ref to an updatehandler to call in case of new results. Transformed FragmentationAutomationAction into a Process. Allow setting of invalid values in Value class, Action::performCall() catches ParameterExceptions. Replaced Reactions by simple function exported to pyMoleCuilder. Added ActionQueue::insertAction(). ActionQueue now contains a run thread. Added --disable-action-thread to allow disabling of extra run thread. Enhanced documentation significantly. Added largely extended userguide with some images into subfolder of doc folder. Set version to 1.4.5. ----------------------------------------------------------------------- hooks/post-receive -- MoleCuilder From git at ins.uni-bonn.de Mon May 26 14:37:21 2014 From: git at ins.uni-bonn.de (git repository hosting) Date: Mon, 26 May 2014 14:37:21 +0200 (CEST) Subject: [Molecuilder-devel] [SCM] MoleCuilder branch stable updated. v1.4.4-34-g7e3e41e Message-ID: <20140526123721.EBD5910000FA@jupiter.ins.uni-bonn.de> 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, stable has been updated via 7e3e41e91a0984ec94e5f979ff3e508719937876 (commit) via 6029a669c919139fdd1b0addd74222bb7f5b554d (commit) via caece420aa82700e7677c24d798be09340eed2bd (commit) via 74459a014f105522f5db261ac058254c9aa7c0c7 (commit) via 415ddd8a44847064389eb3783769c8531725615c (commit) via 975b83561278df8e9f4dc52a379883b4c726b00e (commit) via cc6e5c6fa2abf74b6087c374278e2a20dc23706e (commit) via 0d416866348175de64612b7f88582c36f2167054 (commit) via c09f94cdc954e2f3fdb4fb3874c75bef78adc1f7 (commit) via d9f2b33b806913c901266dd646463bfa637d037e (commit) via 7fc447cf6e5f39763e2d76adfc3ffe01ea36ec89 (commit) via af53848739f011c706c567deb35d90e7f2dab281 (commit) via 36053cf50efb19714f34f33fe6fe7ef9b53476d0 (commit) via ec43a23d0170171eb03b8ba386b9614f17aac7f4 (commit) via 5eaa23bd73ba44a21854e46c30abc8410b66a897 (commit) via d76d652c439e3216a6d56d8fb74dd0b915b8ca4a (commit) via 5c78e3afa08a9e0a73d348dd405a8249cdf7fbdd (commit) via 0b3cf478c9569fcda12e7fa2a23ce41dce06d3a3 (commit) via e3f9b80d5a45922ea986e97533d2de2e0d584f83 (commit) via 6072456df16de51edeb395389b4617d370a9e89b (commit) via 606c24d442402928a4a643fa8f1452585aa85583 (commit) via 5f364e928bcbf3272d4c59007b121e86fd612d79 (commit) via e8fde00b42f0f7fee23203a3df8f0254c65be588 (commit) via 830adfc5dc23b3ce24ece17705ff89ef12744705 (commit) via 4d5dfa6c9840a4a17e5a4e6555d544f50615248e (commit) via ae68b5f76dedc09e012623d28c2fec0b821dda69 (commit) via a2a2f74e1b5173a3e4d4090d8ec2a57e0f765552 (commit) via c9db50416501589af2b7bec9760cc6129d4b6fe3 (commit) via 9bac150dd34b92ce8dd42a103b5790c0ed592303 (commit) via f47e00b9f5f390d99eb3b523faf1a7e16ed49fd6 (commit) via 237f9339687fa2ab9fabd26196828a79d99f1307 (commit) via ec7511a359cc1cad57d684179dda96580726d26d (commit) via 4b10fd259e02818d3e9bbe2f0ba3ab5dfa66f4ae (commit) via 57388c9454d489af0cc8b661fac65879bf5c122c (commit) from 5a2d986e91cb234cc443e56577928ffc34be1b35 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7e3e41e91a0984ec94e5f979ff3e508719937876 Author: Frederik Heber Date: Fri May 2 08:41:58 2014 +0200 Set version to 1.4.5. - MoleCuilder library is now 13:3:1. - Codename "Half marathon" (If you train for such an event, try to finish in less than one hour and forty-five minutes). commit 6029a669c919139fdd1b0addd74222bb7f5b554d Author: Frederik Heber Date: Sun Apr 13 14:48:51 2014 +0200 Added largely extended userguide with some images into subfolder of doc folder. - Munched docbook into something workable: - the big problem was out-of-source build in conjunction with the figures in the userguide. - I did not try hard enough with img.src.path but used entityref instead together with a catalog file. - so in all, we have followed: - http://movementarian.org/docs/docbook-autotools/index.html - http://www.sagehill.net/docbookxsl/GraphicsLocations.html - ... this was a long way ... - am_conditioning on both xsltproc and fop. commit caece420aa82700e7677c24d798be09340eed2bd Author: Frederik Heber Date: Thu Mar 20 18:23:35 2014 +0100 Enhanced documentation significantly. - went through all of the constructs and updated each. - enhanced documentation ofr Fragmentation::FragmentMolecule(). commit 74459a014f105522f5db261ac058254c9aa7c0c7 Author: Frederik Heber Date: Wed Feb 19 20:35:28 2014 +0100 Added --disable-action-thread to allow disabling of extra run thread. - this removes all functionality related to having ActionQueue::run() executed in a distinct thread. - the extra thread is currently disabled by default as probably some stuff in QtGUI will be broken (bonds disappearing while being drawn ...) commit 415ddd8a44847064389eb3783769c8531725615c Author: Frederik Heber Date: Tue Aug 27 00:56:36 2013 +0200 ActionQueue now contains a run thread. - otherwise the progress bar of the QtMainWindow cannot be seen as waitForResults() takes up all of the executing thread. - added mutex for operations modifying the queue. - added ActionQueue::run() and ::stop(), used by friend stopQueue(). - insertAction() now makes use of a tempqueue that is added to true queue during run() instead of calling the actions directly. - new stopQueue() in cleanUp.hpp is used by module_exit in pyMoleCuilder and in main() before saveAll(). - cleanup: printTiming() requires now list of action tokens and added new stopAndPurgeQueue() to place waiting for Actions to end into extra function. - added ActionQueue::wait() which allows for synchronization in python scripts, is ignored in session python scripts. Otherwise we wait for ActionQueue's queue to empty during execution of load-session which hangs. - DOCU: added note to python documentation. - added waitQueue() also to purgeStaticInstances(). - static UIFactory::isFactoryPresent() added that allows checking whether we have a UI or are executed within a python script (i.e. pyMoleCuilder). - DOCU: Extended docu on threads and who this affects python scripts. - TESTFIX: changed regression tests on storing python sessions. commit 975b83561278df8e9f4dc52a379883b4c726b00e Author: Frederik Heber Date: Thu Feb 20 21:23:42 2014 +0100 Added ActionQueue::insertAction(). - this is preparatory for allowing Actions to be executed inside an Action's performCall() body. Once ActionQueue::run() is executed in its own thread these command calls would just append an Action to the queue and not run the command. commit cc6e5c6fa2abf74b6087c374278e2a20dc23706e Author: Frederik Heber Date: Sat Sep 28 02:59:47 2013 +0200 Replaced Reactions by simple function exported to pyMoleCuilder. - Reactions are a bad idea from the start, calculations do not need to be undone. Hence, why make them into an Action that is specifically undoable? - removed all Reaction..-related files. - removed ActinQueue::getLastAction(). - removed CalculateBoundingBoxAction, CalculateCellVolumeAction, and CalculateMolarMassAction, replaced by small function in Python folder. - TESTFIX: removed associated regression tests in Analysis. - modified boxmaker.py.in as names of functions changed. - removed Actions/pyMoleCuilder.cpp, is redunant with PythonScripting_impl.hpp. commit 0d416866348175de64612b7f88582c36f2167054 Author: Frederik Heber Date: Thu Aug 29 01:05:38 2013 +0200 Allow setting of invalid values in Value class, Action::performCall() catches ParameterExceptions. Value changes: - Values are now checked with get(). - having the Actions fill their parameters on instantiation may lead to invalid values because actions that, e.g. add an atom and thereby make a so far invalid atomic id now valid, still have to get executed. - hence, we allow setting of invalid values. Validity is check/enforced on get(), i.e. when the Action is actually performed and not before. This is also the very moment where the parameters are first required to be valid. - Parameter::clone() and copy cstor must not use get() as invalid values are there still allowed. - TESTFIX: Value behavior changed. - TESTFIX: regression test add atom outside boundary is working again. - TESTFIX: regression tests load/store-session would be skipped as loading non-present file fails now. We use --help --actionname instead. Action changes: - are turned into Action::failure. - ActionQueue calling an Action wrapped in try/catch-block for ActionFailure. - removed try/catch in doUI(). - as exception (will) occur in ActionQueue's queue_thread, we need to catch it there. As the only thing we do is set the exit flag of the World. We can do this in ActionQueue as well. commit c09f94cdc954e2f3fdb4fb3874c75bef78adc1f7 Author: Frederik Heber Date: Tue Aug 27 00:19:31 2013 +0200 Transformed FragmentationAutomationAction into a Process. - Removed MaxSteps parameter in Process' cstor (MaxSteps is not a const member anyway). - Action preprocessor magic knows new token BASECLASS by which derivation may be switche from Action to Process (defaults to Action). - FragmentationAutomationAction::performCall() uses start(), stop(), and setMaxSteps(). commit d9f2b33b806913c901266dd646463bfa637d037e Author: Frederik Heber Date: Thu Sep 26 01:02:43 2013 +0200 SpecificFragmentController has a ref to an updatehandler to call in case of new results. - SpecificFragmentController::ResultsContainer::waitForResults() will regularly call the update handler which informs via Process::setCurrSteps(). commit 7fc447cf6e5f39763e2d76adfc3ffe01ea36ec89 Author: Frederik Heber Date: Thu Aug 29 00:08:39 2013 +0200 Renamed ActionsQueue's queue -> actionqueue. commit af53848739f011c706c567deb35d90e7f2dab281 Author: Frederik Heber Date: Tue Aug 27 03:58:34 2013 +0200 Actions can now clone() and split off prepare() from call(). - ActionQueue now separates call phase into clone(), prepare(), and call(). - ActionQueue's dstor releases Actions in deque. - CurrentAction is an index as push_back always invalidates iterator. - ActionQueue_t is now a simple vector of ptrs. - call() is now non-interactive, (maybe) interactive part is placed in prepare() where dialogs are used to fill parameters. - only fully prepared Actions are placed in ActionQueue. - ActionQueue obtains action instances from Registry, copies, prepares them, and places them in the queue. - Action::clone() gets QueryOptions as param. This lets us either clone without params or really copy the instance. - If action is called as COMMAND, params have been filled already. - Reactions require a ActionQueue::getLastAction() to actually obtain result of (cloned) Action. - FIX: Calculation now has const has...() and getResult(). commit 36053cf50efb19714f34f33fe6fe7ef9b53476d0 Author: Frederik Heber Date: Tue Aug 27 02:08:29 2013 +0200 OptionRegistry is now filled by ActionRegistry() not by Action's cstors. - otherwise we cannot instantiate new actions as they re-register options. commit ec43a23d0170171eb03b8ba386b9614f17aac7f4 Author: Frederik Heber Date: Tue Aug 27 15:19:58 2013 +0200 FIX: Process's getters are now const member functions. commit 5eaa23bd73ba44a21854e46c30abc8410b66a897 Author: Frederik Heber Date: Thu Feb 27 18:45:12 2014 +0100 Added sensible default values to MolecularDynamics sequence of Actions. commit d76d652c439e3216a6d56d8fb74dd0b915b8ca4a Author: Frederik Heber Date: Fri Aug 30 23:07:00 2013 +0200 FIX: MPQCDataFragmentMap_t can be summed up in FragmentationShortRangeResults already. - removed from FragmentationLongRangeResults and FragmentationChargeDensity. - this allows to store also short-range only homologies (and calculate potentials without long-range info). commit 5c78e3afa08a9e0a73d348dd405a8249cdf7fbdd Author: Frederik Heber Date: Thu Aug 29 00:14:02 2013 +0200 FIX: Implemented VersionAction. - yes, it never printed the actual version. commit 0b3cf478c9569fcda12e7fa2a23ce41dce06d3a3 Author: Frederik Heber Date: Thu Feb 20 21:01:25 2014 +0100 FIX: CommandLineWindow::display() did not use present ActionQueue ref. commit e3f9b80d5a45922ea986e97533d2de2e0d584f83 Author: Frederik Heber Date: Thu Feb 20 21:01:11 2014 +0100 FIX: WorldTime's dstor is now virtual. commit 6072456df16de51edeb395389b4617d370a9e89b Author: Frederik Heber Date: Wed Feb 19 01:07:23 2014 +0100 TESTFIX: regression test load-session uses python scripts in pre. - before we used those from post but this invalidates the clear split between what's before and what's after the test. commit 606c24d442402928a4a643fa8f1452585aa85583 Author: Frederik Heber Date: Thu Aug 29 09:49:21 2013 +0200 FIX: Newly created default atom has element hydrogen. - also when instantiated by VectorInterface. - FIX: for cstor with VectorInterface AtomicPosition was not correctly sized. commit 5f364e928bcbf3272d4c59007b121e86fd612d79 Author: Frederik Heber Date: Thu Aug 29 01:07:56 2013 +0200 FIX: Fix typo in error msg of FillRegularGridAction. commit e8fde00b42f0f7fee23203a3df8f0254c65be588 Author: Frederik Heber Date: Sun Mar 30 00:23:43 2014 +0100 FIX: python regression test BoxMaker did not check for 'units'. commit 830adfc5dc23b3ce24ece17705ff89ef12744705 Author: Frederik Heber Date: Sat Feb 22 23:16:48 2014 +0100 FIX: Added/corrected levmar and jobmarket messages in configure. commit 4d5dfa6c9840a4a17e5a4e6555d544f50615248e Author: Frederik Heber Date: Sat Mar 29 23:24:44 2014 +0100 FIX: disabled levmar no longer pulls in fortran compiler requirement. commit ae68b5f76dedc09e012623d28c2fec0b821dda69 Author: Frederik Heber Date: Sat Feb 1 17:26:02 2014 +0100 Fixed some boost serialization static warnings. commit a2a2f74e1b5173a3e4d4090d8ec2a57e0f765552 Author: Frederik Heber Date: Sat Feb 1 16:42:09 2014 +0100 Huge warning fix. - fixed unused variables. - fixed set but unused variables. - fixed signed vs. unsigned int comparison. - fixed static_warning_test (commented out _IMPLEMENT). commit c9db50416501589af2b7bec9760cc6129d4b6fe3 Author: Frederik Heber Date: Mon Nov 11 10:49:57 2013 +0100 FIX: Removed doubly occuring disclaimer in testsuite files in fragmentation. commit 9bac150dd34b92ce8dd42a103b5790c0ed592303 Author: Frederik Heber Date: Sat Jan 11 22:58:31 2014 +0100 FIX: MolecularDynamicsAction needs to clear fragment results after integration. commit f47e00b9f5f390d99eb3b523faf1a7e16ed49fd6 Author: Frederik Heber Date: Sat Jan 11 21:57:55 2014 +0100 FIX: SubgraphDissectionAction is now a MakroAction, fixed store-session. - store-session would skip the select-atoms part. - hence, now we just write SubgraphDissection() command to python script. commit 237f9339687fa2ab9fabd26196828a79d99f1307 Author: Frederik Heber Date: Tue Feb 4 21:32:08 2014 +0100 FIX: MolecularDynamicsAction now prepares normally not inside performCall(). - added protected ActionSequence::removeAction() and pass-thru in MakroAction. - added MakroAction::fillOwnDialog(): We did not cleanly implement the MakroAction's dialogs before. We need to populate queries from the sequeence of Actions and from the MakroAction itself (e.g. for loop count). For the latter, we need another new function for this. - MolecularDynamicsAction removes output action from sequence if not desired. - removed (another) fillAllDialog from MakroAction::performCall(). This has been the source of doubly occuring dialogs (and dialog becoming ever larger on multiple calls). - MolecularDynamicsAction::prepare() also just uses ActionRegistry whose ref is passed as parameter and does not (directly) access ActionQueue. commit ec7511a359cc1cad57d684179dda96580726d26d Author: Frederik Heber Date: Mon Nov 11 10:49:19 2013 +0100 FIX: CyclicStructureAnalysis falsely used DFS, skipped some cycles. - FIX: CyclicStructureAnalysis did use DFS instead of BFS for finding cycles. Note that CyclicStructureAnalysis with coronene would find supercycles and not the smaller interconnected ones. - FIX: Cycles were skipped when all bonds marked cyclic, not enough. In interconnected aromatic rings, bonds may very well be marked as cyclic from earlier extraction of cycles and yet the specific cycle might not have been found yet (e.g. coronene). In this case we now check whether this particular cycle has already been extracted and only skip if so. - TESTFIX: added new fragmentation regression tests on some metallic systems. - this is mainly for regression on bond graph detection and cycle analysis. commit 4b10fd259e02818d3e9bbe2f0ba3ab5dfa66f4ae Author: Frederik Heber Date: Wed Oct 23 23:57:07 2013 +0200 XmlParser::load() now gives each different charge a different element. - this allows search&replace to the correct element afterwards. commit 57388c9454d489af0cc8b661fac65879bf5c122c Author: Frederik Heber Date: Sat Feb 1 17:26:17 2014 +0100 FIX: Test on skipping load/store session from python script was wrong way round. - FIX: executePythonScript() did not return values, hence was always false. ----------------------------------------------------------------------- Summary of changes: configure.ac | 45 +- doc/Makefile.am | 56 +- doc/userguide.xml | 230 --- doc/userguide/Makefile.am | 4 + doc/userguide/catalog.xml.in | 23 + doc/userguide/createguide.sh | 4 + doc/userguide/css/html.css | 325 ++++ doc/userguide/pictures/dialog_add-atom_tooltip.png | Bin 0 -> 27388 bytes doc/userguide/pictures/dialog_box.png | Bin 0 -> 21176 bytes doc/userguide/pictures/dialog_complex.png | Bin 0 -> 41676 bytes doc/userguide/pictures/dialog_exit.png | Bin 0 -> 22179 bytes doc/userguide/pictures/example_basic_view.png | Bin 0 -> 84818 bytes doc/{ => userguide/pictures}/molecuilder_logo.png | Bin 26634 -> 26634 bytes doc/userguide/userguide.xml | 2043 ++++++++++++++++++++ m4/ax_check_docbook.m4 | 56 + src/Actions/Action.cpp | 99 +- src/Actions/Action.hpp | 21 +- src/Actions/ActionQueue.cpp | 160 ++- src/Actions/ActionQueue.hpp | 88 +- src/Actions/ActionRegistry.cpp | 77 +- src/Actions/ActionRegistry.hpp | 2 + src/Actions/ActionSequence.cpp | 24 +- src/Actions/ActionSequence.hpp | 8 + src/Actions/Action_impl_header.hpp | 40 +- src/Actions/Action_impl_pre.hpp | 17 +- .../AnalysisAction/CalculateBoundingBoxAction.cpp | 78 - .../AnalysisAction/CalculateBoundingBoxAction.def | 37 - .../AnalysisAction/CalculateBoundingBoxAction.hpp | 22 - .../AnalysisAction/CalculateCellVolumeAction.cpp | 67 - .../AnalysisAction/CalculateCellVolumeAction.def | 35 - .../AnalysisAction/CalculateCellVolumeAction.hpp | 22 - .../AnalysisAction/CalculateMolarMassAction.cpp | 71 - .../AnalysisAction/CalculateMolarMassAction.def | 35 - .../AnalysisAction/CalculateMolarMassAction.hpp | 22 - src/Actions/AtomsCalculation.hpp | 2 + src/Actions/AtomsCalculation_impl.hpp | 9 + src/Actions/Calculation.hpp | 6 +- src/Actions/Calculation_impl.hpp | 10 +- src/Actions/CommandAction/VersionAction.cpp | 1 + src/Actions/FillAction/FillRegularGridAction.cpp | 2 +- .../AnalyseFragmentationResultsAction.cpp | 31 +- .../AnalyseFragmentationResultsAction.def | 2 +- .../FragmentationAction/FragmentationAction.def | 7 +- .../FragmentationAutomationAction.cpp | 19 +- .../FragmentationAutomationAction.def | 2 + .../FragmentationAutomationAction.hpp | 2 +- .../MolecularDynamicsAction.cpp | 36 +- .../MolecularDynamicsAction.def | 2 +- .../MolecularDynamicsAction.hpp | 106 - src/Actions/GlobalListOfActions.hpp | 23 +- .../GraphAction/SubgraphDissectionAction.cpp | 82 +- .../GraphAction/SubgraphDissectionAction.def | 4 +- .../GraphAction/SubgraphDissectionAction.hpp | 108 +- src/Actions/Makefile.am | 33 +- src/Actions/MakroAction.cpp | 42 +- src/Actions/MakroAction.hpp | 25 +- src/Actions/MakroAction_impl_header.hpp | 37 +- src/Actions/MakroAction_impl_pre.hpp | 19 +- src/Actions/ManipulateAtomsProcess.cpp | 10 +- src/Actions/ManipulateAtomsProcess.hpp | 6 +- src/Actions/MethodAction.cpp | 8 + src/Actions/MethodAction.hpp | 2 + .../MoleculeAction/VerletIntegrationAction.def | 2 +- src/Actions/PotentialAction/FitPotentialAction.def | 2 +- src/Actions/Process.cpp | 10 +- src/Actions/Process.hpp | 8 +- src/Actions/Reaction.hpp | 92 - src/Actions/Reaction_impl.hpp | 104 - src/Actions/Reaction_impl_header.hpp | 253 --- src/Actions/Reaction_impl_pre.hpp | 327 ---- .../SelectionAction/Atoms/AtomByIdAction.cpp | 2 + .../SelectionAction/Atoms/NotAtomByIdAction.cpp | 2 + src/Actions/ShapeAction/RemoveShapeAction.cpp | 2 +- src/Actions/ShapeAction/StretchShapeAction.cpp | 8 +- src/Actions/pyMoleCuilder.cpp | 147 -- src/Actions/unittests/ActionSequenceUnitTest.cpp | 18 + src/Analysis/analysis_correlation.cpp | 2 +- src/Atom/atom_atominfo.cpp | 6 +- src/Box.cpp | 9 +- src/Filling/Mesh/CubeMesh.cpp | 2 +- src/Fragmentation/AdaptivityMap.cpp | 2 +- .../Automation/SpecificFragmentController.cpp | 15 + .../Automation/SpecificFragmentController.hpp | 16 +- ...ificFragmentController_ResultContainer_impl.hpp | 8 +- src/Fragmentation/BondsPerShortestPath.cpp | 4 +- src/Fragmentation/Exporters/ExportGraph.cpp | 4 +- src/Fragmentation/Fragmentation.cpp | 51 +- src/Fragmentation/Homology/FragmentEdge.cpp | 6 +- src/Fragmentation/Homology/FragmentNode.cpp | 6 +- src/Fragmentation/Homology/HomologyContainer.hpp | 1 + src/Fragmentation/Homology/HomologyGraph.cpp | 6 +- .../Homology/unittests/FragmentEdgeUnitTest.cpp | 14 +- .../Homology/unittests/stubs/FragmentStub.cpp | 5 +- .../Containers/FragmentationChargeDensity.cpp | 8 - .../Containers/FragmentationChargeDensity.hpp | 6 - .../Containers/FragmentationLongRangeResults.cpp | 3 - .../Containers/FragmentationLongRangeResults.hpp | 4 - .../Containers/FragmentationResultContainer.hpp | 22 +- .../Containers/FragmentationShortRangeResults.cpp | 3 + .../Containers/FragmentationShortRangeResults.hpp | 4 + .../Summation/Containers/MPQCData.hpp | 1 + src/Fragmentation/Summation/IndexSetContainer.cpp | 4 +- src/Fragmentation/Summation/SetValues/Fragment.cpp | 5 +- .../SetValues/unittests/EigenvaluesUnitTest.cpp | 4 +- src/Fragmentation/fragmentation_helpers.cpp | 4 +- src/FunctionApproximation/Extractors.cpp | 2 +- .../FunctionApproximation.cpp | 2 +- src/Graph/CyclicStructureAnalysis.cpp | 114 +- src/Graph/CyclicStructureAnalysis.hpp | 1 + src/Jobs/MPQCCommandJob.cpp | 7 +- src/Jobs/MPQCJob.cpp | 6 +- src/Jobs/VMGJob.cpp | 7 +- src/Jobs/WindowGrid_converter.cpp | 44 +- src/Makefile.am | 3 +- src/Parameters/Parameter_impl.hpp | 5 +- .../Specific/TimeStepPresentValidator.cpp | 6 +- src/Parameters/Value_impl.hpp | 9 +- src/Parameters/unittests/ContinuousValueTest.cpp | 85 +- src/Parameters/unittests/DiscreteValueTest.cpp | 16 +- src/Parser/XmlParser.cpp | 14 +- .../Specifics/FourBodyPotential_Torsion.cpp | 1 + .../Specifics/ThreeBodyPotential_Angle.cpp | 1 + src/Python/Makefile.am | 9 +- src/Python/PythonScripting.cpp | 3 + src/Python/PythonScripting_impl.hpp | 41 +- src/Python/exit.cpp | 51 + src/Python/getBoundingBox.cpp | 68 + src/Python/getDomainVolume.cpp | 56 + src/Python/getSelectedMolarMass.cpp | 61 + src/Python/modules.hpp | 36 + src/Python/reinit.cpp | 53 + src/Python/wait.cpp | 53 + src/Shapes/BaseShapes.cpp | 10 +- src/Tesselation/boundary.cpp | 10 +- src/Tesselation/tesselation.cpp | 16 +- src/Tesselation/tesselationhelpers.cpp | 4 +- src/UIElements/CommandLineUI/CommandLineWindow.cpp | 5 +- src/UIElements/Dialog.cpp | 28 +- src/UIElements/Menu/TextMenu/TxMenuLeaveAction.cpp | 8 + src/UIElements/Menu/TextMenu/TxMenuLeaveAction.hpp | 2 + src/UIElements/Qt4/Query/QtQueryList.hpp | 2 +- src/UIElements/Qt4/Query/VectorQtQuery.cpp | 2 +- src/UIElements/UIFactory.hpp | 1 + .../Views/Qt4/Plotting/QSeisPlotPage.cpp | 19 +- .../Views/Qt4/Qt3D/GLMoleculeObject_molecule.cpp | 4 +- src/UIElements/Views/Qt4/QtTimeLine.cpp | 6 +- src/WorldTime.hpp | 2 +- src/builder.cpp | 4 + src/builder_init.cpp | 7 +- src/builder_init.hpp | 1 - src/cleanUp.cpp | 53 +- src/cleanUp.hpp | 5 +- src/documentation/Makefile.am | 8 + src/documentation/code.dox | 9 +- src/documentation/constructs/actions.dox | 33 +- src/documentation/constructs/atoms.dox | 3 +- src/documentation/constructs/bondgraph.dox | 4 +- src/documentation/constructs/filling.dox | 18 +- src/documentation/constructs/fragmentation.dox | 50 +- src/documentation/constructs/potentials.dox | 7 +- src/documentation/constructs/serialization.dox | 44 +- src/documentation/constructs/shaperegistry.dox | 6 +- src/documentation/constructs/shapes.dox | 6 +- src/documentation/constructs/tesselation.dox | 17 +- src/documentation/constructs/validators.dox | 11 +- src/documentation/copyright.dox | 5 +- src/documentation/fileformats.dox | 4 +- src/documentation/future.dox | 16 +- src/documentation/install.dox | 6 +- src/documentation/launch.dox | 11 +- src/documentation/mainpage.dox | 16 +- src/documentation/tests/code-tests.dox | 6 +- src/documentation/tests/regression-tests.dox | 7 +- src/documentation/userguide.dox | 52 + src/documentation/userinterfaces/commandline.dox | 17 +- src/documentation/userinterfaces/graphical.dox | 23 +- src/documentation/userinterfaces/python.dox | 52 +- src/documentation/userinterfaces/textmenu.dox | 21 +- ...suite-fragmenting-1_2-dimethoxyethane-order1.at | 17 - ...suite-fragmenting-1_2-dimethoxyethane-order2.at | 17 - ...suite-fragmenting-1_2-dimethoxyethane-order3.at | 17 - ...suite-fragmenting-1_2-dimethoxyethane-order4.at | 17 - ...suite-fragmenting-1_2-dimethylbenzene-order1.at | 17 - ...suite-fragmenting-1_2-dimethylbenzene-order2.at | 17 - ...suite-fragmenting-1_2-dimethylbenzene-order3.at | 17 - ...suite-fragmenting-1_2-dimethylbenzene-order4.at | 17 - ...ite-fragmenting-2-methylcyclohexanone-order1.at | 17 - ...ite-fragmenting-2-methylcyclohexanone-order2.at | 17 - ...ite-fragmenting-2-methylcyclohexanone-order3.at | 17 - ...ite-fragmenting-2-methylcyclohexanone-order4.at | 17 - ...ite-fragmenting-2-methylcyclohexanone-order5.at | 17 - ...ite-fragmenting-2-methylcyclohexanone-order6.at | 17 - ...ite-fragmenting-N_N-dimethylacetamide-order1.at | 17 - ...ite-fragmenting-N_N-dimethylacetamide-order2.at | 17 - ...ite-fragmenting-N_N-dimethylacetamide-order3.at | 17 - ...ite-fragmenting-N_N-dimethylacetamide-order4.at | 17 - ...ite-fragmenting-N_N-dimethylacetamide-order5.at | 17 - ...ite-fragmenting-N_N-dimethylacetamide-order6.at | 17 - .../Fragmenting/anthracene/pre/anthracene.pdb | 52 + .../testsuite-fragmenting-anthracene-order1.at | 52 + .../testsuite-fragmenting-anthracene-order2.at | 44 + .../testsuite-fragmenting-anthracene-order3.at | 44 + .../testsuite-fragmenting-anthracene-order4.at | 44 + .../testsuite-fragmenting-anthracene-order5.at | 44 + .../testsuite-fragmenting-anthracene-order6.at | 44 + .../testsuite-fragmenting-benzene-order1.at | 17 - .../testsuite-fragmenting-benzene-order2.at | 17 - .../testsuite-fragmenting-benzene-order3.at | 17 - .../testsuite-fragmenting-benzene-order4.at | 17 - .../testsuite-fragmenting-benzene-order5.at | 17 - .../testsuite-fragmenting-benzene-order6.at | 17 - .../testsuite-fragmenting-cholesterol-order1.at | 17 - .../testsuite-fragmenting-cholesterol-order2.at | 17 - .../testsuite-fragmenting-cholesterol-order3.at | 17 - .../testsuite-fragmenting-cholesterol-order4.at | 17 - .../testsuite-fragmenting-cholesterol-order5.at | 17 - .../testsuite-fragmenting-cholesterol-order6.at | 17 - .../Fragmenting/coronene/pre/coronene.pdb | 76 + .../testsuite-fragmenting-coronene-order1.at | 52 + .../testsuite-fragmenting-coronene-order2.at | 44 + .../testsuite-fragmenting-coronene-order3.at | 44 + .../testsuite-fragmenting-coronene-order4.at | 44 + .../testsuite-fragmenting-coronene-order5.at | 44 + .../testsuite-fragmenting-coronene-order6.at | 44 + .../testsuite-fragmenting-cycloheptane-order1.at | 17 - .../testsuite-fragmenting-cycloheptane-order2.at | 17 - .../testsuite-fragmenting-cycloheptane-order3.at | 17 - .../testsuite-fragmenting-cycloheptane-order4.at | 17 - .../testsuite-fragmenting-cycloheptane-order5.at | 17 - .../testsuite-fragmenting-cycloheptane-order6.at | 17 - ...te-fragmenting-dimethyl_bromomalonate-order1.at | 17 - ...te-fragmenting-dimethyl_bromomalonate-order2.at | 17 - ...te-fragmenting-dimethyl_bromomalonate-order3.at | 17 - ...te-fragmenting-dimethyl_bromomalonate-order4.at | 17 - ...te-fragmenting-dimethyl_bromomalonate-order5.at | 17 - ...te-fragmenting-dimethyl_bromomalonate-order6.at | 17 - .../testsuite-fragmenting-glucose-order1.at | 17 - .../testsuite-fragmenting-glucose-order2.at | 17 - .../testsuite-fragmenting-glucose-order3.at | 17 - .../testsuite-fragmenting-glucose-order4.at | 17 - .../testsuite-fragmenting-glucose-order5.at | 17 - .../testsuite-fragmenting-glucose-order6.at | 17 - .../heptan/testsuite-fragmenting-heptan-order1.at | 17 - .../heptan/testsuite-fragmenting-heptan-order2.at | 17 - .../heptan/testsuite-fragmenting-heptan-order3.at | 17 - .../heptan/testsuite-fragmenting-heptan-order4.at | 17 - .../heptan/testsuite-fragmenting-heptan-order5.at | 17 - .../heptan/testsuite-fragmenting-heptan-order6.at | 17 - .../testsuite-fragmenting-isoleucine-order1.at | 17 - .../testsuite-fragmenting-isoleucine-order2.at | 17 - .../testsuite-fragmenting-isoleucine-order3.at | 17 - .../testsuite-fragmenting-isoleucine-order4.at | 17 - .../testsuite-fragmenting-isoleucine-order5.at | 17 - .../testsuite-fragmenting-isoleucine-order6.at | 17 - .../Fragmenting/naphthalene/pre/naphthalene.pdb | 40 + .../testsuite-fragmenting-naphthalene-order1.at | 52 + .../testsuite-fragmenting-naphthalene-order2.at | 44 + .../testsuite-fragmenting-naphthalene-order3.at | 44 + .../testsuite-fragmenting-naphthalene-order4.at | 44 + .../testsuite-fragmenting-naphthalene-order5.at | 44 + .../testsuite-fragmenting-naphthalene-order6.at | 44 + .../testsuite-fragmenting-neohexane-order1.at | 17 - .../testsuite-fragmenting-neohexane-order2.at | 17 - .../testsuite-fragmenting-neohexane-order3.at | 17 - .../testsuite-fragmenting-neohexane-order4.at | 17 - .../testsuite-fragmenting-neohexane-order5.at | 17 - .../testsuite-fragmenting-neohexane-order6.at | 17 - .../Fragmenting/phenanthrene/pre/phenanthrene.pdb | 52 + .../testsuite-fragmenting-phenanthrene-order1.at | 52 + .../testsuite-fragmenting-phenanthrene-order2.at | 44 + .../testsuite-fragmenting-phenanthrene-order3.at | 44 + .../testsuite-fragmenting-phenanthrene-order4.at | 44 + .../testsuite-fragmenting-phenanthrene-order5.at | 44 + .../testsuite-fragmenting-phenanthrene-order6.at | 44 + .../testsuite-fragmenting-proline-order1.at | 17 - .../testsuite-fragmenting-proline-order2.at | 17 - .../testsuite-fragmenting-proline-order3.at | 17 - .../testsuite-fragmenting-proline-order4.at | 17 - .../testsuite-fragmenting-proline-order5.at | 17 - .../testsuite-fragmenting-proline-order6.at | 17 - .../testsuite-fragmenting-putrescine-order1.at | 17 - .../testsuite-fragmenting-putrescine-order2.at | 17 - .../testsuite-fragmenting-putrescine-order3.at | 17 - .../testsuite-fragmenting-putrescine-order4.at | 17 - .../testsuite-fragmenting-putrescine-order5.at | 17 - .../testsuite-fragmenting-putrescine-order6.at | 17 - .../testsuite-fragmenting-tartaric_acid-order1.at | 17 - .../testsuite-fragmenting-tartaric_acid-order2.at | 17 - .../testsuite-fragmenting-tartaric_acid-order3.at | 17 - .../testsuite-fragmenting-tartaric_acid-order4.at | 17 - .../testsuite-fragmenting-tartaric_acid-order5.at | 17 - .../testsuite-fragmenting-tartaric_acid-order6.at | 17 - tests/Fragmentations/Makefile.am | 28 + tests/Fragmentations/testsuite.at | 32 + tests/Python/AllActions/moltest.py | 2 +- tests/Python/BoxMaker/testsuite-python-boxmaker.at | 1 + .../testsuite-python-returnvalueactions.at | 2 +- .../testsuite-analysis-calculate-bounding-box.at | 38 - .../testsuite-analysis-calculate-cell-volume.at | 31 - .../Analysis/CalculateMolarMass/pre/argon.xyz | 4 - .../Analysis/CalculateMolarMass/pre/water.xyz | 5 - .../testsuite-analysis-calculate-molar-mass.at | 43 - tests/regression/Analysis/testsuite-analysis.at | 9 - tests/regression/Atoms/Add/testsuite-atoms-add.at | 3 +- tests/regression/Makefile.am | 3 - .../regression/Options/Session/post/complextest.py | 4 +- .../regression/Options/Session/post/complextest.sh | 2 +- .../regression/Options/Session/pre/complextest.py | 13 + .../regression/Options/Session/pre/complexwait.py | 30 + .../Options/Session/{post => pre}/test.py | 0 .../testsuite-options-load-session-python.at | 46 +- .../testsuite-options-store-session-python.at | 12 +- utils/Python/boxmaker.py.in | 8 +- 313 files changed, 5952 insertions(+), 4078 deletions(-) delete mode 100644 doc/userguide.xml create mode 100644 doc/userguide/Makefile.am create mode 100644 doc/userguide/catalog.xml.in create mode 100644 doc/userguide/createguide.sh create mode 100644 doc/userguide/css/html.css create mode 100644 doc/userguide/pictures/dialog_add-atom_tooltip.png create mode 100644 doc/userguide/pictures/dialog_box.png create mode 100644 doc/userguide/pictures/dialog_complex.png create mode 100644 doc/userguide/pictures/dialog_exit.png create mode 100644 doc/userguide/pictures/example_basic_view.png rename doc/{ => userguide/pictures}/molecuilder_logo.png (100%) create mode 100644 doc/userguide/userguide.xml create mode 100644 m4/ax_check_docbook.m4 delete mode 100644 src/Actions/AnalysisAction/CalculateBoundingBoxAction.cpp delete mode 100644 src/Actions/AnalysisAction/CalculateBoundingBoxAction.def delete mode 100644 src/Actions/AnalysisAction/CalculateBoundingBoxAction.hpp delete mode 100644 src/Actions/AnalysisAction/CalculateCellVolumeAction.cpp delete mode 100644 src/Actions/AnalysisAction/CalculateCellVolumeAction.def delete mode 100644 src/Actions/AnalysisAction/CalculateCellVolumeAction.hpp delete mode 100644 src/Actions/AnalysisAction/CalculateMolarMassAction.cpp delete mode 100644 src/Actions/AnalysisAction/CalculateMolarMassAction.def delete mode 100644 src/Actions/AnalysisAction/CalculateMolarMassAction.hpp delete mode 100644 src/Actions/Reaction.hpp delete mode 100644 src/Actions/Reaction_impl.hpp delete mode 100644 src/Actions/Reaction_impl_header.hpp delete mode 100644 src/Actions/Reaction_impl_pre.hpp delete mode 100644 src/Actions/pyMoleCuilder.cpp create mode 100644 src/Python/exit.cpp create mode 100644 src/Python/getBoundingBox.cpp create mode 100644 src/Python/getDomainVolume.cpp create mode 100644 src/Python/getSelectedMolarMass.cpp create mode 100644 src/Python/modules.hpp create mode 100644 src/Python/reinit.cpp create mode 100644 src/Python/wait.cpp create mode 100644 src/documentation/userguide.dox create mode 100644 tests/Fragmentations/Fragmenting/anthracene/pre/anthracene.pdb create mode 100644 tests/Fragmentations/Fragmenting/anthracene/testsuite-fragmenting-anthracene-order1.at create mode 100644 tests/Fragmentations/Fragmenting/anthracene/testsuite-fragmenting-anthracene-order2.at create mode 100644 tests/Fragmentations/Fragmenting/anthracene/testsuite-fragmenting-anthracene-order3.at create mode 100644 tests/Fragmentations/Fragmenting/anthracene/testsuite-fragmenting-anthracene-order4.at create mode 100644 tests/Fragmentations/Fragmenting/anthracene/testsuite-fragmenting-anthracene-order5.at create mode 100644 tests/Fragmentations/Fragmenting/anthracene/testsuite-fragmenting-anthracene-order6.at create mode 100644 tests/Fragmentations/Fragmenting/coronene/pre/coronene.pdb create mode 100644 tests/Fragmentations/Fragmenting/coronene/testsuite-fragmenting-coronene-order1.at create mode 100644 tests/Fragmentations/Fragmenting/coronene/testsuite-fragmenting-coronene-order2.at create mode 100644 tests/Fragmentations/Fragmenting/coronene/testsuite-fragmenting-coronene-order3.at create mode 100644 tests/Fragmentations/Fragmenting/coronene/testsuite-fragmenting-coronene-order4.at create mode 100644 tests/Fragmentations/Fragmenting/coronene/testsuite-fragmenting-coronene-order5.at create mode 100644 tests/Fragmentations/Fragmenting/coronene/testsuite-fragmenting-coronene-order6.at create mode 100644 tests/Fragmentations/Fragmenting/naphthalene/pre/naphthalene.pdb create mode 100644 tests/Fragmentations/Fragmenting/naphthalene/testsuite-fragmenting-naphthalene-order1.at create mode 100644 tests/Fragmentations/Fragmenting/naphthalene/testsuite-fragmenting-naphthalene-order2.at create mode 100644 tests/Fragmentations/Fragmenting/naphthalene/testsuite-fragmenting-naphthalene-order3.at create mode 100644 tests/Fragmentations/Fragmenting/naphthalene/testsuite-fragmenting-naphthalene-order4.at create mode 100644 tests/Fragmentations/Fragmenting/naphthalene/testsuite-fragmenting-naphthalene-order5.at create mode 100644 tests/Fragmentations/Fragmenting/naphthalene/testsuite-fragmenting-naphthalene-order6.at create mode 100644 tests/Fragmentations/Fragmenting/phenanthrene/pre/phenanthrene.pdb create mode 100644 tests/Fragmentations/Fragmenting/phenanthrene/testsuite-fragmenting-phenanthrene-order1.at create mode 100644 tests/Fragmentations/Fragmenting/phenanthrene/testsuite-fragmenting-phenanthrene-order2.at create mode 100644 tests/Fragmentations/Fragmenting/phenanthrene/testsuite-fragmenting-phenanthrene-order3.at create mode 100644 tests/Fragmentations/Fragmenting/phenanthrene/testsuite-fragmenting-phenanthrene-order4.at create mode 100644 tests/Fragmentations/Fragmenting/phenanthrene/testsuite-fragmenting-phenanthrene-order5.at create mode 100644 tests/Fragmentations/Fragmenting/phenanthrene/testsuite-fragmenting-phenanthrene-order6.at delete mode 100644 tests/regression/Analysis/CalculateBoundingBox/testsuite-analysis-calculate-bounding-box.at delete mode 100644 tests/regression/Analysis/CalculateCellVolume/testsuite-analysis-calculate-cell-volume.at delete mode 100644 tests/regression/Analysis/CalculateMolarMass/pre/argon.xyz delete mode 100644 tests/regression/Analysis/CalculateMolarMass/pre/water.xyz delete mode 100644 tests/regression/Analysis/CalculateMolarMass/testsuite-analysis-calculate-molar-mass.at create mode 100644 tests/regression/Options/Session/pre/complextest.py create mode 100644 tests/regression/Options/Session/pre/complexwait.py copy tests/regression/Options/Session/{post => pre}/test.py (100%) hooks/post-receive -- MoleCuilder From git at ins.uni-bonn.de Thu May 29 23:54:56 2014 From: git at ins.uni-bonn.de (git repository hosting) Date: Thu, 29 May 2014 23:54:56 +0200 (CEST) Subject: [Molecuilder-devel] [SCM] MoleCuilder branch Generalize_AddHydrogenSaturation created. v1.4.5-11-g43efd11 Message-ID: <20140529215456.5600A10000FA@jupiter.ins.uni-bonn.de> 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, Generalize_AddHydrogenSaturation has been created at 43efd11e0dd5155fd4722c6a8367d617440a17dd (commit) - Log ----------------------------------------------------------------- commit 43efd11e0dd5155fd4722c6a8367d617440a17dd Author: Frederik Heber 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. commit d4bb11a516848e3baf622aa3706957ac05062c8c Author: Frederik Heber Date: Thu May 29 20:15:26 2014 +0200 Added unit tests for SphericalPointDistribution. commit eb4169ba8d4e50baf4599ba431fde66d07504407 Author: Frederik Heber 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. commit 17064a47bf26ea24e411a57a6cc6501acf7e9eaa Author: Frederik Heber Date: Thu May 29 13:29:03 2014 +0200 tempcommit: Added matchSphericalPointDistributions() to SphericalPointDistribution. - so far we do nothing. commit 5714141b8597e64fc23e1440a9cf5132cf99ed60 Author: Frederik Heber 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 1f2e289d601710d30b08eaf9a1615936ed07d4d2 Author: Frederik Heber 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 837f8b93e5f635c301942a7face0aa6929c8b501 Author: Frederik Heber Date: Thu May 29 12:30:49 2014 +0200 FIX: BondedParticleInfo::BondList is now a typedef. - removed the define. commit 42fdcdd773c43c0f2c86b88cd1d5aba7dc88eec6 Author: Frederik Heber Date: Thu May 29 11:55:28 2014 +0200 Refactored SaturatedFragment::saturate() using list of cut bonds. - this is preparatory for replacing AddHydrogenReplacementAtom(). commit 896d6b6f16e9e0c6c2c0c6a592258bfd63c91e70 Author: Frederik Heber Date: Tue Aug 27 00:07:18 2013 +0200 tempcommit: Allow S-O bonds to be saturated. - we don't have double bond info nor angle info. So this is just a test fix. commit 37af8fd1d5e372c7bd6478d7f759de871494aa40 Author: Frederik Heber Date: Mon Aug 26 21:53:59 2013 +0200 SaturatedFragment::AddHydrogenReplacementAtom() uses degree 1 if other is missing. commit 4474a555cbe0407e720b396332a9d441fc833013 Author: Frederik Heber 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. ----------------------------------------------------------------------- hooks/post-receive -- MoleCuilder