![]() |
(git:b77b4be)
|
Functions/Subroutines | |
subroutine, public | v_soc_xyz_from_pseudopotential (qs_env, mat_v_soc_xyz) |
V^SOC_µν^(α),R = ħ/2 < ϕ_µ cell O | sum_ℓ ΔV_ℓ^SO(r,r') L^(α) | ϕ_ν cell R>, α = x,y,z see Hartwigsen, Goedecker, Hutter, Eq.(18), (19) (doi.org/10.1103/PhysRevB.58.3641) Caution: V^SOC_µν^(α) is purely imaginary and Hermitian; V^SOC_µν^(α) is stored as real dbcsr matrix mat_V_SOC_xyz without symmetry; V^SOC_µν^(α) is stored without the imaginary unit, i.e. mat_V_SOC_xyz is real and antisymmetric. | |
subroutine, public | remove_soc_outside_energy_window_ao (mat_v_soc_xyz, e_win, fm_mo_coeff, homo, eigenval, fm_s) |
Remove SOC outside of energy window (otherwise, numerical problems arise because energetically low semicore states and energetically very high unbound states couple to the states around the Fermi level). This routine is for mat_V_SOC_xyz being in the atomic-orbital (ao) basis. | |
subroutine, public | remove_soc_outside_energy_window_mo (cfm_ks_spinor, e_win, eigenval, e_homo, e_lumo) |
... | |
subroutine, public soc_pseudopotential_methods::v_soc_xyz_from_pseudopotential | ( | type(qs_environment_type), pointer | qs_env, |
type(dbcsr_p_type), dimension(:, :), pointer | mat_v_soc_xyz | ||
) |
V^SOC_µν^(α),R = ħ/2 < ϕ_µ cell O | sum_ℓ ΔV_ℓ^SO(r,r') L^(α) | ϕ_ν cell R>, α = x,y,z see Hartwigsen, Goedecker, Hutter, Eq.(18), (19) (doi.org/10.1103/PhysRevB.58.3641) Caution: V^SOC_µν^(α) is purely imaginary and Hermitian; V^SOC_µν^(α) is stored as real dbcsr matrix mat_V_SOC_xyz without symmetry; V^SOC_µν^(α) is stored without the imaginary unit, i.e. mat_V_SOC_xyz is real and antisymmetric.
qs_env | ... |
mat_V_SOC_xyz | ... |
Definition at line 69 of file soc_pseudopotential_methods.F.
subroutine, public soc_pseudopotential_methods::remove_soc_outside_energy_window_ao | ( | type(dbcsr_p_type), dimension(:) | mat_v_soc_xyz, |
real(kind=dp) | e_win, | ||
type(cp_fm_type) | fm_mo_coeff, | ||
integer | homo, | ||
real(kind=dp), dimension(:) | eigenval, | ||
type(cp_fm_type) | fm_s | ||
) |
Remove SOC outside of energy window (otherwise, numerical problems arise because energetically low semicore states and energetically very high unbound states couple to the states around the Fermi level). This routine is for mat_V_SOC_xyz being in the atomic-orbital (ao) basis.
mat_V_SOC_xyz | ... |
e_win | ... |
fm_mo_coeff | ... |
homo | ... |
eigenval | ... |
fm_s | ... |
Definition at line 202 of file soc_pseudopotential_methods.F.
subroutine, public soc_pseudopotential_methods::remove_soc_outside_energy_window_mo | ( | type(cp_cfm_type) | cfm_ks_spinor, |
real(kind=dp) | e_win, | ||
real(kind=dp), dimension(:) | eigenval, | ||
real(kind=dp) | e_homo, | ||
real(kind=dp) | e_lumo | ||
) |
...
cfm_ks_spinor | ... |
e_win | ... |
eigenval | ... |
E_HOMO | ... |
E_LUMO | ... |
Definition at line 296 of file soc_pseudopotential_methods.F.