# How to easily calculate lengths (or relative lengths) of paths between symmetry points in BZ

+ 4 like - 0 dislike
895 views

I am trying to easily calculate the length between special kpoints within the BZ of the 32 point groups in a crystal system. I am calculating the lengths in order to scale k point sampling along these paths for electronic structure calculations. I could use the reciprocal lattice vectors to calculate each and every special symmetry point for every Bravais Lattice to get the lengths but I am wondering if there is an easy way to at least find the ratio between the lengths that I am just missing. I for example want to find the lengths of the paths for Rhombohedral Bravais Lattice crystal so I use the paths but for shorter parts of the paths I want to sample less k points and for paths that are longer I sample more (so that they're for the most part evenly spread out)

I am under the impression that since the fractional coordinates of some these points are dependent to the cell's reciprocal lattice vectors, that some of the path lengths change when the lattice vectors change. So I am wanting to have an easy way to get these lengths without hardcoding all of the equations with if/else statements. I fear I might just have to do that. Hopefully you can tell me otherwise!

asked May 17, 2014
retagged May 17, 2014

I don't understand the point of this. It seems like sooner or later you need to "calculate each and every special symmetry point for every Bravais Lattice", one way or the other. Otherwise how could you figure out the k's? I mean, it doesn't help you much to know that "We should sample 30 points along the path from X to L". You can't actually write down any of those 30 points until you know the coordinates of X and L in k-space.

Ah yes. So the point of it is to make a electronic band structure plot look pretty. The program already has some logic to pick out the paths and the associated HSP depending on your bravais lattice. I could connect the lines between the points but I'm planning high-throughput calculations and generations of these plots so If I chose to connect the discrete points then I sometimes run into jumps in the bands where the algorithm incorrectly connects a k point from one band to another and it just looks sloppy. So to avoid this I just am plotting the points with no lines between them. It's just for aesthetics really. Maybe I just need to write a better algorthm for connecting the kpoints to form the bands?

The way I understand your question is: How do I find the distance between X and L in k-space? (And between other such pairs of points?) Well, if you know the coordinates of X in k-space, and you know the coordinates of L in k-space, then it's trivial to find the length between X and L in k-space. Now, you just said that your "program already has some logic" to find the coordinates of X and L (and the other high-symmetry points) in k-space. So what's your question? I don't understand.

## Your answer

 Please use answers only to (at least partly) answer questions. To comment, discuss, or ask for clarification, leave a comment instead. To mask links under text, please type your text, highlight it, and click the "link" button. You can then enter your link URL. Please consult the FAQ for as to how to format your post. This is the answer box; if you want to write a comment instead, please use the 'add comment' button. Live preview (may slow down editor)   Preview Your name to display (optional): Email me at this address if my answer is selected or commented on: Privacy: Your email address will only be used for sending these notifications. Anti-spam verification: If you are a human please identify the position of the character covered by the symbol $\varnothing$ in the following word:p$\hbar\varnothing$sicsOverflowThen drag the red bullet below over the corresponding character of our banner. When you drop it there, the bullet changes to green (on slow internet connections after a few seconds). To avoid this verification in future, please log in or register.