Esempio n. 1
0
    def calculate(self,
                  atoms=None,
                  properties=['energy'],
                  system_changes=all_changes
                  ):
        #self.write_input(atoms=atoms, properties=properties, system_changes=system_changes)

        electrodes = self.make_electrodes(atoms=atoms)

        for electrode in electrodes:
            calculator = electrode.get_calculator()
            ASESIESTA.calculate(calculator, atoms=electrode, properties=['energy'])

        ASESIESTA.calculate(self, atoms=atoms, properties=properties, system_changes=system_changes)
Esempio n. 2
0
    def write_input(self, atoms, properties=None, system_changes=None):
        result = ASESIESTA.write_input(self, atoms=atoms, properties=properties, system_changes=system_changes)

        if len(atoms.electrodes())>0:
            runfile = self.label + '.fdf'
            self.writeTS(runfile, atoms)

        return result