master
1module SacerDOS
2
3using DFTK
4# TODO: Threads in threads if DFTK @timing switched off by default.
5# Needs #972.
6disable_threading()
7using LinearAlgebra
8
9export SimParams, get_params, gaussian_parameters
10include("Parameters.jl")
11
12export diagonalize
13include("diag.jl")
14
15export eigvals_binning, eigvals_binning_3d, binning
16include("binning.jl")
17
18export Kinetic1D, Potential1D, Matrix, kinetic1d, potential1d
19include("operators.jl")
20
21export dos_χ, gaussian, dos_gaussian
22include("dos.jl")
23include("dos_distributed.jl")
24
25using PrecompileTools
26
27@setup_workload begin
28 params = get_params(; case=:mfast)
29 g_params = gaussian_parameters(params)
30 orders = [0, 1, 2]
31 n_bands_diag = 10
32 terms = dos_gaussian_distributed(params.lattice, params.atoms, params.positions,
33 params.Ecut, params.kgrid, g_params, params.xs;
34 params.disregistries, params.δ, orders, n_bands_diag)
35end
36
37end