Statistiques
| Révision :

root / ase / calculators / general.py @ 1

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

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