Search code examples
pyiron

How to choose the mesh for phonon calculation with PyIron


I would like to calculate phonon density of states and band structure with pyiron, using the phononpy package. I created a job, following the tutorial:

phono = pr.create_job(pr.job_type.PhonopyJob,"pDOS")

I can run this job, but it takes a lot of time because the mesh is too dense. Is there a way of choosing the mesh I would like to work with ?

Also, I would like to calculate phonon band structure for a given path, is it possible with pyiron ?


Solution

  • You can specify the input in:

    phono.input
    

    Here you can set the mesh as:

    phono.input["dos_mesh"]
    

    Best,

    Jan

    To address the comment regarding the band structure - you can use the phonopy API directly:

    bands = []
    q_start  = np.array([0.5, 0.5, 0.0])
    q_end    = np.array([0.0, 0.0, 0.0])
    band = []
    for i in range(51):
        band.append(q_start + (q_end - q_start) / 50 * i)
    bands.append(band)
    
    q_start  = np.array([0.0, 0.0, 0.0])
    q_end    = np.array([0.5, 0.0, 0.0])
    band = []
    for i in range(51):
        band.append(q_start + (q_end - q_start) / 50 * i)
    bands.append(band)
    
    phon.phonopy.set_band_structure(bands)
    phon.phonopy.plot_band_structure().show()