Author: bugman Date: Thu Jun 28 11:59:59 2012 New Revision: 17087 URL: http://svn.gna.org/viewcvs/relax?rev=17087&view=rev Log: Fix for the dipole_pair.unit_vectors user function - the vector averaging now occurs after the normalisation. Modified: branches/interatomic/generic_fns/dipole_pair.py Modified: branches/interatomic/generic_fns/dipole_pair.py URL: http://svn.gna.org/viewcvs/relax/branches/interatomic/generic_fns/dipole_pair.py?rev=17087&r1=17086&r2=17087&view=diff ============================================================================== --- branches/interatomic/generic_fns/dipole_pair.py (original) +++ branches/interatomic/generic_fns/dipole_pair.py Thu Jun 28 11:59:59 2012 @@ -308,25 +308,25 @@ for i in range(len(spin1.pos)): vector_list.append(spin2.pos[i] - spin1.pos[i]) + # Unit vectors. + for i in range(len(vector_list)): + # Normalisation factor. + norm_factor = norm(vector_list[i]) + + # Test for zero length. + if norm_factor == 0.0: + warn(RelaxZeroVectorWarning(id)) + + # Calculate the normalised vector. + else: + vector_list[i] = vector_list[i] / norm_factor + # Average. if ave: ave_vector = zeros(3, float64) for i in range(len(vector_list)): - ave_vector += vector_list[i] + ave_vector = ave_vector + vector_list[i] vector_list = [ave_vector / len(vector_list)] - - # Unit vectors. - for i in range(len(vector_list)): - # Normalisation factor. - norm_factor = norm(vector_list[i]) - - # Test for zero length. - if norm_factor == 0.0: - warn(RelaxZeroVectorWarning(id)) - - # Calculate the normalised vector. - else: - vector_list[i] = vector_list[i] / norm_factor # Convert to a single vector if needed. if len(vector_list) == 1: