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'
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
[email protected]
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits