Skip to content

Commit bfa59bb

Browse files
authored
Add files via upload
1 parent 9c963b6 commit bfa59bb

1 file changed

Lines changed: 15 additions & 41 deletions

File tree

multioptpy/neb.py

Lines changed: 15 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1053,49 +1053,23 @@ def align_geometry_by_image_distance(geometry_list, spacing_dist=None, max_itera
10531053
backward_distance = abs(np.linalg.norm(backward_geom_centered - prev_geom_centered) - target_distance)
10541054
backward_satisfies_tolerance = backward_distance < tolerance
10551055

1056-
# If both satisfy tolerance, check distance from initial geometry
1056+
# If both satisfy tolerance, choose forward (later in path) direction
10571057
if forward_satisfies_tolerance and backward_satisfies_tolerance:
1058-
initial_geom_centered = initial_geom - np.mean(initial_geom, axis=0)
1059-
forward_to_initial = np.linalg.norm(forward_geom_centered - initial_geom_centered)
1060-
backward_to_initial = np.linalg.norm(backward_geom_centered - initial_geom_centered)
1061-
1062-
# If forward is closer to initial and within node_distance, choose forward
1063-
if forward_to_initial <= node_distance:
1064-
current_geom = forward_geom
1065-
current_segment = forward_segment
1066-
current_t = forward_t
1067-
# If backward is within node_distance, choose backward
1068-
elif backward_to_initial <= node_distance:
1069-
current_geom = backward_geom
1070-
current_segment = backward_segment
1071-
current_t = backward_t
1072-
# If both are too far from initial, keep initial geometry
1073-
else:
1074-
current_geom = initial_geom
1058+
current_geom = forward_geom
1059+
current_segment = forward_segment
1060+
current_t = forward_t
10751061
break # Exit iteration as we found satisfactory result
10761062

1077-
# If only one satisfies tolerance, check distance from initial geometry
1063+
# If only one satisfies tolerance, choose that one
10781064
elif forward_satisfies_tolerance:
1079-
initial_geom_centered = initial_geom - np.mean(initial_geom, axis=0)
1080-
forward_to_initial = np.linalg.norm(forward_geom_centered - initial_geom_centered)
1081-
1082-
if forward_to_initial <= node_distance:
1083-
current_geom = forward_geom
1084-
current_segment = forward_segment
1085-
current_t = forward_t
1086-
else:
1087-
current_geom = initial_geom
1065+
current_geom = forward_geom
1066+
current_segment = forward_segment
1067+
current_t = forward_t
10881068
break
10891069
elif backward_satisfies_tolerance:
1090-
initial_geom_centered = initial_geom - np.mean(initial_geom, axis=0)
1091-
backward_to_initial = np.linalg.norm(backward_geom_centered - initial_geom_centered)
1092-
1093-
if backward_to_initial <= node_distance:
1094-
current_geom = backward_geom
1095-
current_segment = backward_segment
1096-
current_t = backward_t
1097-
else:
1098-
current_geom = initial_geom
1070+
current_geom = backward_geom
1071+
current_segment = backward_segment
1072+
current_t = backward_t
10991073
break
11001074

11011075
# If neither satisfies tolerance, keep initial geometry
@@ -1110,10 +1084,10 @@ def align_geometry_by_image_distance(geometry_list, spacing_dist=None, max_itera
11101084
# Use last node from input
11111085
new_geometry_list.append(geometry_list[-1])
11121086

1113-
new_path_length_list = calc_path_length_list(new_geometry_list)
1087+
#new_path_length_list = calc_path_length_list(new_geometry_list)
11141088
#print("Path length list (after the process) : ", new_path_length_list)
1115-
print("Distances between nodes:")
1116-
for x in range(len(new_path_length_list)-1):
1117-
print(new_path_length_list[x+1]-new_path_length_list[x])
1089+
#print("Distances between nodes:")
1090+
#for x in range(len(new_path_length_list)-1):
1091+
# print(new_path_length_list[x+1]-new_path_length_list[x])
11181092

11191093
return new_geometry_list

0 commit comments

Comments
 (0)