• Register
PhysicsOverflow is a next-generation academic platform for physicists and astronomers, including a community peer review system and a postgraduate-level discussion forum analogous to MathOverflow.

Welcome to PhysicsOverflow! PhysicsOverflow is an open platform for community peer review and graduate-level Physics discussion.

Please help promote PhysicsOverflow ads elsewhere if you like it.


PO is now at the Physics Department of Bielefeld University!

New printer friendly PO pages!

Migration to Bielefeld University was successful!

Please vote for this year's PhysicsOverflow ads!

Please do help out in categorising submissions. Submit a paper to PhysicsOverflow!

... see more

Tools for paper authors

Submit paper
Claim Paper Authorship

Tools for SE users

Search User
Reclaim SE Account
Request Account Merger
Nativise imported posts
Claim post (deleted users)
Import SE post

Users whose questions have been imported from Physics Stack Exchange, Theoretical Physics Stack Exchange, or any other Stack Exchange site are kindly requested to reclaim their account and not to register as a new user.

Public \(\beta\) tools

Report a bug with a feature
Request a new functionality
404 page design
Send feedback


(propose a free ad)

Site Statistics

205 submissions , 163 unreviewed
5,064 questions , 2,215 unanswered
5,347 answers , 22,731 comments
1,470 users with positive rep
818 active unimported users
More ...

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

+ 4 like - 0 dislike

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 16, 2014 in Computational Physics by s1ar (20 points) [ no revision ]
retagged May 17, 2014 by dimension10

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):
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:
Then 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).
Please complete the anti-spam verification

user contributions licensed under cc by-sa 3.0 with attribution required

Your rights