Skip to content
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