lucydot / effmass

Calculates various definitions of effective mass from the electronic bandstructure of a semiconductor.
https://effmass.readthedocs.io/en/latest/
MIT License
70 stars 38 forks source link

Extracting effective masses just for specific directions on VB and CB in a specific range on x-axis #45

Closed ghost closed 1 year ago

ghost commented 3 years ago

Hi,

I like to ask you something. Even though efmass works nicely, I'd like to extract effective masses for specific directions on VB and CB in the path GMKG. Since I work with hundreds of band structures, checking all band structures manually is really time-consuming. I'd appreciate your suggestions. I am using band structures generated with FHI-aims.

For example, I'd like to extract effective masses at directions [100], [120], and [110] for VB and CB in the path GMKG like in the following plot

image

lucydot commented 3 years ago

Hi @ebirkan,

Thanks for flagging this potential feature up. When I designed effmass I didn't have high-throughput type calculations in mind - but I think with the direction that materials modelling is going, this might be a nice thing to consider now.

I will not be able to tackle this properly in the next few weeks (perhaps even months) but it shouldn't be too hard to implement a "calculate the effective mass in this direction" feature (and perhaps there is someone else out there who would like to take this on).

As a workaround, you could have a workflow where you calculate effective masses in every direction and print out a summary file (the function in the outputs module is here and there is also a corresponding option in the command line interface), then write a bash/awk/python script or similar for extracting the effective mass in the desired directions.

lucydot commented 3 years ago

Also - if you know the specific band index and k-point index at which you want to calculate the effective mass you can do that using extrema.generate_segments.

ghost commented 3 years ago

Thanks for the comments and suggestions. It took a little time but I managed to look effective masses at these directions for systems I work.

Murari29 commented 2 years ago

@ebirkan how did you final got through this? Because I am new to this package and facing same issue as you were facing. I am also unable to find the effective mass for particular direction. Thank you

arushi-s28 commented 1 year ago

@lucydot @Murari29 I want to calculate mass for particular direction. I am new to the code. Can you please guide how to do this ?

lucydot commented 1 year ago

Hi @Murari29 @arushi-s28

It is not clear to me what your use cases are: are you looking for a high-throughput workflow for calculating effective masses? or are you unable to find effective masses in a particular direction for a single material? For the latter, you should be able to follow the tutorial here (calculating effective masses in all directions, and then selecting those which are of interest to you): https://nbviewer.org/github/lucydot/effmass/blob/master/Tutorial.ipynb.

I think it would be useful to calculate an effective mass for a user defined direction, as there is clearly demand for it, so I'll try to find some time to implement this feature over the next month or so. And if there is anybody reading this that would like to have a go, I'd certainly welcome the contribution!

lucydot commented 1 year ago

Hi @Murari29 @arushi-s28 I've just merged a PR that allows you to generate segments i) in the valence band only ii) in the conduction band only iii) in the "frontier bands" only (highest energy valence band or lowest energy conduction band) iv) for a particular direction

Hopefully this addresses the issue you raised.

I have documented the new functionality on this tutorial: https://nbviewer.org/github/lucydot/effmass/blob/master/tutorials/Tutorial.ipynb (Under the heading "Calculating effective masses for a particular direction").

If you want to use this version of effmass you will need to get the latest version straight from github (see instructions here: https://github.com/lucydot/effmass#installation). I'll make a release with this in soon, then it will be available for download through pip.

Let me know if this solves the issues you were having or not?

lucydot commented 1 year ago

As I've not heard anything back, I'll close the issue now.