Author: bugman Date: Wed Jun 18 15:20:11 2014 New Revision: 24088 URL: http://svn.gna.org/viewcvs/relax?rev=24088&view=rev Log: Added a script for profiling the 'NS CPMG 2-site 3D' relaxation dispersion model. This is the model at http://wiki.nmr-relax.com/NS_CPMG_2-site_3D. Again this only involved copying one of the other scripts and modifying a few variable and function names. Added: branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_cpmg_2site_3D.py - copied, changed from r24085, branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_cpmg_2site_expanded.py Copied: branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_cpmg_2site_3D.py (from r24085, branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_cpmg_2site_expanded.py) URL: http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_cpmg_2site_3D.py?p2=branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_cpmg_2site_3D.py&p1=branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_cpmg_2site_expanded.py&r1=24085&r2=24088&rev=24088&view=diff ============================================================================== --- branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_cpmg_2site_expanded.py (original) +++ branches/disp_spin_speed/test_suite/shared_data/dispersion/profiling/profiling_ns_cpmg_2site_3D.py Wed Jun 18 15:20:11 2014 @@ -55,14 +55,14 @@ from lib.physical_constants import g1H, g15N from target_functions.chi2 import chi2 from target_functions.relax_disp import Dispersion -from specific_analyses.relax_disp.variables import EXP_TYPE_CPMG_SQ, MODEL_B14_FULL, MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR_FULL +from specific_analyses.relax_disp.variables import EXP_TYPE_CPMG_SQ, MODEL_B14_FULL, MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR_FULL # Alter setup. def main(): if True: # Nr of iterations. - nr_iter = 1000 + nr_iter = 100 # Print statistics. verbose = True @@ -189,7 +189,7 @@ end_index = [] # The spin and frequency dependent R2 parameters. end_index.append(len(self.exp_type) * self.num_spins * len(self.fields)) - if self.model in [MODEL_B14_FULL, MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR_FULL]: + if self.model in [MODEL_B14_FULL, MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR_FULL]: end_index.append(2 * len(self.exp_type) * self.num_spins * len(self.fields)) # The spin and dependent parameters (phi_ex, dw, padw2). end_index.append(end_index[-1] + self.num_spins) @@ -424,11 +424,11 @@ """ # Return chi2 value. - chi2 = self.model.func_ns_cpmg_2site_expanded(params) + chi2 = self.model.func_ns_cpmg_2site_3D(params) return chi2 -def single(num_spins=1, model=MODEL_NS_CPMG_2SITE_EXPANDED, iter=None): +def single(num_spins=1, model=MODEL_NS_CPMG_2SITE_3D, iter=None): """Calculate for a single spin. @keyword num_spins: Number of spins in the cluster. @@ -444,13 +444,15 @@ # Instantiate class C1 = Profile(num_spins=num_spins, model=model, r2a=5.0, r2b=10.0, dw=3.0, pA=0.9, kex=1000.0, spins_params=['r2a', 'r2b', 'dw', 'pA', 'kex']) - # Repeat the function call, to simulate minimisation. - for i in xrange(iter): - chi2 = C1.calc(C1.params) + # Loop 100 times for each spin in the clustered analysis (to make the timing numbers equivalent). + for spin_index in xrange(100): + # Repeat the function call, to simulate minimisation. + for i in xrange(iter): + chi2 = C1.calc(C1.params) print("chi2 single:", chi2) -def cluster(num_spins=100, model=MODEL_NS_CPMG_2SITE_EXPANDED, iter=None): +def cluster(num_spins=100, model=MODEL_NS_CPMG_2SITE_3D, iter=None): """Calculate for a number of clustered spins. @keyword num_spins: Number of spins in the cluster. @@ -477,7 +479,7 @@ main() def test_reshape(): - C1 = Profile(num_spins=1, model=MODEL_NS_CPMG_2SITE_EXPANDED, r2a=5.0, r2b=10.0, dw=3.0, pA=0.9, kex=1000.0, spins_params=['r2a', 'r2b', 'dw', 'pA', 'kex']) + C1 = Profile(num_spins=1, model=MODEL_NS_CPMG_2SITE_3D, r2a=5.0, r2b=10.0, dw=3.0, pA=0.9, kex=1000.0, spins_params=['r2a', 'r2b', 'dw', 'pA', 'kex']) end_index = C1.model.end_index #print("end_index:", end_index) num_spins = C1.model.num_spins