-
Notifications
You must be signed in to change notification settings - Fork 143
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
irukoa
wants to merge
14
commits into
wannier-developers:develop
Choose a base branch
from
irukoa:optical
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
ivosouza0
approved these changes
Feb 9, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.