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
4class Calculator:
5 "Deprecated!!!!"
6 def __init__(self):
7 return
9 def set_atoms(self, atoms):
10 self.atoms = atoms.copy()
12 def get_atoms(self):
13 atoms = self.atoms.copy()
14 atoms.calc = self
15 return atoms
17 def get_name(self):
18 """Return the name of the calculator (string). """
19 return self.name
21 def get_version(self):
22 """Return the version of the calculator (string). """
23 raise NotImplementedError
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
32 def get_forces(self, atoms):
33 self.update(atoms)
34 return self.forces
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
43 def initialize(self, atoms):
44 """Prepare the input files required to
45 start the program (calculator). """
46 raise NotImplementedError
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