![]() |
(git:6344619)
|
Metric-aware Bloch velocities without eigenvector derivatives or band-gap divisions. More...
Functions/Subroutines | |
| subroutine, public | bloch_current (h, s, dh, ds, d, energies, current, status, coefficients) |
| Evaluate v_nm = C^H(dH - E_n*dS)C + i*(E_n-E_m)*C^H*D*C. | |
| subroutine, public | bloch_current_from_frame (h, s, dh, ds, d, energies, c, current, tolerance, residuals, status) |
| Evaluate the current in a validated reconstructed eigenframe, without rediagonalization. | |
| pure real(dp) function, public | fermi_slope (ea, eb, mu, kt) |
| Stable Fermi divided difference including the intraband and degenerate limits. | |
Metric-aware Bloch velocities without eigenvector derivatives or band-gap divisions.
| subroutine, public kubo_bloch::bloch_current | ( | complex(dp), dimension(:, :), intent(in) | h, |
| complex(dp), dimension(:, :), intent(in) | s, | ||
| complex(dp), dimension(:, :, :), intent(in) | dh, | ||
| complex(dp), dimension(:, :, :), intent(in) | ds, | ||
| complex(dp), dimension(:, :, :), intent(in) | d, | ||
| real(dp), dimension(:), intent(out) | energies, | ||
| complex(dp), dimension(:, :, :), intent(out) | current, | ||
| integer, intent(out) | status, | ||
| complex(dp), dimension(:, :), intent(out), optional | coefficients ) |
Evaluate v_nm = C^H(dH - E_n*dS)C + i*(E_n-E_m)*C^H*D*C.
| h | Full covariant Hamiltonian, including SOC when applicable |
| s | Overlap in the same Bloch convention |
| dh | Cartesian k derivatives of h, in Ha*bohr |
| ds | Cartesian k derivatives of s, in bohr |
| d | Cell-gauge image first moments, satisfying D-D^H=-i*dS, in bohr |
| energies | Generalized spectrum |
| current | Anti-Hermitian current -i*v in the eigenbasis, including diagonal velocities |
| status | 0 success; -1 invalid data; -2 metric failure; -3 connection failure; positive LAPACK failure |
| coefficients | Optional complete eigenframe for symmetry reconstruction |
Definition at line 35 of file kubo_bloch.F.
| subroutine, public kubo_bloch::bloch_current_from_frame | ( | complex(dp), dimension(:, :), intent(in) | h, |
| complex(dp), dimension(:, :), intent(in) | s, | ||
| complex(dp), dimension(:, :, :), intent(in) | dh, | ||
| complex(dp), dimension(:, :, :), intent(in) | ds, | ||
| complex(dp), dimension(:, :, :), intent(in) | d, | ||
| real(dp), dimension(:), intent(in) | energies, | ||
| complex(dp), dimension(:, :), intent(in) | c, | ||
| complex(dp), dimension(:, :, :), intent(out) | current, | ||
| real(dp), intent(in) | tolerance, | ||
| real(dp), dimension(2), intent(out) | residuals, | ||
| integer, intent(out) | status ) |
Evaluate the current in a validated reconstructed eigenframe, without rediagonalization.
| h | Target Hamiltonian |
| s | Target AO metric |
| dh | Cartesian Hamiltonian derivatives |
| ds | Cartesian overlap derivatives |
| d | Cell-gauge image first moments |
| energies | Source spectrum, including complete degenerate blocks |
| c | Candidate target eigenframe |
| current | Target current in exactly the supplied gauge |
| tolerance | Maximum orthonormality and relative projected-eigenproblem errors |
| residuals | Metric error and energy-scaled projected-Hamiltonian error |
| status | 0 success; -1 invalid data; -3 connection failure; -4 invalid eigenframe |
Definition at line 75 of file kubo_bloch.F.
| pure real(dp) function, public kubo_bloch::fermi_slope | ( | real(dp), intent(in) | ea, |
| real(dp), intent(in) | eb, | ||
| real(dp), intent(in) | mu, | ||
| real(dp), intent(in) | kt ) |
Stable Fermi divided difference including the intraband and degenerate limits.
| ea | First energy |
| eb | Second energy |
| mu | Chemical potential |
| kt | Positive temperature in energy units |
Definition at line 162 of file kubo_bloch.F.