Coverage for gpaw/cluster.py: 79%

24 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2025-07-09 00:21 +0000

1"""Extensions to the ase Atoms class 

2 

3""" 

4from ase import Atoms 

5from ase.build.connected import connected_indices 

6from ase.utils import deprecated 

7 

8from .utilities.adjust_cell import adjust_cell 

9 

10 

11class Cluster(Atoms): 

12 """A class for cluster structures 

13 to enable simplified manipulation""" 

14 

15 def __init__(self, *args, **kwargs): 

16 

17 self.data = {} 

18 

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, []) 

26 

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) 

33 

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)] 

39 

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)