There is a fair bit of code now that is un-used, other parts of code seem more complex than needed. We can make a list of things here that work, but ought to be rewritten slowly over time. Anything that takes more substantial discussion can be moved to a separate issue.
[x] Replace ASEAtoms with AbstractAtoms
[x] go through NRLTB and check which versions of the evaluate, evaluate!, etc are actually used
[x] reinterpret the dH_nn etc matrices as arrays of JVecFs ; this should allow for more efficient assembly but will definitely cut a few lines of code: EDIT: this is now replaced by SArray slicing, see commit dd6090405d2a7bd9980f6f624ca103500605732b.
[x] start writing a half-decent README
[x] It seems to me that the TBModel type ought to be separated into a TBHamiltonian type and a TBCalculator, which stores the smearing function, the hamiltonian, and so forth; to be discussed. One reason would be good is because we can then have a standard calculator and the contour type calculator
[x] it is really bad that we have tbm.eF as well as tbm.smearing.eF; one of the two needs to go.
[x] the monkhorstpackgrid could become an Iterator, so that we can use the nice iterator syntax to do the BZ integration
[X] the new TightBinding broke the JuLIP.ASE.positions; why??? EDIT: This is now an issue in JuLIP.jl:#52
[x] copy sk9_d from the old NRLTB implementation: EDIT this is done, but tests fail; see Issue #6
[x] BZ integrators that account for symmetry, maybe load BZ files? Opened new Issue #7
[ ] incorporate different potentials
[ ] stop using X for computing cell shifts; stop passing X around EDIT: this should probably be done from JuLIP rather than TightBinding
[ ] add a minimal example to README
[ ] consider fixing the type instability from ForwardDiff, but at the moment this doesn't seem to be a bottle-neck at all
[ ] rewrite monkhorstpackgrid using vector-matrix notation (done in part) EDIT: I am going to choose to not care about this.
There is a fair bit of code now that is un-used, other parts of code seem more complex than needed. We can make a list of things here that work, but ought to be rewritten slowly over time. Anything that takes more substantial discussion can be moved to a separate issue.
ASEAtoms
withAbstractAtoms
NRLTB
and check which versions of theevaluate, evaluate!
, etc are actually useddH_nn
etc matrices as arrays ofJVecF
s ; this should allow for more efficient assembly but will definitely cut a few lines of code: EDIT: this is now replaced by SArray slicing, see commit dd6090405d2a7bd9980f6f624ca103500605732b.TBModel
type ought to be separated into aTBHamiltonian
type and aTBCalculator
, which stores the smearing function, the hamiltonian, and so forth; to be discussed. One reason would be good is because we can then have a standard calculator and the contour type calculatortbm.eF
as well astbm.smearing.eF
; one of the two needs to go.monkhorstpackgrid
could become an Iterator, so that we can use the nice iterator syntax to do the BZ integrationTightBinding
broke theJuLIP.ASE.positions
; why??? EDIT: This is now an issue in JuLIP.jl:#52sk9_d
from the old NRLTB implementation: EDIT this is done, but tests fail; see Issue #6X
for computing cell shifts; stop passingX
around EDIT: this should probably be done from JuLIP rather than TightBindingForwardDiff
, but at the moment this doesn't seem to be a bottle-neck at allmonkhorstpackgrid
using vector-matrix notation (done in part) EDIT: I am going to choose to not care about this.