openmaterials.ai / codes / kALDo
kALDo: phonon transport in crystals and glasses from the same force constants
An anharmonic lattice dynamics code that solves the phonon Boltzmann equation for crystals and the quasi-harmonic Green-Kubo equations for disordered solids in one Python workflow.
What it is and how it works
One theory for order and disorder
Second and third order force constants feed both the Boltzmann equation, solved by RTA, iteration or inversion, and the quasi-harmonic Green-Kubo method for glasses and alloys beyond 1e4 atoms (Barbalinardo 2020).
Three BTE solvers
RTA, self-consistent iteration and direct inversion of the scattering matrix, quantum or classical statistics. RTA undershoots silicon by about 5% (Barbalinardo 2020).
QHGK for disordered solids
A real-space Green-Kubo sum over mode pairs with generalized velocities and lifetimes. It reduces to RTA in crystals and to Allen-Feldman with a fixed bandwidth.
Tensor algebra on GPU or CPU
The projection of the cubic potential on phonon modes runs as 2Nk(3N) tensor products of size (Nk 3N)^2, in NumPy and TensorFlow on CPU or GPU (Barbalinardo 2020).
Force constants from any code
Finite differences through any ASE calculator (DFT, tight binding, force fields), a native LAMMPS interface in USER-PHONON, or compressed-sensing fits from hiPhive.
Unfolding for large cells
When the cell exceeds twice the interaction range, kALDo computes forces inside the cell and unfolds them by periodic boundary conditions, cutting Nreplicas N atoms to N.
What people do with it
- 147W/m/K, silicon at 300 K, quantum BTE, inversionBarbalinardo 2020
- 17,000atoms in the QHGK Si-Ge clathrate alloy cellBarbalinardo 2020
- 9960W/m/K, (10,0) nanotube at 300 K, quantum BTEBarbalinardo 2021
Convergence of kappa in a carbon nanotube
For a (10,0) nanotube the BTE gives 9960 W/m/K with quantum statistics and 3190 classical at 300 K. The longest mean free path is 6 mm, so kappa converges only past 1 mm (Barbalinardo 2021). Barbalinardo 2021
Diffuson coherence in amorphous silicon
In a 4096-atom Stillinger-Weber a-Si model, kALDo gave the QHGK conductivity set against a coherence model in which diffuson clusters propagate up to a micron (Zhang 2022). Zhang 2022
AlN-SiC interface seen by EELS
Vibrational EELS resolves a temperature drop within about 2 nm of the interface. kALDo on a NEP force calculator gave the phonon eigenvectors for the modal analysis of NEMD cells (Liu 2025). Liu 2025
How it is used
Force constants
ForceConstants(calculator=...): .second and .third by finite differences through ASE.
Phonons
Phonons(temperature=...): frequencies, velocities, phase space, bandwidths, heat capacity.
Conductivity
Conductivity(method='rta', 'inverse' or 'qhgk'): conductivity, mean_free_path.
Modal analysis
Cumulative kappa against frequency or mean free path, participation_ratio, diffusivity.
What kALDo is
kALDo computes thermal conductivity from harmonic and anharmonic force constants. It solves the Boltzmann transport equation for crystals and applies the quasi-harmonic Green-Kubo method to disordered and amorphous systems. Both methods take the same inputs, so one code treats crystalline and glassy transport. It runs on GPUs through TensorFlow and accepts force constants from DFT and from interatomic potentials. On the map it serves phonon frequencies, lifetimes, mean free paths and the resulting conductivities.
WebsiteRepositoryOn the mapAll codesLicense: BSD-3-Clause
In more detail
Boltzmann transport in crystals
kALDo builds the dynamical matrix and the three-phonon scattering tensor from second and third order force constants on a supercell. It then solves the linearized BTE in the relaxation time approximation, by self-consistent iteration or by direct inversion of the scattering matrix. The iteration converges only when the off-diagonal part of the scattering matrix is smaller than the diagonal, so inversion is the reference when memory allows (Barbalinardo 2020). For diamond silicon with DFPT second-order constants from Quantum ESPRESSO, inversion with quantum statistics gives 147 W/m/K at 300 K, RTA about 5% less, the classical limit 123 W/m/K and Tersoff 305 (Barbalinardo 2020).
Quasi-harmonic Green-Kubo for disordered solids
QHGK writes the conductivity as a sum over pairs of modes with a generalized velocity and a generalized lifetime. It is a real-space method at the Gamma point and costs the same as BTE-RTA. In the Si116Ge20 type-II clathrate replicated 5x5x5 (17,000 atoms) it gives 31.0 W/m/K at 300 K, close to the BTE reference for the periodic alloy. Placing the Ge atoms at random over the 17,000-atom cell drops kappa to 1.7 W/m/K, a factor 200 below diamond silicon. Third-order splines interpolate the lifetimes for the large cell from a 3x3x3 cell of 3672 atoms (Barbalinardo 2020). Mode diffusivities show the loss builds up below 3 THz.
Numerics and scale
The expensive step is the projection of the third-order potential on phonon modes, which scales as (Nk 3N)^3. kALDo casts it as 2Nk(3N) tensor multiplications of size (Nk 3N)^2 for the BTE and (3N)^2 for QHGK, executed by NumPy and TensorFlow on multithreaded CPUs or GPUs. Memory is (3N)^2 numbers for QHGK, Nk(3N)^2 for RTA and Nk^2(3N)^2 for the full inversion. The energy-conserving delta is Gaussian, Lorentzian or triangular, and a frequency threshold stores the generalized velocity as a sparse tensor. Quasi-momentum conservation cuts the phonon state from (Nk 3N)^2 to 2Nk(3N)^2 entries (Barbalinardo 2020).
Interfaces and uses
Force constants come from any ASE calculator, from a native LAMMPS interface in the USER-PHONON package, or from hiPhive fits. The CNT study paired kALDo with GPUMD equilibrium MD and corrected finite-length BTE with the McKelvey-Shockley flux method, where the Matthiessen rule overestimates kappa for every length above 10 nm (Barbalinardo 2021). Zhang 2022 used kALDo for the QHGK reference in amorphous silicon (Zhang 2022). Liu 2025 ran kALDo on a neuroevolution potential to get eigenvectors for an AlN-SiC interface (Liu 2025). The code is on GitHub.
What it computes on the map
28 quantities, drawn by tier with the data flow between them. Dashed boxes are intermediate quantities. Select one for its formula and the other codes that compute it.
Embed this submap
<iframe src="https://openmaterials.ai/m/c56731602651/f7fe0fde880180?embed=1" title="kALDo on the OpenMaterials map" width="100%" height="480" loading="lazy" style="border:1px solid #EBEBEB;border-radius:6px"></iframe>
Each quantity with the interface the representation records.
- BareDynamicalMatrixHarmonicWithQ(q)._dynmat_fourier
- DielectricTensoratoms.info['dielectric']dimensionless
- DynamicalMatrixHarmonicWithQ(q).dynmat
- EigenvectorsPhonons.eigenvectors
- ForceConstants[order=2]ForceConstants.second.value
- ForceConstants[order=3]ForceConstants.third.valueeV_per_A3
- FrequencyPhonons.frequencylinear_THz
- GroupVelocityPhonons.velocityangstrom_linear_THz
- HeatCapacityPhonons.heat_capacityJ_per_K
- HelmholtzFreeEnergyPhonons.free_energyeV
- IsotopeAbundancesPhonons(g_factor=...)dimensionless
- Linewidth[channel=anharmonic_3ph]Phonons.bandwidthangular_THz
- Linewidth[channel=boundary]Conductivity(length=...).bandwidth + 2|v_α|/L_α (inline)angular_THz
- Linewidth[channel=isotope]Phonons.isotopic_bandwidthangular_THz
- Linewidth[channel=total]Phonons.bandwidthangular_THz
- MeanFreeDisplacement[bte_solver=direct_inverse]Conductivity(method='inverse').mean_free_path
- MeanFreeDisplacement[bte_solver=rta]Conductivity(method='rta').mean_free_path
- ModalDiffusivityConductivity(method='qhgk').diffusivitymm2_per_s
- MolarHeatCapacityN_A * np.sum(Phonons.heat_capacity) / n_q_points
- ParticipationRatioPhonons.participation_ratiodimensionless
- PhaseSpace3PhononPhonons.phase_space
- PhononDOSplotter.plot_dos(phonons, bandwidth, n_points)
- PotentialForceConstants(calculator=<ASE calculator>)
- TemperaturePhonons(temperature=...)
- ThermalConductivity[bte_solver=direct_inverse]Conductivity(method='inverse').conductivityW_per_m_per_K
- ThermalConductivity[bte_solver=rta]Conductivity(method='rta').conductivityW_per_m_per_K
- ThermalConductivity[transport_model=qhgk]Conductivity(method='qhgk').conductivityW_per_m_per_K
- VolumetricHeatCapacitynp.sum(Phonons.heat_capacity) / (V_cell * n_q_points)
Releases on record
Versions on record for this code, with the license read from the release itself.
| Version | Released | License |
|---|---|---|
| 2.2.1 | 2026-07-11 | BSD-3-Clause |
References
The code
The papers that describe the code; cite them when you use it.
- G. Barbalinardo, Z. Chen, N. W. Lundgren et al., Efficient anharmonic lattice dynamics calculations of thermal transport in crystalline and disordered solids, Journal of Applied Physics, 2020. doi.org/10.1063/5.0020443
Methods and inputs it builds on
The methods the code implements and the inputs it relies on, as published.
- P. B. Allen, J. L. Feldman, Thermal conductivity of disordered harmonic solids, Physical Review B, 1993. doi.org/10.1103/PhysRevB.48.12581
- L. Isaeva, G. Barbalinardo, D. Donadio et al., Modeling heat transport in crystals and glasses from a unified lattice-dynamical approach, Nature Communications, 2019. doi.org/10.1038/s41467-019-11572-4
Applications
Highly cited studies that cite the code, with a few picked by hand.
- N. W. Lundgren, G. Barbalinardo, D. Donadio, Mode localization and suppressed heat transport in amorphous alloys, Physical Review B, 2021. doi.org/10.1103/PhysRevB.103.024204
- G. Barbalinardo, Z. Chen, H. Dong et al., Ultrahigh Convergent Thermal Conductivity of Carbon Nanotubes from Comprehensive Atomistic Modeling, Physical Review Letters, 2021. doi.org/10.1103/PhysRevLett.127.025902
- Z. Zhang, Y. Guo, M. Bescond et al., How coherence is governing diffuson heat transfer in amorphous solids, npj Computational Materials, 2022. doi.org/10.1038/s41524-022-00776-w
- A. Fiorentino, P. Pegolo, S. Baroni, Hydrodynamic finite-size scaling of the thermal conductivity in glasses, npj Computational Materials, 2023. doi.org/10.1038/s41524-023-01116-2
- F. Liu, R. Mao, Z. Liu et al., Probing phonon transport dynamics across an interface by electron microscopy, Nature, 2025. doi.org/10.1038/s41586-025-09108-6
How to cite
G. Barbalinardo, Z. Chen, N. W. Lundgren, D. Donadio, Efficient anharmonic lattice dynamics calculations of thermal transport in crystalline and disordered solids, J. Appl. Phys. 128, 135104 (2020)