Statistiques
| Révision :

root / ase / calculators / general.py @ 16

Historique | Voir | Annoter | Télécharger (1,2 ko)

1 3 tkerber
class Calculator(object):
2 1 tkerber
    def __init__(self):
3 1 tkerber
        return
4 1 tkerber
5 1 tkerber
    def set_atoms(self, atoms):
6 1 tkerber
        self.atoms = atoms.copy()
7 1 tkerber
8 1 tkerber
    def get_atoms(self):
9 1 tkerber
        atoms = self.atoms.copy()
10 1 tkerber
        atoms.set_calculator(self)
11 1 tkerber
        return atoms
12 1 tkerber
13 1 tkerber
    def get_potential_energy(self, atoms, force_consistent=False):
14 1 tkerber
        self.update(atoms)
15 1 tkerber
        if force_consistent:
16 1 tkerber
            return self.energy_free
17 1 tkerber
        else:
18 1 tkerber
            return self.energy_zero
19 1 tkerber
20 1 tkerber
    def get_forces(self, atoms):
21 1 tkerber
        self.update(atoms)
22 1 tkerber
        return self.forces
23 1 tkerber
24 1 tkerber
    def get_stress(self, atoms):
25 1 tkerber
        self.update(atoms)
26 1 tkerber
        return self.stress
27 1 tkerber
28 1 tkerber
    def read(self, atoms):
29 1 tkerber
        self.positions = atoms.get_positions()
30 1 tkerber
        self.energy_free, self.energy_zero = self.read_energy()
31 1 tkerber
        self.forces = self.read_forces(atoms)
32 1 tkerber
        self.dipole = self.read_dipole()
33 1 tkerber
        self.fermi = self.read_fermi()
34 1 tkerber
        self.atoms = atoms.copy()
35 1 tkerber
        try:
36 1 tkerber
            self.nbands = self.read_nbands()
37 1 tkerber
        except NotImplementedError:
38 1 tkerber
            return
39 1 tkerber
        except AttributeError:
40 1 tkerber
            return
41 1 tkerber
        try:
42 1 tkerber
            self.stress = self.read_stress()
43 1 tkerber
        except NotImplementedError:
44 1 tkerber
            return
45 1 tkerber
        return