Published August 14, 2026 | Version v0.8.0

DFTK: The Density-functional toolkit

  • 1. École Polytechnique Fédérale de Lausanne
  • 2. IMO, Université Paris-Saclay
  • 3. CERMICS, École des Ponts

Description

DFTK v0.8.0

Diff since v0.7.26

Note that this release increases the minor version and contains a number of breaking changes:

  • The pseudopotential repository shipped with DFTK is now deprecated and slated for removal in the next DFTK release. Please rely on the PseudoPotentialData package for selecting pseudopotentials. Concretely this means that list_psp will be removed and load_psp will only be working with full paths to pseduopotential data files or e.g. combinations of PseudoPotentialData.PseudoFamily objects and an element symbol.

  • The kgrid_from_maximal_spacing and kgrid_from_minimal_n_kpoints functions are now depreacted and will be removed in the future. Instead all places in DFTK accepting an explicit kgrid now also accept values KgridDensity and KgridMinimalNumber, which achieve the same behaviour: a kgrid of at least the given density or at least the given total number of reducible k-points. For example to construct a PlaneWaveBasis with a k-point density of 0.2 per bohr, use PlaneWaveBasis(model; kgrid=KgridDensity(0.2/u"bohr")). The actual number of k-points is then determined by looking at the atomistic system contained in the model. This change is done, such that DFTKCalculator objects can be constructed using KgridDensity, which will make the number of k-points adapt automatically to the structure on which the DFT calculation is invoked.

  • The kshift argument in PlaneWaveBasis is now deprecated. Use the MonkhorstPack data structure to request a shifted kgrid in DFTK.

  • plot_bandstructure(basis) no longer works. Instead first compute the bands along a k-line using bands = compute_bands(basis) then call plot_bandstructure(bands) afterwards.

  • The DFTK-internal implementation of the LOBPCG eigensolver algorithm has been moved out to the external package LOBPCGEigensolver.jl.

Merged pull requests:

  • Advertise ACWF results (#1231) (@Technici4n)
  • Extract LOBPCG eigensolver into standalone LOBPCGEigensolver.jl package (#1340) (@antoine-levitt)
  • CompatHelper: bump compat for TimerOutputs to 1, (keep existing compat) (#1353) (@github-actions[bot])
  • Fix the k-point set used by the term-wise force test (#1358) (@antoine-levitt)
  • Fix GPU in nonlocal term (#1360) (@abussy)
  • Delete lowpass_for_symmetry! (#1369) (@antoine-levitt)
  • Fix NLCC force missing enforce_real! (#1370) (@Technici4n)
  • Fix profiling and type stability of DftHamiltonian multiplication (#1373) (@Technici4n)
  • Update GPU docs (incl. running on cluster) (#1374) (@abussy)
  • Update DFTKAMDGPUExt.jl (#1375) (@abussy)
  • Next minor (#1376) (@mfherbst)

Closed issues:

  • Implement a simple div(a grad u)=f solve (#1227)
  • Implement the computation of periodic green functions (#1229)
  • Remove lowpass_for_symmetry! (#1366)
  • Mathematical Issue regarding precondprep! (#1368)
  • Rename enforce_real! to drop_nyquist_frequency! (#1371)

Notes

Cite this paper whenever you use DFTK.

Files

JuliaMolSim/DFTK.jl-v0.8.0.zip

Files (3.2 MB)

Name Size Download all
md5:93e58d6f1258785d4840ddf34a1ab673
3.2 MB Preview Download

Additional details

Related works