Electrum.jl
Electrum.jl copied to clipboard
A Julian toolkit for solid-state chemical theory.
Many data structures in this package contain a small matrix, often stored as an `SMatrix{D,D,T,L}`, but having to carry around the `L` type parameter is annoying/leaks implementation details. I've worked...
I didn't know about it when I started writing this package, but the [AtomsBase](https://github.com/JuliaMolSim/AtomsBase.jl) package is designed to facilitate interoperability between a variety of Julia packages that work with atom...
We have some external interest in such support, and I figured it would be good to create an issue for it here.
Currently, `PlanewaveWavefunction{D,T}` subtypes `AbstractArray{T,D}`. This runs into serious problems, primarily with indexing behavior. I propose that we subtype `DenseArray{ReciprocalDataGrid{D,T},3}` for the following reasons: - `DenseArray` is a stronger bound than...
[JLD2.jl](https://github.com/JuliaIO/JLD2.jl) provides support for an HDF5-compatible format suitable for storing large datasets. I'm thinking we should integrate suport for this format into Electrum. For most types of objects, serialization should...
There's a lot of functionality in Electrum that is likely best suited for packaging into submodules. For instance: - Lattice functionality - Atom functionality - Support for reading/writing various file...
This function is critical to the implementation of `readWAVECAR()` and was adapted from some of the WaveTrans code, but I honestly can't be sure what it's actually doing. From what...
For a number of operations, it'll be useful to transform the lattice vectors of a crystal basis to the smallest possible set of vectors - useful for measuring distances between...
Need to write `readDOSCAR()` such that it automatically detects if the DOSCAR includes spin information. This may involve updating the relevant structs as well. Do-able.