Author: bugman Date: Tue Mar 5 11:52:41 2013 New Revision: 18634 URL: http://svn.gna.org/viewcvs/relax?rev=18634&view=rev Log: The grid search for the frame order auto-analysis with translation is now handled differently. This is to avoid getting trapped into a local minimum. The grid for this split into a grid search over the rotational space first, then a grid search over the translation. This is repeated for good measure. This is much more accurate and reliable for finding the global minimum and is also much faster. Modified: branches/frame_order_testing/auto_analyses/frame_order.py Modified: branches/frame_order_testing/auto_analyses/frame_order.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/auto_analyses/frame_order.py?rev=18634&r1=18633&r2=18634&view=diff ============================================================================== --- branches/frame_order_testing/auto_analyses/frame_order.py (original) +++ branches/frame_order_testing/auto_analyses/frame_order.py Tue Mar 5 11:52:41 2013 @@ -409,8 +409,22 @@ # Select the Frame Order model. self.interpreter.frame_order.select_model(model=model) - # Grid search (avoid the domain translation). - self.interpreter.grid_search(inc=self.grid_inc_rigid, constraints=False) + # Split grid search if translation is active. + if cdp.ave_pos_translation: + # Printout. + print("\n\nTranslation active - splitting the grid search and iterating.") + + # Loop twice. + for i in range(2): + # First optimise the rotation. + self.interpreter.grid_search(inc=[None, None, None, self.grid_inc_rigid, self.grid_inc_rigid, self.grid_inc_rigid], constraints=False) + + # Then the translation. + self.interpreter.grid_search(inc=[self.grid_inc_rigid, self.grid_inc_rigid, self.grid_inc_rigid, None, None, None], constraints=False) + + # Standard grid search. + else: + self.interpreter.grid_search(inc=self.grid_inc_rigid, constraints=False) # Minimise. self.interpreter.minimise(self.min_algor, constraints=False)