Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from ase.calculators.calculator import PropertyNotImplementedError 

2 

3 

4class Calculator: 

5 "Deprecated!!!!" 

6 def __init__(self): 

7 return 

8 

9 def set_atoms(self, atoms): 

10 self.atoms = atoms.copy() 

11 

12 def get_atoms(self): 

13 atoms = self.atoms.copy() 

14 atoms.calc = self 

15 return atoms 

16 

17 def get_name(self): 

18 """Return the name of the calculator (string). """ 

19 return self.name 

20 

21 def get_version(self): 

22 """Return the version of the calculator (string). """ 

23 raise NotImplementedError 

24 

25 def get_potential_energy(self, atoms, force_consistent=False): 

26 self.update(atoms) 

27 if force_consistent: 

28 return self.energy_free 

29 else: 

30 return self.energy_zero 

31 

32 def get_forces(self, atoms): 

33 self.update(atoms) 

34 return self.forces 

35 

36 def get_stress(self, atoms): 

37 self.update(atoms) 

38 if self.stress is not None: 

39 return self.stress 

40 else: 

41 raise PropertyNotImplementedError 

42 

43 def initialize(self, atoms): 

44 """Prepare the input files required to 

45 start the program (calculator). """ 

46 raise NotImplementedError 

47 

48 def read(self, atoms): 

49 self.positions = atoms.get_positions() 

50 self.energy_free, self.energy_zero = self.read_energy() 

51 self.forces = self.read_forces(atoms) 

52 self.dipole = self.read_dipole() 

53 self.fermi = self.read_fermi() 

54 self.atoms = atoms.copy() 

55 try: 

56 self.nbands = self.read_nbands() 

57 except (NotImplementedError, AttributeError): 

58 pass 

59 try: 

60 self.stress = self.read_stress() 

61 except PropertyNotImplementedError: 

62 self.stress = None