主要读取Vasp POSCAR文件和Vasp力常数文件
从测试文件入手:test_vasp.py
我们发现,力常数矩阵从xml文件读取
这里的代码在vasp.py中,全部逻辑1000多行,全部都是一些hard code的工作。比较无聊。
Phonopy读取原子结构信息,以及力常数矩阵,然后在此基础上得到动力学矩阵,对角化动力学矩阵得到声子谱,从而得到系统的声子信息。
下面是主要的API class,所有的API信息都存在这一个class中。
class Phonopy(object):
"""Phonopy main API given as a class.
Attributes
----------
version : str
unitcell : PhonopyAtoms
primitive : Primitive
supercell : Supercell
symmetry : Symmetry
Symmetry of supercell.
primitive_symmetry : Symmetry
Symmetry of primitive cell.
supercell_matrix : ndarray
shape=(3, 3), dtype='intc', order='C'.
primitive_matrix : ndarray
shape=(3, 3), dtype='double', order='C'.
unit_conversion_factor : float
Phonon frequency unit conversion factor.
calculator : str
dataset : dict
displacements : ndarray or list of list (getter) and array-like (setter).
forces : ndarray (getter) or array_like (setter).
force_constants : ndarray (getter) and array_like (setter).
nac_params : dict
supercells_with_displacements : list of PhonopyAtoms.
dynamical_matrix : DynamicalMatrix
qpoints : QpointsPhonon
band_structure : BandStructure
mesh : Mesh or IterMesh
thermal_properties : ThermalProperties
thermal_displacements : ThermalDisplacements
thermal_displacement_matrix : ThermalDisplacementMatrices
random_displacements : RandomDisplacements
dynamic_structure_factor : DynamicStructureFactor.
irreps : IrReps
moment : PhononMoment
total_dos : TotalDos
"""