Skip to content

Commit e24a51e

Browse files
committed
slab mode decupling site_df detection from manifold face/vert ops (non-ort slabs)
1 parent f597cb8 commit e24a51e

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

autoadsorbate/Surf.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,8 @@ def get_shrinkwrap_grid(
311311
slab = slab[raster_surf_index]
312312

313313
starting_grid, faces = _get_starting_grid(slab, precision=precision)
314-
grid_positions = starting_grid.positions
314+
# grid_positions = starting_grid.positions
315+
grid_positions = starting_grid.arrays['wrapped_positions']
315316
large_slab = get_large_atoms(slab)
316317
slab_positions = large_slab.positions
317318

@@ -328,13 +329,17 @@ def get_shrinkwrap_grid(
328329
grid_positions[:, 2] <= 0
329330
).all():
330331
break
332+
new_grid_positions = starting_grid.positions
333+
new_grid_positions[:,2] = grid_positions[:,2]
331334

332335
grid = Atoms(
333336
[marker for _ in grid_positions],
334-
grid_positions,
337+
new_grid_positions,
335338
pbc=[True, True, True],
336339
cell=slab.cell,
337340
)
341+
grid.arrays['wrapped_positions'] = grid_positions
342+
338343
grid = grid[[atom.index for atom in grid if atom.position[2] > 0]]
339344

340345
return grid, faces
@@ -356,7 +361,8 @@ def shrinkwrap_surface(
356361
grid_shrinkwrapped, _ = get_shrinkwrap_grid(
357362
slab, precision, touch_sphere_size=touch_sphere_size - 0.2
358363
)
359-
grid_positions = grid_shrinkwrapped.positions
364+
grid_positions = grid_shrinkwrapped.arrays['wrapped_positions']
365+
# grid_positions = grid_shrinkwrapped.positions
360366
slab_positions = slab.positions
361367

362368
distances_to_grid = cdist(slab_positions, grid_positions).min(axis=1)
@@ -1334,6 +1340,11 @@ def max_cell_range(cell):
13341340
positions
13351341
)
13361342

1343+
grid.cell = atoms.cell
1344+
grid_copy = grid.copy()
1345+
grid_copy.wrap()
1346+
grid.arrays['wrapped_positions'] = grid_copy.positions
1347+
13371348
# Map vertices to 2D grid indices for face creation
13381349
nx, ny = len(x_coords), len(y_coords)
13391350
faces = []

0 commit comments

Comments
 (0)