Skip to content

Commit 6815639

Browse files
mfherbstniklasschmitz
authored andcommitted
Update publications and ASE links in documentation (#1147)
1 parent a1549cd commit 6815639

File tree

6 files changed

+36
-19
lines changed

6 files changed

+36
-19
lines changed

README.release_notes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ Note that this release increases the minor version and contains a number of brea
99
- The `kgrid_from_maximal_spacing` and `kgrid_from_minimal_n_kpoints` functions are now depreacted and will be removed. 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.
1010

1111
- The `kshift` argument in `PlaneWaveBasis` is now deprecated. Use the `MonkhorstPack` data structure to request a shifted kgrid in DFTK.
12+
13+
- `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.

docs/src/ecosystem/atomistic_simulation_environment.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Atomistic simulation environment (ASE)
22

3-
The [atomistic simulation environment](https://wiki.fysik.dtu.dk/ase/index.html),
3+
The [atomistic simulation environment](https://ase-lib.org/).
44
or ASE for short,
55
is a popular Python package to simplify the process of setting up,
66
running and analysing results from atomistic simulations across different simulation codes.

docs/src/ecosystem/atomscalculators.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# [AtomsCalculators.jl](https://github.com/JuliaMolSim/AtomsCalculators.jl) is an interface
44
# for doing standard computations (energies, forces, stresses, hessians) on atomistic
55
# structures. It is very much inspired by the calculator objects in the
6-
# [atomistic simulation environment](https://wiki.fysik.dtu.dk/ase/index.html).
6+
# [atomistic simulation environment](https://ase-lib.org/).
77
#
88
# DFTK by default ships a datastructure called a [`DFTKCalculator`](@ref),
99
# which implements the AtomsCalculators interface. A `DFTKCalculator`

docs/src/guide/tutorial.jl

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,13 @@ positions = [ones(3)/8, -ones(3)/8]
6262

6363
## 2. Select model and basis
6464
model = model_DFT(lattice, atoms, positions; functionals=LDA())
65-
kgrid = [4, 4, 4] # k-point grid (Regular Monkhorst-Pack grid)
65+
66+
kgrid = KgridSpacing(0.3 / u"bohr") # Regular k-point grid (Monkhorst-Pack grid)
67+
## with spacing 0.3/bohr between k-points
68+
## kgrid = [4, 4, 4] Alternative: Number of k-points per dimension
6669
Ecut = 7 # kinetic energy cutoff
6770
## Ecut = 190.5u"eV" # Could also use eV or other energy-compatible units
71+
6872
basis = PlaneWaveBasis(model; Ecut, kgrid)
6973
## Note the implicit passing of keyword arguments here:
7074
## this is equivalent to PlaneWaveBasis(model; Ecut=Ecut, kgrid=kgrid)
@@ -107,15 +111,19 @@ plot(x, scfres.ρ[:, 1, 1, 1], label="", xlabel="x", ylabel="ρ", marker=2)
107111
# We can get the Cartesian forces (in Hartree / Bohr):
108112
compute_forces_cart(scfres)
109113
# As expected, they are numerically zero in this highly symmetric configuration.
110-
# We could also compute a band structure,
111-
plot_bandstructure(scfres; kline_density=10)
112-
# or plot a density of states, for which we increase the kgrid a bit
113-
# to get smoother plots:
114-
bands = compute_bands(scfres, MonkhorstPack(6, 6, 6))
115-
plot_dos(bands; temperature=1e-3, smearing=Smearing.FermiDirac())
116-
# Note that directly employing the `scfres` also works, but the results
117-
# are much cruder:
114+
# We could also compute a band structure: we compute the bands along
115+
# a k-point line (determined automatically) and plot the result:
116+
bands1 = compute_bands(scfres; kline_density=10)
117+
plot_bandstructure(bands1)
118+
# Next we want to plot a density of states.
119+
# We can use the `scfres` directly, but the resulting DOS is quite sharp:
118120
plot_dos(scfres; temperature=1e-3, smearing=Smearing.FermiDirac())
121+
# To get a better result we first increase the kgrid to get a better
122+
# discretisation of the Brillouin zone, then re-do the plot:
123+
bands2 = compute_bands(scfres, MonkhorstPack(6, 6, 6))
124+
plot_dos(bands2; temperature=1e-3, smearing=Smearing.FermiDirac())
125+
# Note, that some other codes would refer to the functionality
126+
# we provide with compute_bands` as "performing a NSCF calculation".
119127

120128
# !!! info "Where to go from here"
121129
# - **Background on DFT:**

docs/src/publications.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ The current DFTK reference paper to cite is
2020

2121
Additionally the following publications describe DFTK or one of its algorithms:
2222

23-
- M. Herbst, B. Sun.
23+
- N. F. Schmitz, B. Ploumhans and M. F. Herbst.
24+
[*Algorithmic differentiation for plane-wave DFT: materials design, error control and learning model parameters.*](https://arxiv.org/abs/2509.07785) (2025).
25+
([Supplementary material and computational scripts](https://github.com/niklasschmitz/ad-dfpt)).
26+
27+
- M. F. Herbst, B. Sun.
2428
[*Efficient Krylov methods for linear response in plane-wave electronic structure calculations.*](https://arxiv.org/abs/2505.02319) (2025).
2529
([Supplementary material and computational scripts](https://github.com/bonans/inexact_Krylov_response)).
2630

@@ -57,6 +61,9 @@ Additionally the following publications describe DFTK or one of its algorithms:
5761
The following publications report research employing DFTK as a core component.
5862
Feel free to drop us a line if you want your work to be added here.
5963

64+
- D. Petersheim, J.-F. Pietschmann, J. Püschel, K. Ruess.
65+
[*Neural Network Acceleration of Iterative Methods for Nonlinear Schrödinger Eigenvalue Problems*](https://arxiv.org/abs/2507.16349) (2025).
66+
6067
- A. Levitt, D. Lundholm, N. Rougerie.
6168
[*Magnetic Thomas-Fermi theory for 2D abelian anyons*](https://arxiv.org/abs/2504.13481) (2025).
6269

docs/src/tricks/gpu.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ nothing # hide
3838
#
3939
# **Nvidia GPUs.**
4040
# Supported via [CUDA.jl](https://github.com/JuliaGPU/CUDA.jl).
41-
# Right now `Libxc` only supports CUDA 11,
42-
# so we need to explicitly request the 11.8 CUDA runtime:
41+
# If you install the CUDA package, all required Nvidia cuda libraries
42+
# will be automatically downloaded. So literally, the only thing
43+
# you have to do is:
4344
using CUDA
44-
CUDA.set_runtime_version!(v"11.8") # Note: This requires a restart of Julia
4545
architecture = DFTK.GPU(CuArray)
4646

4747
# **AMD GPUs.** Supported via [AMDGPU.jl](https://github.com/JuliaGPU/AMDGPU.jl).
@@ -71,8 +71,8 @@ scfres = self_consistent_field(basis; tol=1e-6)
7171
compute_forces(scfres)
7272

7373
# !!! warning "GPU performance"
74-
# Our current (February 2025) benchmarks show DFTK to have reasonable performance
75-
# on Nvidia / CUDA GPUs with a 50-fold to 100-fold speed-up over single-threaded
74+
# Our current (May 2025) benchmarks show DFTK to have reasonable performance
75+
# on Nvidia / CUDA GPUs with up to a 100-fold speed-up over single-threaded
7676
# CPU execution. However, support on AMD GPUs has been less benchmarked and
77-
# there are likely rough edges. Overall this feature is relatively new
78-
# and we appreciate any experience reports or bug reports.
77+
# there are likely rough edges. Since GPU support in DFTK is relatively new
78+
# we appreciate any experience reports or bug reports.

0 commit comments

Comments
 (0)