Antoine Levitt
Antoine Levitt
Our threading is a bit all over the place right now. Linalg threading is automatically taken care of, and can be improved by installing MKL. I think FFT threading sucks...
The Logging stdlib is very nicely done. The main design point is separating production of log messages from processing : we can define several log levels, and then decide what...
On a test (4x1x1 supercell of silicon), our prod(fft_size) is about 25% higher than abinit's. Abinit uses a more clever iterative algorithm (see `getng` function)
We do `[model.recip_lattice * G for G in G_vectors(basis)]` quite a lot; it's annoying and error prone (I've several times had the bug that I used lattice instead of recip_lattice....
And simplify things like https://github.com/JuliaMolSim/DFTK.jl/blob/553db8bcc879a86a2a01d5f64caa1cff11f1aa48/src/forces.jl#L72
If I understand correctly https://github.com/MasonProtter/ToggleableAsserts.jl/blob/master/src/ToggleableAsserts.jl should make it possible to toggle timings on and off.
Just to keep track of that. It'd be nice to have a struct that contains ham, psi, rho, occupations, fermi level, orbital energies, etc. and that is strongly immutable (in...
So this has been grating me for a while. There is an analogy between different basis sets (and common functionality) that we fail to exploit as much as we maybe...
Add an option to perform real-to-complex and complex-to-real FFTs with a kwarg, and use that to do the potentials as real arrays. Could also do dispatch on the eltype of...