Author: bugman
Date: Wed Oct 22 10:08:50 2014
New Revision: 26335
URL: http://svn.gna.org/viewcvs/relax?rev=26335&view=rev
Log:
Modified the interatom.unit_vectors user function backend to handle missing
atomic positions.
This is to match the structure.load_spins user function change whereby missing
atomic positions are
now set to the value of None.
Modified:
trunk/pipe_control/interatomic.py
Modified: trunk/pipe_control/interatomic.py
URL:
http://svn.gna.org/viewcvs/relax/trunk/pipe_control/interatomic.py?rev=26335&r1=26334&r2=26335&view=diff
==============================================================================
--- trunk/pipe_control/interatomic.py (original)
+++ trunk/pipe_control/interatomic.py Wed Oct 22 10:08:50 2014
@@ -742,10 +742,20 @@
# Calculate all vectors.
vector_list = []
for i in range(len(spin1.pos)):
- vector_list.append(spin2.pos[i] - spin1.pos[i])
+ # No structural information.
+ if spin1.pos[i] == None or spin2.pos[i] == None:
+ vector_list.append(None)
+
+ # All data is present.
+ else:
+ vector_list.append(spin2.pos[i] - spin1.pos[i])
# Unit vectors.
for i in range(len(vector_list)):
+ # No vector.
+ if vector_list[i] == None:
+ continue
+
# Normalisation factor.
norm_factor = norm(vector_list[i])
@@ -760,9 +770,12 @@
# Average.
if ave:
ave_vector = zeros(3, float64)
+ count = 0
for i in range(len(vector_list)):
- ave_vector = ave_vector + vector_list[i]
- vector_list = [ave_vector / len(vector_list)]
+ if vector_list[i] != None:
+ ave_vector = ave_vector + vector_list[i]
+ count += 1
+ vector_list = [ave_vector / count]
# Convert to a single vector if needed.
if len(vector_list) == 1:
@@ -774,7 +787,7 @@
# We have a vector!
no_vectors = False
- # Print out.
+ # Printout.
num = 1
if not is_float(vector_list[0], raise_error=False):
num = len(vector_list)
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
[email protected]
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