Author: bugman Date: Fri Feb 25 19:47:38 2011 New Revision: 12635 URL: http://svn.gna.org/viewcvs/relax?rev=12635&view=rev Log: This change is related to the task #6397 (https://gna.org/task/?6397) kada _at_ chemi _dot_ muni _dot_ cz https://mail.gna.org/public/relax-devel/2011-02/msg00076.html https://gna.org/support/download.php?file_id=12556 This patch includes change in func_mf, func_local_tm, func_diff, func_all, dfunc_mf, dfunc_local_tm, dfunc_diff, dfunc_all, d2func_mf, d2func_local_tm, d2func_diff, d2func_all functions of class Mf in a file maths_fns/mf.py. The functions were modified in order to handle data for more interactions. Due to the equality of (d,d2)ri and (d,d2)ri_prime variables, the (d,d2)ri_prime were replaced by (d,d2)ri and the equality was removed. Moreover, (d,d2)ri was redefined as a cumulative sum of individual interaction contributions to the total relaxation rate or corresponding derivatives. Modified: branches/cst/maths_fns/mf.py Modified: branches/cst/maths_fns/mf.py URL: http://svn.gna.org/viewcvs/relax/branches/cst/maths_fns/mf.py?rev=12635&r1=12634&r2=12635&view=diff ============================================================================== --- branches/cst/maths_fns/mf.py (original) +++ branches/cst/maths_fns/mf.py Fri Feb 25 19:47:38 2011 @@ -436,10 +436,9 @@ data[j].create_ri_comps(data[j], params) # Calculate the R1, R2, and sigma_noe values. - data[j].ri_prime = data[j].create_ri_prime(data[j]) + data.ri = data.ri + data[j].create_ri_prime(data[j]) # Calculate the NOE values. - data.ri = data.ri_prime * 1.0 for m in xrange(data.num_ri): if data.create_ri[m]: data.create_ri[m](data, m, data.remap_table[m], data.get_r1, params) @@ -492,10 +491,9 @@ data[j].create_ri_comps(data[j], params) # Calculate the R1, R2, and sigma_noe values. - data[j].ri_prime = data[j].create_ri_prime(data[j]) + data.ri = data.ri + data[j].create_ri_prime(data[j]) # Calculate the NOE values. - data.ri = data.ri_prime * 1.0 for m in xrange(data.num_ri): if data.create_ri[m]: data.create_ri[m](data, m, data.remap_table[m], data.get_r1, params) @@ -558,10 +556,9 @@ data[j].create_ri_comps(data[j], data[j].param_values) # Calculate the R1, R2, and sigma_noe values. - data[j].ri_prime = data[j].create_ri_prime(data[j]) + data.ri = data.ri + data[j].create_ri_prime(data[j]) # Calculate the NOE values. - data.ri = data.ri_prime * 1.0 for m in xrange(data.num_ri): if data.create_ri[m]: data.create_ri[m](data, m, data.remap_table[m], data.get_r1, data.param_values) @@ -627,10 +624,10 @@ data[j].create_ri_comps(data[j], params) # Calculate the R1, R2, and sigma_noe values. - data[j].ri_prime = data[j].create_ri_prime(data[j]) + data.ri = data.ri + data[j].create_ri_prime(data[j]) + # Calculate the NOE values. - data.ri = data.ri_prime * 1.0 for m in xrange(data.num_ri): if data.create_ri[m]: data.create_ri[m](data, m, data.remap_table[m], data.get_r1, params) @@ -684,10 +681,9 @@ data[k].create_dri_comps(data[k], params) # Calculate the R1, R2, and sigma_noe gradients. - data[k].dri_prime[j] = data[k].create_dri_prime[j](data[k]) + data.dri[j] = data.dri[j] + data[k].create_dri_prime[j](data[k]) # Loop over the relaxation values and modify the NOE gradients. - data.dri[j] = data.dri_prime[j] for m in xrange(data.num_ri): if data.create_dri[m]: data.create_dri[m](data, m, data.remap_table[m], data.get_dr1, params, j) @@ -749,10 +745,9 @@ data[k].create_dri_comps(data[k], params) # Calculate the R1, R2, and sigma_noe gradients. - data[k].dri_prime[j] = data[k].create_dri_prime[j](data[k]) + data.dri[j] = data.dri[j] + data[k].create_dri_prime[j](data[k]) # Loop over the relaxation values and modify the NOE gradients. - data.dri[j] = data.dri_prime[j] for m in xrange(data.num_ri): if data.create_dri[m]: data.create_dri[m](data, m, data.remap_table[m], data.get_dr1, params, j) @@ -829,10 +824,9 @@ data[k].create_dri_comps(data[k], data[k].param_values) # Calculate the R1, R2, and sigma_noe gradients. - data[k].dri_prime[j] = data[k].create_dri_prime[j](data[k]) + data.dri[j] = data.dri[j] + data[k].create_dri_prime[j](data[k]) # Loop over the relaxation values and modify the NOE gradients. - data.dri[j] = data.dri_prime[j] for m in xrange(data.num_ri): if data.create_dri[m]: data.create_dri[m](data, m, data.remap_table[m], data.get_dr1, params, j) @@ -912,10 +906,9 @@ data[k].create_dri_comps(data[k], params) # Calculate the R1, R2, and sigma_noe gradients. - data[k].dri_prime[j] = data[k].create_dri_prime[j](data[k]) + data.dri[j] = data.dri[j] + data[k].create_dri_prime[j](data[k]) # Loop over the relaxation values and modify the NOE gradients. - data.dri[j] = data.dri_prime[j] for m in xrange(data.num_ri): if data.create_dri[m]: data.create_dri[m](data, m, data.remap_table[m], data.get_dr1, params, j) @@ -973,10 +966,9 @@ # Calculate the R1, R2, and sigma_noe Hessians. if data[m].create_d2ri_prime[j][k]: - data[m].d2ri_prime[j, k] = data[m].create_d2ri_prime[j][k](data[m]) + data.d2ri[j, k] = data.d2ri[j, k] + data[m].create_d2ri_prime[j][k](data[m]) # Loop over the relaxation values and modify the NOE Hessians. - data.d2ri[j, k] = data.d2ri_prime[j, k] for m in xrange(data.num_ri): if data.create_d2ri[m]: data.create_d2ri[m](data, m, data.remap_table[m], data.get_d2r1, params, j, k) @@ -1028,10 +1020,9 @@ # Calculate the R1, R2, and sigma_noe Hessians. if data[m].create_d2ri_prime[j][k]: - data[m].d2ri_prime[j, k] = data[m].create_d2ri_prime[j][k](data[m]) + data.d2ri[j, k] = data.d2ri[j, k] + data[m].create_d2ri_prime[j][k](data[m]) # Loop over the relaxation values and modify the NOE Hessians. - data.d2ri[j, k] = data.d2ri_prime[j, k] for m in xrange(data.num_ri): if data.create_d2ri[m]: data.create_d2ri[m](data, m, data.remap_table[m], data.get_d2r1, params, j, k) @@ -1101,10 +1092,9 @@ # Calculate the R1, R2, and sigma_noe Hessians. if data[m].create_d2ri_prime[j][k]: - data[m].d2ri_prime[j, k] = data[m].create_d2ri_prime[j][k](data[m]) + data.d2ri[j, k] = data.d2ri[j, k] + data[m].create_d2ri_prime[j][k](data[m]) # Loop over the relaxation values and modify the NOE Hessians. - data.d2ri[j, k] = data.d2ri_prime[j, k] for m in xrange(data.num_ri): if data.create_d2ri[m]: data.create_d2ri[m](data, m, data.remap_table[m], data.get_d2r1, params, j, k) @@ -1177,10 +1167,9 @@ # Calculate the R1, R2, and sigma_noe Hessians. if data[m].create_d2ri_prime[j][k]: - data[m].d2ri_prime[j, k] = data[m].create_d2ri_prime[j][k](data[m]) + data.d2ri[j, k] = data.d2ri[j, k] + data[m].create_d2ri_prime[j][k](data[m]) # Loop over the relaxation values and modify the NOE Hessians. - data.d2ri[j, k] = data.d2ri_prime[j, k] for m in xrange(data.num_ri): if data.create_d2ri[m]: data.create_d2ri[m](data, m, data.remap_table[m], data.get_d2r1, params, j, k)