mailr21099 - /trunk/pipe_control/minimise.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on October 14, 2013 - 20:18:
Author: bugman
Date: Mon Oct 14 20:18:11 2013
New Revision: 21099

URL: http://svn.gna.org/viewcvs/relax?rev=21099&view=rev
Log:
Modified the Monte Carlo simulation printout behaviour for the minimisation 
related user functions.

This is to help in fixing bug #21190 (https://gna.org/bugs/?21190).

This includes the calculate, grid_search, and minimise user functions.  The 
new multi-processor
is_queued() method is used to determine if the optimisation code of the 
specific analysis has queued
rather than run the calculations.  If queued, the 'Simulation X' text will 
not be printed out.  This
avoids printing out all the text at the start before anything has happened.  
The specific
multi-processor optimisation code must provide it's own printouts when each 
calculation is complete.


Modified:
    trunk/pipe_control/minimise.py

Modified: trunk/pipe_control/minimise.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/pipe_control/minimise.py?rev=21099&r1=21098&r2=21099&view=diff
==============================================================================
--- trunk/pipe_control/minimise.py (original)
+++ trunk/pipe_control/minimise.py Mon Oct 14 20:18:11 2013
@@ -54,14 +54,14 @@
     # Deselect spins lacking data:
     overfit_deselect()
 
+    # Get the Processor box singleton (it contains the Processor instance) 
and alias the Processor.
+    processor_box = Processor_box() 
+    processor = processor_box.processor
+
     # Monte Carlo simulation calculation.
     if hasattr(cdp, 'sim_state') and cdp.sim_state == 1:
         # Loop over the simulations.
         for i in range(cdp.sim_number):
-            # Print out.
-            if verbosity:
-                print("Simulation " + repr(i+1))
-
             # Status.
             if status.current_analysis:
                 status.auto_analysis[status.current_analysis].mc_number = i
@@ -70,6 +70,10 @@
 
             # Calculation.
             calculate(verbosity=verbosity-1, sim_index=i)
+
+            # Print out.
+            if verbosity and not processor.is_queued():
+                print("Simulation " + repr(i+1))
 
         # Unset the status.
         if status.current_analysis:
@@ -80,10 +84,6 @@
     # Minimisation.
     else:
         calculate(verbosity=verbosity)
-
-    # Get the Processor box singleton (it contains the Processor instance) 
and alias the Processor.
-    processor_box = Processor_box() 
-    processor = processor_box.processor
 
     # Execute any queued commands.
     processor.run_queue()
@@ -120,14 +120,14 @@
     # Deselect spins lacking data:
     overfit_deselect()
 
+    # Get the Processor box singleton (it contains the Processor instance) 
and alias the Processor.
+    processor_box = Processor_box() 
+    processor = processor_box.processor
+
     # Monte Carlo simulation grid search.
     if hasattr(cdp, 'sim_state') and cdp.sim_state == 1:
         # Loop over the simulations.
         for i in range(cdp.sim_number):
-            # Print out.
-            if verbosity:
-                print("Simulation " + repr(i+1))
-
             # Status.
             if status.current_analysis:
                 status.auto_analysis[status.current_analysis].mc_number = i
@@ -136,6 +136,10 @@
 
             # Optimisation.
             grid_search(lower=lower, upper=upper, inc=inc, 
constraints=constraints, verbosity=verbosity-1, sim_index=i)
+
+            # Print out.
+            if verbosity and not processor.is_queued():
+                print("Simulation " + repr(i+1))
 
         # Unset the status.
         if status.current_analysis:
@@ -146,10 +150,6 @@
     # Grid search.
     else:
         grid_search(lower=lower, upper=upper, inc=inc, 
constraints=constraints, verbosity=verbosity)
-
-    # Get the Processor box singleton (it contains the Processor instance) 
and alias the Processor.
-    processor_box = Processor_box() 
-    processor = processor_box.processor
 
     # Execute any queued commands.
     processor.run_queue()
@@ -209,6 +209,10 @@
     # Deselect spins lacking data:
     overfit_deselect()
 
+    # Get the Processor box singleton (it contains the Processor instance) 
and alias the Processor.
+    processor_box = Processor_box() 
+    processor = processor_box.processor
+
     # Single Monte Carlo simulation.
     if sim_index != None:
         minimise(min_algor=min_algor, min_options=min_options, 
func_tol=func_tol, grad_tol=grad_tol, max_iterations=max_iter, 
constraints=constraints, scaling=scaling, verbosity=verbosity, 
sim_index=sim_index)
@@ -216,10 +220,6 @@
     # Monte Carlo simulation minimisation.
     elif hasattr(cdp, 'sim_state') and cdp.sim_state == 1:
         for i in range(cdp.sim_number):
-            # Print out.
-            if verbosity:
-                print("Simulation " + repr(i+1))
-
             # Status.
             if status.current_analysis:
                 status.auto_analysis[status.current_analysis].mc_number = i
@@ -228,6 +228,10 @@
 
             # Optimisation.
             minimise(min_algor=min_algor, min_options=min_options, 
func_tol=func_tol, grad_tol=grad_tol, max_iterations=max_iter, 
constraints=constraints, scaling=scaling, verbosity=verbosity-1, sim_index=i)
+
+            # Print out.
+            if verbosity and not processor.is_queued():
+                print("Simulation " + repr(i+1))
 
         # Unset the status.
         if status.current_analysis:
@@ -238,10 +242,6 @@
     # Standard minimisation.
     else:
         minimise(min_algor=min_algor, min_options=min_options, 
func_tol=func_tol, grad_tol=grad_tol, max_iterations=max_iter, 
constraints=constraints, scaling=scaling, verbosity=verbosity)
-
-    # Get the Processor box singleton (it contains the Processor instance) 
and alias the Processor.
-    processor_box = Processor_box() 
-    processor = processor_box.processor
 
     # Execute any queued commands.
     processor.run_queue()




Related Messages


Powered by MHonArc, Updated Mon Oct 14 20:20:05 2013