Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jerk and injection current implementations #438

Open
wants to merge 14 commits into
base: develop
Choose a base branch
from

Conversation

irukoa
Copy link

@irukoa irukoa commented Feb 8, 2023

Feature implementation of the subroutines to calculate jerk and injection currents within the berry.F90 module. Includes:

-src/postw90/berry.F90: berry_get_ic_klist. Injection current.
-src/postw90/berry.F90: berry_get_jc_klist. Jerk current.
and depencencies:
-src/postw90/wan_ham.F90: wham_get_deleig_a_b. Second derivatives of the energy eigenvalues with respect to k^i.
-src/utility.F90: utility_get_degen. Compute the degeneracy of a sorted list.

irukoa added 12 commits January 17, 2023 16:40
Added subroutine utility_get_degen, which takes as inputs a list of
real sorted elements eig and a degeneracy threshold degen_thr. It
outputs a list deg containing the degree of degeneracy of each
element of eig as described in the subroutine comment.
Included sub. to calculate the second band derivatives, which takes as
inputs the number of eigenvalues, the eigenvalues and the first and
second derivatives of the Hamiltonian matrix for directions a, b and
(a, b) respectively. The output contains the second band derivatives
for direction (a, b).
Implemented subs to calculate injection and jerk current response tensors
contribution at point kpt.

Also included eval_ic, eval_jc, which if .true. will calculate the relevant
integral over the BZ.

bug: backtrace error for wham_get_deleig_a_b.
Now program should not fail when berry_task = ic, jc.
Included test folder to calculate the jc tensor for GaAs
on the test suite. Passed as for 18/01/2023.
I have changed the output files so the injection current tensor is separated into
symmetric (S) and antisymmetric (A) parts with respect to the b <-> c exchange.
The S part is comletely real and the A part completely imaginary.
Included test folder to calculate the ic tensor for Te
on the test suite. Passed as for 18/01/2023.
(*)Included documentation for ic and jc, but only the example of jc.
Included new example for calculating the injection current on the WeylSemimetal TaAs.
Pseudo. for Ta has been included and the corresponding explnations have been given in the tutorial.
References for preprint included everywhere needed. Removed !ALVARO from code
and compiled docs.
@irukoa irukoa marked this pull request as ready for review February 8, 2023 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants