avoid numerical issues
This commit is contained in:
parent
734d936a78
commit
78a2941436
|
@ -702,14 +702,14 @@ class Symmetry:
|
||||||
v = np.array(vector,dtype=float)
|
v = np.array(vector,dtype=float)
|
||||||
if proper: # check both improper ...
|
if proper: # check both improper ...
|
||||||
theComponents = np.dot(basis['improper'],v)
|
theComponents = np.dot(basis['improper'],v)
|
||||||
inSST = np.all(theComponents >= 0.0)
|
inSST = np.all(np.around(theComponents,12) >= 0.0)
|
||||||
if not inSST: # ... and proper SST
|
if not inSST: # ... and proper SST
|
||||||
theComponents = np.dot(basis['proper'],v)
|
theComponents = np.dot(basis['proper'],v)
|
||||||
inSST = np.all(theComponents >= 0.0)
|
inSST = np.all(np.around(theComponents,12) >= 0.0)
|
||||||
else:
|
else:
|
||||||
v[2] = abs(v[2]) # z component projects identical
|
v[2] = abs(v[2]) # z component projects identical
|
||||||
theComponents = np.dot(basis['improper'],v) # for positive and negative values
|
theComponents = np.dot(basis['improper'],v) # for positive and negative values
|
||||||
inSST = np.all(theComponents >= 0.0)
|
inSST = np.all(np.around(theComponents,12) >= 0.0)
|
||||||
|
|
||||||
if color: # have to return color array
|
if color: # have to return color array
|
||||||
if inSST:
|
if inSST:
|
||||||
|
|
Loading…
Reference in New Issue