[ENHANCEMENT] Q-Vectors rework
Is your feature request related to a problem? Please describe. Q-Vectors are currently somewhat limited in scope apparently to $|Q|$ calculations using a class hierarchy.
These generators will need to have the capacity to be passed various arguments as needed.
Describe the solution you'd like The proposal is to rework the Q-vector generation system as actual generators to allow infinite and finite Q-Vector generators with paths (#446), explicit values (#458), $|Q|$ functionality.
Current Q Vector generators
- ApproximateDispersionQVectors.py
- CircularQVectors.py
- GridQVectors.py
- LatticeQVectors.py
- LinearQVectors.py
- SphericalLatticeQVectors.py
- CircularLatticeQVectors.py
- DispersionLatticeQVectors.py
- IQVectors.py
- LinearLatticeQVectors.py
- MillerIndicesQVectors.py
- SphericalQVectors.py
Proposed New Q Vector generators
- Q-vectors from generator function
- Q-vectors from list/array
- Q-vectors from paths
Describe alternatives you've considered N/A
Additional context N/A
Would it make sense to use the label "commensurate" instead of "lattice" vectors? I guess that the best term for it will depend on the science field of the user.