Improved the accuracy of delta sum close to the edge of the Fermi window by including energy eigenvalues on-the-fly of the tetrahedral vertices with energies lying outside the chosen Fermi-window and added a test for it #158
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.
Following Issue #99 this commit makes the following improvements to resolve it across the computation of electronic spectrum using
elphbolt
. In summary:(
fpm test fermi_window_adjustment --runner="sh test/3C-SiC/fpm_run_fermi_window_adj_caf.sh"
)1. Update in
form_tetrahedra_3d
insrc/delta.f90
: to keep track of the vertices whose eigenvalues lie outside the chosen Fermi-window by storing their indices as negative.Previously:
is updated to:
2. Added a new subroutine
fermi_window_adjusted_fill_tetrahedra_3d
insrc/delta.f90
to compute the eigenvalues of the vertices on-the-fly.And made it
public
.3. Implemented the fermi-window adjustment in
src/electron.f90
in computation of electronic spectral properties, by callingfermi_window_adjusted_fill_tetrahedra_3d
instead offill_tetrahedra_3d
; which remains as it is for computing phononic spectral properties.NOTE: that these changes ended up compiling and installing fine, but caused the$$10^{-11}$$ , so I had printed out the numbers and found them different. So for the new test of this improvement, I took the newly generated data from the
electron DOS
test to fail. Then I found out that it compares two computed and reference sets of values within a tolerance ofel.dos
file and put them in the same syntax as before insidetest_array(itest)%assert
in my test filetest/check_fermi_window_adjustment.f90
. That way, as expected, it passes.4. Finally added the test.
test/check_fermi_window_adjustment.f90
similar tobte_regression.f90
, except with minimum dependencies to test the computation of electronic density of states.test/3C-SiC/fpm_run_fermi_window_adj_caf.sh
similar to therunner
ofbte_regression
test which executescafrun -n 2 ../build/caf_*/test/fermi_window_adjustment | tee 3C_SiC_test.output
.fpm.toml
with an addition ofWith these, the fermi-window adjustment can be easily tested by running
fpm test fermi_window_adjustment --runner="sh test/3C-SiC/fpm_run_fermi_window_adj_caf.sh"
.Which renders the final output that ends with the following:
Therefore it Fixes #99