ShengBTE is a software package for computing the lattice thermal conductivity of crystalline bulk materials and nanowires with diffusive boundary conditions. It is based on a full iterative solution to the Boltzmann transport equation. Its main inputs are sets of second- and third-order interatomic force constants, which can be calculated using third-party
ab-initio packages. Dirac delta distributions arising from conservation of energy are approximated by Gaussian functions. A locally adaptive algorithm is used to determine each process-specific broadening parameter, which renders the method fully parameter free. The code is free software, written in Fortran and parallelized using MPI. A complementary Python script to help compute third-order interatomic force constants from a minimum number of
ab-initio calculations, using a real-space finite-difference approach, is also publicly available for download. Here we discuss the design and implementation of both pieces of software and present results for three example systems: Si, InAs and lonsdaleite.
Program summary
Program title: ShengBTE
Catalogue identifier: AESL_v1_0
Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AESL_v1_0.html
Program obtainable from: CPC Program Library, Queen’s University, Belfast, N. Ireland
Licensing provisions: GNU General Public License, version 3
No. of lines in distributed program, including test data, etc.: 292 052
No. of bytes in distributed program, including test data, etc.: 1 989 781
Distribution format: tar.gz
Programming language: Fortran 90, MPI.
Computer: Non-specific.
Operating system: Unix/Linux.
Has the code been vectorized or parallelized?: Yes, parallelized using MPI.
RAM: Up to several GB
Classification: 7.9.
External routines: LAPACK, MPI, spglib (http://spglib.sourceforge.net/)
Nature of problem:
Calculation of thermal conductivity and related quantities, determination of scattering rates for allowed three-phonon processes
Solution method:
Iterative solution, locally adaptive Gaussian broadening
Running time:
Up to several hours on several tens of processors