![]() |
AlmaBTE
1.3
A solver of the space- and time-dependent Boltzmann transport equation for phonons
|
almaBTE consists of a library and a collection of executables allowing the user to calculate thermal transport properties of heterogeneous structures, using only ab-initio data, and solving the phonon Boltzmann Transport Equation (BTE).
Features of almaBTE 1.3 include
Supports a variety of material types
Enables steady-state transport simulations in multiscale structures
Enables transient transport simulations in bulk systems
almaBTE includes all the capabilities of ShengBTE for single crystals (but in a fully new implementation with more efficient solution algorithms). almaBTE is fully written in C++ and freely distributed as open source under Apache 2.0 License.
almaBTEalmaBTE relies on several external libraries (hdf5, boost and openMPI) that must be installed before compiling the main program. Detailed instructions for each supported operating system can be found below.
The following instructions have been tried on Ubuntu 16.10, freshly installed from the official AMD64 desktop image. They should be easily trasferable to other Debian-based distributions, and provide useful hints as to the required packages for other Linux systems.
From a terminal window, run this command:
You will be asked for your password. The system will then download and install all required dependencies.
Move into the directory containing the almaBTE source code and run the following commands:
almaBTEFrom the build directory, run the following command:
Note: you can speed up the process with parallel compilation. For example, if your CPU has 4 cores, you can use
almaBTE can run a series of test to check that the main modules work correctly on your system. To do so, run the following command from the build directory:
almaBTE executables to your $PATH so they can be run from any directoryOpen ~/.bashrc in a text editor and add the following line:
where <alma_dir> must be replaced by the location of the main alma directory, for example /home/my_user/alma. After saving this change, reload the file with source ~/.bashrc or by opening a new shell.
almaBTE requires OS X Yosemite (10.10.5) or higher.
To begin the installation, open a Terminal window and perform the following steps.
Xcode command line toolsFrom the terminal window, type
A popup will appear, click Install and follow the graphic prompts.
Xcode development environmentObtain the current version of Xcode from the Mac App Store. You must have/create an Apple iTunes account to do so, but the download (about 4.5 GB, allow up to 2 hours) is free of charge. Xcode is required for correct functioning of Homebrew and proper compilation of almaBTE.
Once the download and installation are complete, open Xcode from the Applications folder. Accept the License Agreement, then close Xcode again.
Homebrew package managerReturn to the Terminal window and type
cmake command line toolsHDF5 librariesboost and openMPI librariesalmaBTENavigate to the alma main folder and execute the following
Note: you can speed up the process with parallel compilation. For example, if your CPU has 4 cores, you can use
almaBTE components function properlyRun the series of self-tests by executing
almaBTE executables to your $PATH so they can be run from any directoryIn the file, add the following line
where <alma_dir> must be replaced by the location of the main alma directory, for example /Users/my_user_name/alma. Save the file using ctrl-O followed by enter, and close the editor with ctrl-X.
Finally, end the session by typing
and close the Terminal window.
almaBTEThe workflow for performing thermal computations with almaBTE is graphically illustrated in the figure below (click for large version) and typically consists of the following two steps.
In this step you will use VCAbuilder and/or superlattice_builder. These executables use ab-initio source files (downloadable from our online materials database) to determine the phonon dispersions, group velocities, and scattering matrix for three-phonon processes. The phonon properties are computed over a discrete wavevector grid with user-supplied resolution and stored in <material>.h5 files (hdf5 format). For superlattices, the file also contains the phonon scattering rates induced by mass disorder and barriers.
The hdf5 files only need to be created one single time for each material with a given grid resolution.
For this step a variety of executables are available, each dedicated to perform specific simulations on bulk systems, thin films, and multilayer structures.
Thanks to the previously created hdf5 repository, phonon properties of the constituting compounds do not have to be recomputed but can simply be loaded from the files.
The structure geometry and computational settings are controlled by the user via xml input files.
almaBTE: Overview of each executableBelow follows a brief description of the executables.
Executables marked with [mpi] are parallellised; speed up execution by running them on multiple cores.
For a detailed illustration of the xml input syntax and generated outputs, please refer to the xml examples manual .
VCAbuilder [mpi] This executable builds hdf5 phonon property files for bulk materials.
[Required] xml input file describing the desired material and grid resolution.
Several types of materials are supported:
<singlecrystal> (e.g. Si, GaAs, InAs, GaN, ...)<alloy> (e.g. Si0.5Ge0.5, In0.53Ga0.47As, ...)<parametricalloy> Automatic batch creation of alloy families (e.g. Si1-xGex, InxGa1-xAs)[Required] ab-initio source files downloadable from our online materials database
_metadataPOSCARFORCE_CONSTANTSFORCE_CONSTANTS_3RDBORN *(polar compounds only)*Alloy creation requires ab-initio files for each constituting compound, for example generation of In0.53Ga0.47As needs files for InAs and GaAs.
h5 file(s) for the specified material(s)
superlattice_builder [mpi] This executable builds hdf5 phonon property files for superlattices.
[Required] xml input file describing the desired superlattice and grid resolution.
The superlattice is described in terms of its two consituting compounds, and the atomic concentration profile of a single period. (For details see the examples.)
[Required] ab-initio source files for the constituting compounds (see VCAbuilder).
h5 file for the specified superlattice.
phononinfo This executable writes phonon information associated with a previously generated h5 file to a tabulated data file.
[Required] Path to a previously generated h5 file for the material of interest.
[Optional] Ambient temperature. Set to 300K when omitted.
Comma-separated data file (including a single-line header) with extension .phononinfo containing the following phonon properties:
kappa_TsweepThis executable computes the thermal conductivity tensor and volumetric heat capacity of bulk media as a function of ambient temperature.
[Required] xml input file specifying the material of interest and desired temperature sweep.
[Required] previously generated h5 file for the material of interest
csv file containing the thermal properties
cumulativecurvesThis executable computes the contribution of different phonons to bulk thermal conductivity and heat capacity at a given temperature.
[Required] xml input file specifying the material of interest, thermal transport axis, and desired quantities.
The phonon contributions to thermal conductivity and capacity can be resolved by a variety of properties:
[Required] previously generated h5 file for the material of interest
[Optional] Ambient temperature. Set to 300K when omitted.
File(s) in csv format containing the requested cumulative quantities.
kappa_crossplanefilmsThis executable performs semi-analytic computation of the cross-plane apparent conductivity in thin films as a function of thickness at a given temperature. The program is also capable to provide a compact parametric fitting to the computed conductivity curve.
[Required] xml input file specifying the material of interest, film orientation, and desired thickness sweep
[Required] previously generated h5 file for the material of interest
[Optional] Ambient temperature. Set to 300K when omitted.
File in csv format containing the film conductivity, and optionally another csv file containing the parametric model parameters and curve.
kappa_inplanefilmsThis executable performs semi-analytic computation of in-plane apparent conductivity in thin films as a function of thickness at a given temperature.
[Required] xml input file specifying the material of interest, film orientation, and desired thickness sweep
[Required] previously generated h5 file for the material of interest
[Optional] Ambient temperature. Set to 300K when omitted.
File in csv format containing the film conductivity
steady_montecarlo1d [mpi]This executable performs variance-reduced Monte Carlo simulations of one-dimensional transport in thin films and multilayer structures embedded between two isothermal reservoirs.
[Required] xml input file specifying the structure geometry, materials, and simulation settings
The following quantities will be computed by default:
Upon user request, the program will also determine heat flux resolved by phonon frequency at user-specified locations.
[Required] previously generated h5 files for all materials present in the structure
[Optional] Ambient temperature. Set to 300K when omitted.
csv file containing the computed temperature profile
txt file containing the thermal metrics
Optionally: csv files of spectrally resolved heat flux profiles
steady_montecarlo1d_powersource [mpi]This executable performs variance-reduced Monte Carlo simulations of one-dimensional transport in thin films and multilayer structures with a planar power source at the top and ideal heat sink at the bottom.
[Required] xml input file specifying the structure geometry, materials, and simulation settings
The following quantities will be computed by default:
Upon user request, the program will also determine heat flux resolved by phonon frequency at user-specified locations.
[Required] previously generated h5 files for all materials present in the structure
[Optional] Ambient temperature. Set to 300K when omitted.
csv file containing the computed temperature profile
txt file containing the thermal metrics
Optionally: csv files of spectrally resolved heat flux profiles
transient_analytic1dThis executable computes semi-analytic solutions of the one-dimensional time-dependent BTE in bulk media at a given temperature.
[Required] xml input file specifying the material of interest, the thermal transport axis, and the desired time sweeps.
Several quantities of interest can be computed:
1 Time values must exceed characteristic phonon relaxation times.
[Required] previously generated h5 file for the material of interest
[Optional] Ambient temperature. Set to 300K when omitted.
File(s) in csv format containing the requested transient solution(s)