-
Notifications
You must be signed in to change notification settings - Fork 19
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
Wavevector symmetries #86
Merged
Merged
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
1) Helper class was called with inverted arguments. 2) Helper class was assigning k2 to the outer band structure. 3) Electron scattering rate was missing some 2Pi factors.
…sults w.r.t. the number of Q/K points. To avoid possible future confusions, we now normalize by the user's input wavevector grids (easier, since the number of q/k points in a bandstructure may vary).
Simplified the dot() member of scatteringmatrix.
…s the calculation of the scattering rate.
Phonons seem to work fine. However, I still need to debug electrons, as I noticed a problem with the symmetries of the velocity operator.
Updating installation documentation.
…ed the problem enforcing strong-typing in getWavevector. Improvement: activeBandStructure.getWavevector was returining coordinates through Point(), now it should be faster. Added test to double check symmetries in the phonon active band structure. Debug is still ongoing.
…m by symmetry. Now, the rotations mapping reducible to irreducible points are determined by comparing both wavevectors and velocities, if passed in input. Updated the test to check that rotated velocities are correct within a small error.
…left copied from the phonon case. Now they are parallelized as expected. Bugfix: both electron and phonon scattering matrix was defining bte indices using reducible wavevectors, which should not be done. Now bte indices are calculated from the irreducible points. Bugfix: the method stateToBte in bandstructure was implemented incorrectly, now it works as expected.
Electron viscosity now working for the exact electron BTE. Relaxon solver of electron BTE works now with and without symmetries.
…ived the same contribution twice from different MPI processes.
…n the case with symmetries.
…case with symmetries in presence of MPI parallelization.
…he scattering matrix has now been made faster (replacing a double nested loop with a single one)
…struction of indices for the scattering matrix in case of linewidth construction.
…ss through integers: now only stateIndices are accepted as arguments.
Correcting github action validation of json files.
…d due to the missing 4Pi factors in the scattering matrix.
Combining the named variables DimIndex and CartIndex.
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.
Implemented symmetries for both phonon and electron BTE.
Eliminated the IrreduciblePoints class: the logic of irreducible points is now in the base class Points(), and is triggered by a call to setIrreduciblePoints (not done by default as one may have too many points to work on). Also, the irreducible points may be analyzed comparing either the wavevectors or both (group velocity+wavevectors). For the BTE, one must analyze the symmetries of the velocity operator, not the list of wavevectors.
Note that results are close to those without symmetries, but not exactly the same, which may be a numerical error of the symmetries of the input data errors. By default, the code doesn't use symmetries.