Coverage for gpaw/cluster.py: 79%
24 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-09 00:21 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-09 00:21 +0000
1"""Extensions to the ase Atoms class
3"""
4from ase import Atoms
5from ase.build.connected import connected_indices
6from ase.utils import deprecated
8from .utilities.adjust_cell import adjust_cell
11class Cluster(Atoms):
12 """A class for cluster structures
13 to enable simplified manipulation"""
15 def __init__(self, *args, **kwargs):
17 self.data = {}
19 if len(args) > 0:
20 filename = args[0]
21 if isinstance(filename, str):
22 self.read(filename, kwargs.get('filetype'))
23 return
24 else:
25 Atoms.__init__(self, [])
27 if kwargs.get('filename') is not None:
28 filename = kwargs.pop('filename')
29 Atoms.__init__(self, *args, **kwargs)
30 self.read(filename, kwargs.get('filetype'))
31 else:
32 Atoms.__init__(self, *args, **kwargs)
34 @deprecated(
35 'Please use connected_indices from ase.build.connected instead.')
36 def find_connected(self, index, dmax=None, scale=1.5):
37 """Find atoms connected to self[index] and return them."""
38 return self[connected_indices(self, index, dmax, scale)]
40 @deprecated(
41 'Please use adjust_cell from gpaw.utilities.adjust_cell instead.')
42 def minimal_box(self, border=4, h=None, multiple=4) -> None:
43 adjust_cell(self, border, h, multiple)