-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
53 lines (49 loc) · 2.45 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
BUGS and CLEANUP:
- DIIS: rewrite UHF for DIIS (avoid extrapolation of both Fa and Fb)
- DIIS: better throwout-vector scheme
- Unify DIIS, Damping and Levelshift switching
- Unify printlevel (0,1,2,3,4) so that we can get almost no output (0), basic (1), more (2), even more (3)
and debug output (4)
- JInt formation might allocate too much and takes too long
- Add geometry printout in beginning: printlevel=2 and higher
FEATURES
- EDIIS+DIIS or Optimal damping algorithm (ODA)
- Parallelization : threading
- Write/read functionality for a wavefunction file. Use for guess="read" in jHF
and also for standalone plot_MO/plot_density functions.
Options:
- Löwdin pop
- DelimitedFiles ?
- JLD2: https://github.com/JuliaIO/JLD2.jl (JLD : https://github.com/JuliaIO/JLD.jl, maintanenance mode)
- BSON: https://github.com/JuliaIO/BSON.jl (binary JSON)
- JSON3: https://github.com/quinnj/JSON3.jl (text)
https://discourse.julialang.org/t/how-to-save-and-read-a-structure/71031/20
- Wfn file format standards:
- https://gaussian.com/interfacing/
- https://github.com/theochem/iodata/pull/178
- https://chemrxiv.org/engage/api-gateway/chemrxiv/assets/orp/resource/item/61cc3d33d1f662f9ec491b32/original/mwfn-a-strict-concise-and-extensible-format-for-electronic-wavefunction-storage-and-exchange.pdf
- Option to write Cube file for MOs and densities.
- Prescreening: libcint should already do standard integral prescreening (Schwarz or similar).
Todo: add density-matrix*integral product prescreening ?
- Add dashed line below occupied orbitals in MO energy output or label HOMO
- Finish F,P,C matrix writing for UHF per iteration and cleanup in general
- Better guess than Hcore. PModel or Patom? Whatever is easier
- Support broken-symmetry wavefunction
- Dipole moment
- Add colors as optional in output
- electric field gradient
- LibXC interface: https://github.com/JuliaMolSim/Libxc.jl
- DFT grids. Interface to library?
- https://github.com/dftlibs/numgrid
- https://github.com/stefabat/Lebedev.jl
- Read-in basis: Normalize contraction coefficients
- Gradient?
- TDDFT?
- Test Libint library also via Lints: https://github.com/FermiQC/Lints.jl
- GPU options:
- https://nextjournal.com/sdanisch/julia-gpu-programming
- https://pretalx.com/juliacon2021/talk/VK87Q3/
- https://pretalx.com/juliacon2021/talk/VK87Q3/
- https://github.com/JuliaGPU/ArrayFire.jl
- https://github.com/JuliaGPU/GPUArrays.jl
- NVIDIA: https://github.com/JuliaGPU/CUDA.jl