mailr25863 - /branches/frame_order_cleanup/user_functions/frame_order.py


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

Header


Content

Posted by edward on September 17, 2014 - 17:11:
Author: bugman
Date: Wed Sep 17 17:11:12 2014
New Revision: 25863

URL: http://svn.gna.org/viewcvs/relax?rev=25863&view=rev
Log:
Redesigned the frame_order.num_int_pts user function frontend for the 
oversampling idea.

The use of the quasi-random Sobol' sequence for numerical PCS integration 
will be modified to use
the concept of oversampling.  Instead of specifying the exact number of 
points in the Sobol'
sequence and then removing points outside of the current parameter values, 
the algorithm will
oversample as N * Ov * 10**M, where N is the maximum number of Sobol' points 
to be used for the
integration, Ov is the oversampling factor, and M is the number of dimensions 
or torsion-tilt angles
used in the system.  The aim is to try to use the maximum number of points N 
for all frame order
models and all ranges of dynamics.

Modified:
    branches/frame_order_cleanup/user_functions/frame_order.py

Modified: branches/frame_order_cleanup/user_functions/frame_order.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/user_functions/frame_order.py?rev=25863&r1=25862&r2=25863&view=diff
==============================================================================
--- branches/frame_order_cleanup/user_functions/frame_order.py  (original)
+++ branches/frame_order_cleanup/user_functions/frame_order.py  Wed Sep 17 
17:11:12 2014
@@ -246,25 +246,45 @@
 
 # The frame_order.num_int_pts user function.
 uf = uf_info.add_uf('frame_order.num_int_pts')
-uf.title = "Set the number of integration points used in the quasi-random 
Sobol' sequence during optimisation."
-uf.title_short = "Number of integration points."
+uf.title = "Set the maximum number of integration points used in the 
quasi-random Sobol' sequence during optimisation."
+uf.title_short = "Maximum number of integration points."
 uf.add_keyarg(
     name = "num",
-    default = 200000,
+    default = 200,
     min = 3,
     max = 10000000,
     py_type = "int",
     desc_short = "number of points",
-    desc = "The number of integration points to use in the Sobol' sequence 
during optimisation.",
-    wiz_element_type = "spin"
-)
-# Description.
-uf.desc.append(Desc_container())
-uf.desc[-1].add_paragraph("This allows the number of integration points used 
during the Frame Order target function optimisation to be changed from the 
default.  This is used in the quasi-random Sobol' sequence for the numerical 
integration.")
+    desc = "The maximum number of integration points to use in the Sobol' 
sequence during optimisation.",
+    wiz_element_type = "spin"
+)
+uf.add_keyarg(
+    name = "oversample",
+    default = 100,
+    min = 1,
+    max = 10000000,
+    py_type = "int",
+    desc_short = "oversampling factor",
+    desc = "The generation of the Sobol' sequence oversamples as N * Ov * 
10**M, where N is the maximum number of points, Ov is the oversamling value, 
and M is the number of dimensions or torsion-tilt angles used in the system.",
+    wiz_element_type = "spin"
+)
+# Description.
+uf.desc.append(Desc_container())
+uf.desc[-1].add_paragraph("This allows the maximum number of integration 
points N used during the Frame Order target function optimisation to be 
specified.  This is used in the quasi-random Sobol' sequence for the 
numerical integration of the PCS.  The symbols used to describe the algorithm 
are:")
+uf.desc[-1].add_list_element("N, the maximum number of Sobol' integration 
points.")
+uf.desc[-1].add_list_element("Ov, the oversampling factor.")
+uf.desc[-1].add_list_element("M, the number of dimensions or torsion-tilt 
angles used in the system.")
+uf.desc[-1].add_paragraph("The algorithm used for uniformly sampling the 
motional space is:")
+uf.desc[-1].add_list_element("Generate the Sobol' sequence.  The number of 
points is oversampled as N * Ov * 10**M.")
+uf.desc[-1].add_list_element("Convert all points to the torsion-tilt angle 
system.")
+uf.desc[-1].add_list_element("Skip all Sobol' points with angles greater 
than the current parameter values.")
+uf.desc[-1].add_list_element("Terminate the loop over the Sobol' points for 
calculating the PCS once the maximum number of points has been reached.")
+uf.desc[-1].add_paragraph("The aim of the oversampling is to try to reach 
the maximum number of points.  However if the system is not very dynamic, the 
maximum number of points may not be reached.  In this case, simply increase 
the oversampling factor.")
 uf.backend = num_int_pts
 uf.menu_text = "&num_int_pts"
 uf.gui_icon = "oxygen.actions.edit-rename"
-uf.wizard_size = (900, 500)
+uf.wizard_height_desc = 500
+uf.wizard_size = (1000, 700)
 uf.wizard_image = WIZARD_IMAGE_PATH + 'frame_order.png'
 
 




Related Messages


Powered by MHonArc, Updated Wed Sep 17 17:20:03 2014