Author: bugman Date: Tue Jul 16 11:17:47 2013 New Revision: 20328 URL: http://svn.gna.org/viewcvs/relax?rev=20328&view=rev Log: Small speed up for the lib.dispersion.cr72 module for the R20A != R20B case. Replicated calculations have been minimised. Modified: branches/relax_disp/lib/dispersion/cr72.py Modified: branches/relax_disp/lib/dispersion/cr72.py URL: http://svn.gna.org/viewcvs/relax/branches/relax_disp/lib/dispersion/cr72.py?rev=20328&r1=20327&r2=20328&view=diff ============================================================================== --- branches/relax_disp/lib/dispersion/cr72.py (original) +++ branches/relax_disp/lib/dispersion/cr72.py Tue Jul 16 11:17:47 2013 @@ -90,14 +90,17 @@ # Repetitive calculations (to speed up calculations). dw2 = dw**2 r20_kex = (r20a + r20b + kex) / 2.0 + k_AB = pA * kex + k_BA = pB * kex # The Psi and zeta values. if r20a != r20b: - Psi = (r20a - r20b - pA*kex + pB*kex)**2 - dw2 + 4.0*pA*pB*kex**2 - zeta = 2.0*dw * (r20a - r20b - pA*kex + pB*kex) + fact = r20a - r20b - k_AB + k_BA + Psi = fact**2 - dw2 + 4.0*pA*pB*kex**2 + zeta = 2.0*dw * fact else: Psi = kex**2 - dw2 - zeta = -2.0*dw * (pA*kex - pB*kex) + zeta = -2.0*dw * (k_AB - k_BA) # More repetitive calculations. sqrt_psi2_zeta2 = sqrt(Psi**2 + zeta**2)