ml-evs / matador

⚗️ matador is an aggregator, manipulator and runner of first-principles calculations, written with a bent towards battery 🔋 electrode materials.
https://matador-db.readthedocs.io
MIT License
29 stars 19 forks source link

Request for "scissor operator" for bandgap correction #136

Open sajidurehman opened 3 years ago

sajidurehman commented 3 years ago

Hi Developers, As it is well-know fact the GGA underestimate the electronic bandgap and hybrid functionals are expensive in terms of computations. To calculate the acurate electronic properties with less computational cost some codes provide a rigid shift of the conduction which is artificially increasing the band gap is know as a scissor operator.

Is it possible to artificially increasing the band gap by using matador? If yes please guide me how to use this feature. If it is not available, is it possible to add this feature in matador?

Looking forward to your kind response.

Best Wishes Sajid

ml-evs commented 3 years ago

Hi @sajidurehman, I agree this could be a useful feature, but I'm not sure when I'll get around to doing it (certainly not until next year).

One thing that might help you in the meantime is that CASTEP has its own scissor operator keyword, which should do what you want:

$ castep -h excited_state_scissors
Help information on CELL keywords:

None found

Help information on PARAMETERS keywords:

     EXCITED_STATE_SCISSORS   *! "scissors" operator band-gap correction !*

Type: Physical                                              Level: Intermediate

Effectively adds an offset to conduction-band eigenvalues as empirical correction for LDA/GGA underestimation of band-gaps.
Modifiable: restart and on the fly
Allowed values: (any)
Default value : 0.0
sajidurehman commented 3 years ago

Hi Matthew, Thank you for reply and considering scissor operator as a useful feature. I will be axiously waiting for this exciting feature in matador.

Ance again thank you for information regarding EXCITED_STATE_SCISSORS paramter. but I have two queries regarding the use of EXCITED_STATE_SCISSORS paramter.

1) how to use the EXCITED_STATE_SCISSORS paramter in already completed calculation in matador? 2) I use the EXCITED_STATE_SCISSORS = 0.5 (as an example) but I didn't find any increament in the obtained bandgap. Could you please guide me how to use properly to increase the bandgap artificially?

Best Wishes Sajid

ml-evs commented 3 years ago
  1. I'm afraid you can't do that, you would have to re-run the calculation.
  2. I also tried running the Si2 example with this keyword and it did nothing, but I have no idea why.

I asked around and it turns out that OptaDOS itself has a scissor operator that is probably more suitable, which would only require re-running OptaDOS and not the full CASTEP job. You can use this by adding the scissor_op parameter to your .odi file, though I think this can only be used for dielectric/JDOS calculations.

I guess it comes down to what you would like to use the scissor operator for? Typically it is used in cases where the result of another calculation depends strongly on the band gap (e.g. dielectric function), rather than just showing a bandstructure (as you would do with matador alone).

sajidurehman commented 3 years ago

Hi Matthew, Thank you for detailed reply. 1) Ok, I got it. 2) Yes, same here.

Thank you for information regarding scissor_op and its use. Yes, you are absolutely right about the dependency of scissor operator on dielectric function. But it would be more interesting to use scissor operator in band structure to adjust the gap to match with experimental gap. matador provides more interesting option in graphing of projected band structure/DOS which is not available in other codes of CASTEP. So, that's why I asked for this feature in matador.

zeeshansemi commented 3 years ago

Hi Developers, is the feature of scissor operator available in matador?