Author: tlinnet
Date: Wed May 28 16:49:08 2014
New Revision: 23531
URL: http://svn.gna.org/viewcvs/relax?rev=23531&view=rev
Log:
Added 9th and 10th unit test case for model B14.
These tests are setup, to check how the function behaves under conditions
of the grid-seach.
Two tests are setup, which either use the default lower or upper bound of
the parameters for the grid search.
The return of the values are not checked, but the behaving of the
function can be found when adding the --numpy-raise to run relax.
This is related to: task #7793: (https://gna.org/task/?7793) Speed-up of
dispersion models.
These tests are implemented to show bug cases related to:
Bug #22032: (bug #22032: Minimisation explodes when using Grid_INC=None)
Minimisation explodes when using Grid_INC=None
The function can return nan or inf values, which are not handled by the
minimisation algorithm, causing it to stop.
There needs to be mechanism to catch these cases.
Modified:
branches/disp_speed/test_suite/unit_tests/_lib/_dispersion/test_b14.py
Modified:
branches/disp_speed/test_suite/unit_tests/_lib/_dispersion/test_b14.py
URL:
http://svn.gna.org/viewcvs/relax/branches/disp_speed/test_suite/unit_tests/_lib/_dispersion/test_b14.py?rev=23531&r1=23530&r2=23531&view=diff
==============================================================================
---
branches/disp_speed/test_suite/unit_tests/_lib/_dispersion/test_b14.py
(original)
+++
branches/disp_speed/test_suite/unit_tests/_lib/_dispersion/test_b14.py
Wed May 28 16:49:08 2014
@@ -25,6 +25,7 @@
# relax module imports.
from lib.dispersion.b14 import r2eff_B14
+from specific_analyses.relax_disp.parameter_object import
Relax_disp_params
class Test_b14(TestCase):
@@ -51,6 +52,9 @@
# The spin Larmor frequencies.
self.sfrq = 200. * 1E6
+ # This is to test the default grid values.
+ self.test_val = True
+
def calc_r2eff(self):
"""Calculate and check the R2eff values."""
@@ -62,8 +66,9 @@
R2eff = r2eff_B14(r20a=self.r20a, r20b=self.r20b, pA=self.pA,
pB=pB, dw=dw_frq, kex=self.kex, k_AB=k_AB, k_BA=k_BA, ncyc=self.ncyc,
inv_tcpmg=self.inv_relax_times, tcp=self.tau_cpmg,
num_points=self.num_points)
# Check all R2eff values.
- for i in range(self.num_points):
- self.assertAlmostEqual(R2eff[i], self.r20a)
+ if self.test_val:
+ for i in range(self.num_points):
+ self.assertAlmostEqual(R2eff[i], self.r20a)
def param_conversion(self, pA=None, kex=None, dw=None, sfrq=None):
@@ -180,3 +185,38 @@
# Calculate and check the R2eff values.
self.calc_r2eff()
+
+
+ def test_b14_no_rex9(self):
+ """Test the r2eff_b14() function for the default lower grid
values. This is to catch un-discovered numpy-raises in calculations. """
+
+ PARAMS = Relax_disp_params()
+
+ # Parameter reset.
+ self.r20a = PARAMS.grid_lower('r2a')
+ self.r20b = PARAMS.grid_lower('r2b')
+ self.pA = PARAMS.grid_lower('pA')
+ self.kex = PARAMS.grid_lower('kex')
+
+ self.test_val = False
+
+ # Calculate and check the R2eff values.
+ self.calc_r2eff()
+
+
+ def test_b14_no_rex10(self):
+ """Test the r2eff_b14() function for the default lower grid
values. This is to catch un-discovered numpy-raises in calculations. """
+
+ PARAMS = Relax_disp_params()
+
+ # Parameter reset.
+ self.r20a = PARAMS.grid_upper('r2a')
+ self.r20b = PARAMS.grid_upper('r2b')
+ self.dw = PARAMS.grid_upper('dw')
+ self.pA = PARAMS.grid_upper('pA')
+ self.kex = PARAMS.grid_upper('kex')
+
+ self.test_val = False
+
+ # Calculate and check the R2eff values.
+ self.calc_r2eff()
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
relax-commits@xxxxxxx
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