The goal is to provide a unified solution to tabulate multi-dimensional momentum/space with high-efficient mesh grid. Several implementations with a unified API should be provided.
An abstract type with unified interface is expected to be implemented by all meshed define in this package:
- [ ] AbstractMesh{T} <: AbstractArray{T} so that all the indexing and iterator tools are available
- [ ] eltype(mesh) = SVector so that no dynamic allocate happens(currently Vector is used)
- [ ] Monte Carlo support [0/2]
- [ ] locate function gives the grid point that histogram should accumulate on
- [ ] volume function gives the volume represented by the grid point
- [ ] Numerical calculation support [0/2]
- [ ] interp function gives interpolation
- [ ] integrate function gives integration
Basic mesh grids.
- [ ] visualization
- [ ] symmetry reduce
- [X] Monkhorst-Pack grid(CenteredMesh)
- [ ] Examples [0/4]
- [ ] 2D Square lattice
- [ ] 2D triangular lattice
- [ ] bcc
- [ ] fcc
- [ ] documentation
UniformMesh needs to be reconstructed to be compatible with M-P mesh used conventionally Terminology c.f. https://www.vasp.at/wiki/index.php/KPOINTS
- support generalized size (N1, N2, N3) instead of (N,N,N)
- support optional shift between Γ-centered and M-P mesh
- support Cartesian coordinate and fraction coordinate