Workflow#
Phono3py calculate phonon-phonon interaction related properties. Diagram shown below illustrates workflow of lattice thermal conductivity (LTC) calculation. The other properties such as spectral function can be calculated in similar workflow.
The LTC calculation is performed by the following three steps:
Calculation of supercell-force sets (force-sets)
Calculation of force constants (FC)
Calculation of lattice thermal conductivity (LTC)
Users will call phono3py at each step with at least unit cell and supercell matrix, which define the supercell model, as inputs.
In the first step, supercell and sets of atomic displacements are generated, where we call the sets of the displacements as “displacement dataset”. Supercells with displacements are built from them. Then forces of the supercell models are calculated using a force calculator such as first-principles calculation code, which we call “force sets”.
In the second step, second and third order force constants (fc2 and fc3) are computed from the displacement datasets and force sets obtained in the first step.
In the third step, the force constants obtained in the second step are used to calculate lattice thermal conductivity. When the input unit cell is not a primitive cell, primitive cell matrix is required to be given. Long-range dipole-dipole interaction can be included when parameters for non-analytical term correction (NAC) are provided.
flowchart TD
UC(["Unit cell"])
SM(["Supercell matrix"])
PCM(["Primitive cell matrix<br/>(auto)"])
NAC(["Non-analytical term<br/>correction parameters<br/>(recommended)"])
NACOPT(["Non-analytical term<br/>correction parameters<br/>(optional)"])
DD(["Displacement dataset"])
SC(["Supercell"])
SFS(["Supercell-force sets"])
FC(["Force constants<br/>(fc2, fc3)"])
LTC(["Lattice thermal<br/>conductivity"])
INIT_FS["phono3py-init<br/>(displacements)"]
INIT_FC["phono3py-init<br/>(FORCES_FCx)"]
RUN["phono3py<br/>(LTC)"]
FCALC{{"Force calc."}}
FCCALC{{"Force-constants calc."}}
UC --> INIT_FS
SM --> INIT_FS
PCM --> INIT_FS
NAC --> INIT_FS
INIT_FS --> SC
INIT_FS --> DD
SC --> FCALC
DD --> FCALC
FCALC --> SFS
DD --> INIT_FC
SFS --> INIT_FC
INIT_FC --> FCCALC
FCCALC --> FC
UC --> RUN
SM --> RUN
NACOPT --> RUN
FC --> RUN
RUN --> LTC
classDef init fill:#dae8fc,stroke:#6c8ebf,color:#000
classDef run fill:#d5e8d4,stroke:#82b366,color:#000
classDef ext fill:#ffe6cc,stroke:#d79b00,color:#000
class INIT_FS,INIT_FC init
class RUN run
class FCALC,FCCALC ext
Blue boxes are phono3py-init steps (setup), the green box is the
phono3py lattice-thermal-conductivity step, and orange hexagons are
external force calculators.