从表面活性剂结构对象中提取坐标和原子类型

时间:2019-06-18 08:13:14

标签: pymatgen

例如,提取原子坐标列表[[x1,y1,z1],[x2,y2,z2],...]和原子种类列表的语法是什么。 pymatgen结构对象中的[1,1,1,1,...]?

2 个答案:

答案 0 :(得分:0)

这是一个很老的问题,但是如果您(或其他人)需要答案,它会如下所示:

from pymatgen.core.structure import Structure, Lattice

structure = Structure(lattice, atoms, coords)#some structure

coordinates = []
species = []

for s in structure:
        coordinates.append(s.coords) #cartesian coordinates
        #coordinates.append(s.frac_coords) #would give fractional coordinates instead
        species.append(s.specie.Z)
        #species.append(s.specie) #would give strings (e.g. "Fe") instead of atomic number

print(coordinates)
print(species)

答案 1 :(得分:0)

从pymatgen导入结构对象

from pymatgen import Structure

从.cif文件读取cif结构

structure_from_cif = Structure.from_file('mp-773116La20S29O.cif')

获取坐标

cartesian_coords = structure_from_cif.cart_coords

要获取该物种,您可以执行以下操作

for i in structure_from_cif.species:
    print(i)