Esempio n. 1
0
    def __init__(
            self,
            symbol,
            name=DEFAULT,
            identifiers=tuple(),
            added_atoms=DEFAULT,
            periodicity=tuple(tuple()),
            charge=0,
            initial_state=DEFAULT,
            parameters=DEFAULT,
            ):
        self.__name = name
        surface = Diamond001(symbol)
        if initial_state is DEFAULT:
            initial_state = self.defaultInitialState()

        Diamond001Defect.__init__(self, name)
        SurfaceLineDefect.__init__(self,
                        surface,
                        name=name,
                        identifiers=identifiers,
                        added_atoms=added_atoms,
                        charge=charge,
                        periodicity=periodicity,
                        initial_state=initial_state,
                        parameters=parameters,
                        )
Esempio n. 2
0
 def __init__(self):
     surface = Ge001()
     identifiers=[(2, (0, 0)), (3, (0, 0)), ]
     periodicity = [[0, 1]]
     defect = SurfaceLineDefect(surface=surface, identifiers=identifiers, periodicity=periodicity)
     pos1 = defect.removedAtoms().get_positions().mean(0) + np.array([3,0,1])
     added_atoms = Atoms('Ag', [pos1])
     SurfaceLineDefect.__init__(self, surface=Ge001(),
                     identifiers=identifiers,
                     added_atoms=added_atoms,
                     periodicity=periodicity,
                     )
Esempio n. 3
0
 def __init__(self):
     surface = Ge001()
     identifiers=[1, 2,  3, ]
     periodicity = [[0, 1]]
     defect = SurfaceLineDefect(surface=surface, identifiers=identifiers, periodicity=periodicity)
     pos1 = defect.removedAtoms().get_positions()[0]
     added_atoms = Atoms('Ag', [pos1])
     SurfaceLineDefect.__init__(self, surface=Ge001(),
                     identifiers=identifiers,
                     added_atoms=added_atoms,
                     periodicity=periodicity,
                     )
Esempio n. 4
0
 def __init__(self):
     surface = Ge001()
     identifiers=[(3, (0, 0)), (2, (1, 0)), (3, (0, 1)), (2, (1, 1))]
     periodicity = [[0, 2]]
     defect = SurfaceLineDefect(surface=surface, identifiers=identifiers, periodicity=periodicity)
     positions = defect.removedAtoms().get_positions()
     added_atoms = Atoms('Ag3', [[-1.3,-1.6, 1.1], [-1.3, 1.6, 1.1],[1.3, 0, 1.1]])
     SurfaceLineDefect.__init__(self, surface=Ge001(),
                     identifiers=identifiers,
                     added_atoms=added_atoms,
                     periodicity=periodicity,
                     )
Esempio n. 5
0
 def __init__(self):
     surface = Ge001()
     identifiers=[(2, (0, 0)), (3, (0, 0)), (-1, (0, 0))]
     periodicity = [[0, 1]]
     defect = SurfaceLineDefect(surface=surface, identifiers=identifiers, periodicity=periodicity)
     pos = defect.removedAtoms().get_positions()[-1]
     added_atoms = Atoms('Ag', [pos])
     SurfaceLineDefect.__init__(self, surface=Ge001(),
                     identifiers=identifiers,
                     added_atoms=added_atoms,
                     periodicity=periodicity,
                     )
Esempio n. 6
0
 def __init__(self):
     surface = Ge001()
     identifiers=[(3, (0, 0)), (2, (1, 0)), (3, (0, 1)), (2, (1, 1))]
     periodicity = [[0, 2]]
     defect = SurfaceLineDefect(surface=surface, identifiers=identifiers, periodicity=periodicity)
     pos = defect.removedAtoms('orth_defect').positions.mean(0)
     vector = defect.cell()[0]
     pos = np.array([pos + vector*(i/3.0) for i in range(3)])
     added_atoms = Atoms('Ag3', pos)
     SurfaceLineDefect.__init__(self, surface=Ge001(),
                     identifiers=identifiers,
                     added_atoms=added_atoms,
                     periodicity=periodicity,
                     )
Esempio n. 7
0
    def name(self):
        if self.__name is DEFAULT:
            name = self.symbol()
            name += SurfaceLineDefect.name(self)
            init = self.initialState()
            if init != self.defaultInitialState():
                name = join(name, init.name())
        else:
            name = self.__name

        return name