IsoSurface plots for Wavefunctions on specific grid #190
Description
Hi,
I'm trying to visualize some wavefunctions inside a crystal, and other related things. Now the issue I'm running into is that these wavefunctions are defined on a grid, which is spanned by the 3 primary vectors of the crystal. So for example the primary vectors I'm working with are: a=(2.41,0.0, 3.54),b=(-1.21, 2.09,3.54),c=(-1.21,-2.09,3.54) in cartesian coordinates, which results in the wavefunctions being defined as a 81x81x81 grid of values, inside the 3D space spanned by these vectors.
Now I tried running through the code for the visualize(vol,:iso,isovalue=...) function, but I get lost somewhere after the definitions of hull::AABB and other data parts (namely, how it progresses afterwards to define the points of the vertices in the mesh). Is there an easy way to get to some kind of functionality where I could also specify the vectors along which my volume data is defined to the visualize() function, or manually specify them in this data definition?
Ultimately the problem I'm working on comes down to analyzing how the dipole of an energy band of the bandstructure of a crystal moves around while the momentum wavevector changes. It would be awesome to be able to make some animation showing the way the electron cloud moves around, and it's effect on the bandstructure and other properties of the material.
There is also some idea brewing in my mind to start a side project writing some kind of crystal visualization package for julia, similar to the program VESTA which is what our group is using now. Your package would be an awesome backbone for this, it basically already has everything that would be required (if I get the above to work)!
grtz