No project description provided
Project description
Overview
κALDo (kALDo) is an open-source Python package for computing vibrational, elastic, and thermal transport properties of crystalline, disordered, and amorphous materials from first principles and machine-learned interatomic potentials.
Built on the anharmonic lattice dynamics (ALD) framework, κALDo provides GPU- and CPU-accelerated implementations of:
- Boltzmann Transport Equation (BTE) for crystals
- Quasi-Harmonic Green-Kubo (QHGK) method for disordered and amorphous systems
The QHGK formalism uniquely extends thermal transport predictions beyond crystals to materials lacking long-range order, including glasses, alloys, and complex nanostructures.
Key Features
Transport Methods
| Method | Use Case | Solvers |
|---|---|---|
| BTE | Crystalline materials | RTA, Self-consistent iteration, Full matrix inversion, Eigendecomposition |
| QHGK | Amorphous/disordered materials | Diffuson, locon, propagon decomposition |
Force Constant Sources
κALDo interfaces with diverse computational tools:
- Ab initio codes: Quantum ESPRESSO, VASP (DFPT)
- MD packages: LAMMPS (with USER-PHONON)
- Machine-learned potentials: NEP, MACE, MatterSim, Orb, DeepMD (via ASE)
- External phonon codes: ShengBTE, phono3py, HiPhive
- TDEP: Temperature-dependent effective potentials from MD trajectories
Physical Corrections
- Isotopic scattering via Tamura perturbation theory
- Non-analytical corrections (NAC) for polar materials (LO-TO splitting)
- Finite-size effects and boundary scattering
- Anharmonicity quantification (σ_A score)
Performance & Scalability
- GPU acceleration via TensorFlow (5-10× speedup for N > 50 atoms)
- Sparse tensor operations for memory efficiency
- Multiple storage backends: formatted text, NumPy, HDF5, memory-only
- Scales to 10,000+ atom systems for QHGK calculations
Quickstart
Run κALDo interactively on Google Colab:
| Tutorial | Description |
|---|---|
| Thermal transport in crystalline silicon (BTE) | |
| Thermal transport in amorphous silicon (QHGK) |
Installation
pip install kaldo
Docker deployment:
docker pull gbarbalinardo/kaldo:latest
Basic Usage
Example calculating thermal conductivity of SiC using the MatterSim machine-learned potential:
# Import kALDo classes and ASE
from kaldo.forceconstants import ForceConstants
from kaldo.phonons import Phonons
from kaldo.conductivity import Conductivity
import kaldo.controllers.plotter as plotter
from ase.build import bulk
from ase.optimize import BFGS
from ase.constraints import StrainFilter
from mattersim.forcefield import MatterSimCalculator
# Stage 1: Structure optimization
atoms = bulk('SiC', 'zincblende', a=4.35)
calc = MatterSimCalculator(device='cuda')
atoms.calc = calc
# Optimize lattice parameters and atomic positions
sf = StrainFilter(atoms)
opt = BFGS(sf)
opt.run(fmax=0.001)
# Stage 2: Compute force constants using finite differences
fc = ForceConstants(
atoms=atoms,
supercell=[10, 10, 10],
third_supercell=[5, 5, 5],
folder='fd_SiC_MatterSim'
)
fc.second.calculate(calc, delta_shift=0.03)
fc.third.calculate(calc, delta_shift=0.03)
# Stage 3: Calculate phonon properties
phonons = Phonons(
forceconstants=fc,
kpts=[15, 15, 15],
temperature=300,
is_classic=False,
folder='ALD_SiC_MatterSim'
)
# Plot phonon dispersion
plotter.plot_dispersion(phonons, n_k_points=300)
# Stage 4: Calculate thermal conductivity
cond = Conductivity(phonons=phonons, method='inverse')
# Access results
kappa = cond.conductivity.sum(axis=0)
print(f"Thermal conductivity: {kappa.trace()/3:.1f} W/m/K")
Supported File Formats
| Source | Format String | 2nd-Order Files | 3rd-Order Files |
|---|---|---|---|
| NumPy | numpy |
second.npy |
third.npz or third.npy |
| ESKM | eskm |
Dyn.form |
THIRD |
| LAMMPS | lammps |
Dyn.form |
THIRD |
| VASP / ShengBTE | vasp |
FORCE_CONSTANTS_2ND or FORCE_CONSTANTS |
FORCE_CONSTANTS_3RD |
| QE + VASP | qe-vasp |
espresso.ifc2 |
FORCE_CONSTANTS_3RD |
| VASP + d3q | vasp-d3q |
FORCE_CONSTANTS_2ND or FORCE_CONSTANTS |
FORCE_CONSTANTS_3RD_D3Q |
| QE + d3q | qe-d3q |
espresso.ifc2 |
FORCE_CONSTANTS_3RD_D3Q |
| HiPhive | hiphive |
model2.fcs |
model3.fcs |
| TDEP | tdep |
infile.forceconstant |
infile.forceconstant_thirdorder |
Theory Background
For detailed theoretical background on anharmonic lattice dynamics, the Boltzmann Transport Equation, and the Quasi-Harmonic Green-Kubo method, see the documentation.
Examples
Detailed examples for various materials and workflows are available in the examples folder.
Citations
If you use κALDo, please cite:
| Reference | When to Cite |
|---|---|
| [1] | Any work using κALDo |
| [2] | QHGK method for disordered materials |
| [3] | Participation ratio analysis |
| [4] | Finite-size thermal conductivity with BTE |
| [5] | TDEP + path-integral MD workflows |
| [6] | Isotopic scattering and hydrodynamic extrapolation |
References
[1] 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).
[2] L. Isaeva, G. Barbalinardo, D. Donadio, S. Baroni, Modeling heat transport in crystals and glasses from a unified lattice-dynamical approach, Nat. Commun. 10, 3853 (2019).
[3] N.W. Lundgren, G. Barbalinardo, D. Donadio, Mode Localization and Suppressed Heat Transport in Amorphous Alloys, Phys. Rev. B 103, 024204 (2021).
[4] G. Barbalinardo, Z. Chen, H. Dong, Z. Fan, D. Donadio, Ultrahigh convergent thermal conductivity of carbon nanotubes from comprehensive atomistic modeling, Phys. Rev. Lett. 127, 025902 (2021).
[5] D.A. Folkner, Z. Chen, G. Barbalinardo, F. Knoop, D. Donadio, Elastic moduli and thermal conductivity of quantum materials at finite temperature, J. Appl. Phys. 136, 221101 (2024).
[6] A. Fiorentino, P. Pegolo, S. Baroni, D. Donadio, Effects of colored disorder on the heat conductivity of SiGe alloys from first principles, Phys. Rev. B 111, 134205 (2025).
Publications Using κALDo
See the publications page.
Documentation
Full API documentation: nanotheorygroup.github.io/kaldo
Contributing
We welcome contributions! Please visit our discussions page for questions, feature requests, and workflow sharing.
Copyright
Copyright (c) 2022-2025, The kALDo Developers
Acknowledgements
We gratefully acknowledge support by the Investment Software Fellowships (grant No. ACI-1547580-479590) of the NSF Molecular Sciences Software Institute (grant No. ACI-1547580) at Virginia Tech.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kaldo-2.0.4.tar.gz.
File metadata
- Download URL: kaldo-2.0.4.tar.gz
- Upload date:
- Size: 13.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c08b3178de11a8ed191c2774a567f93f3d7162fc7d9ad6f45bc1e9df2273f5e
|
|
| MD5 |
e7423c18c3123f6feecb6b26482d1c83
|
|
| BLAKE2b-256 |
9447f0e694dee0cbf2fd119e5d330549f1eb46d3767b8c319966cac808ee89e7
|
File details
Details for the file kaldo-2.0.4-py3-none-any.whl.
File metadata
- Download URL: kaldo-2.0.4-py3-none-any.whl
- Upload date:
- Size: 14.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4606bdc976c7cf7dc7c967e23f346de38d9a6c55873e9e0aad4f7fb7b272c3b
|
|
| MD5 |
f36aaf4884901771487a09ca3bd13281
|
|
| BLAKE2b-256 |
90bb18e6bc737d74bb2aee91908196b55a3a73e628520fd43783eddfda4daf85
|