Exemple #1
0
def struct_from_sgnum(sgnum: int,
                      scale: float,
                      lattice_vectors: Union[List[List[float]],
                                             numpy.ndarray] = None,
                      init_coords: Union[List[List[float]],
                                         numpy.ndarray] = None,
                      species: List[str] = None) -> IStructure:
    if init_coords is None:
        init_coords = [[0, 0, 0]]
    if lattice_vectors is None:
        lattice_vectors = [[0, 0, 1], [0, 1, 0], [1, 0, 0]]
    if species is None:
        species = ["Si"] * len(init_coords)

    lattice = Lattice(
        [x * scale for vector in lattice_vectors for x in vector])
    structure = IStructure.from_spacegroup(sgnum, lattice, species,
                                           init_coords)
    return structure.get_primitive_structure()