Octopus
|
Functions/Subroutines | |
character(len=100) function, public | kdotp_wfs_tag (dir, dir2) |
subroutine, public | calc_band_velocity (namespace, space, gr, st, hm, pert, velocity) |
Computes the k-point and band-resolved velocity. More... | |
subroutine, public | dcalc_eff_mass_inv (namespace, space, gr, st, hm, lr, pert, eff_mass_inv, degen_thres) |
Computes the effective mass tensor. More... | |
subroutine, public | dkdotp_add_occ (namespace, space, gr, st, hm, pert, kdotp_lr, degen_thres) |
add projection onto occupied states, by sum over states More... | |
subroutine, public | zcalc_eff_mass_inv (namespace, space, gr, st, hm, lr, pert, eff_mass_inv, degen_thres) |
Computes the effective mass tensor. More... | |
subroutine, public | zkdotp_add_occ (namespace, space, gr, st, hm, pert, kdotp_lr, degen_thres) |
add projection onto occupied states, by sum over states More... | |
character(len=100) function, public kdotp_calc_oct_m::kdotp_wfs_tag | ( | integer, intent(in) | dir, |
integer, intent(in), optional | dir2 | ||
) |
Definition at line 151 of file kdotp_calc.F90.
subroutine, public kdotp_calc_oct_m::calc_band_velocity | ( | type(namespace_t), intent(in) | namespace, |
class(space_t), intent(in) | space, | ||
type(grid_t), intent(in) | gr, | ||
type(states_elec_t), intent(in) | st, | ||
type(hamiltonian_elec_t), intent(inout) | hm, | ||
class(perturbation_t), intent(inout) | pert, | ||
real(real64), dimension(:,:,:), intent(out) | velocity | ||
) |
Computes the k-point and band-resolved velocity.
This is done using the following formula
\[ v = (dE_nk/dk)/hbar = -Im < u_nk | -i grad | u_nk > \]
This is identically zero for real wavefunctions.
Definition at line 173 of file kdotp_calc.F90.
subroutine, public kdotp_calc_oct_m::dcalc_eff_mass_inv | ( | type(namespace_t), intent(in) | namespace, |
class(space_t), intent(in) | space, | ||
type(grid_t), intent(in) | gr, | ||
type(states_elec_t), intent(in) | st, | ||
type(hamiltonian_elec_t), intent(inout) | hm, | ||
type(lr_t), dimension(:,:), intent(in) | lr, | ||
class(perturbation_t), intent(inout) | pert, | ||
real(real64), dimension(:,:,:,:), intent(out) | eff_mass_inv, | ||
real(real64), intent(in) | degen_thres | ||
) |
Computes the effective mass tensor.
This is obtained using the formula
\[ m^-1[ij] = <psi0|H2ij|psi0> + 2*Re<psi0|H'i|psi'j> \]
for each state, spin, and k-point The off-diagonal elements are not correct in a degenerate subspace
[in] | lr | (1, pdim) |
[out] | eff_mass_inv | (pdim, pdim, nik, nst) |
Definition at line 301 of file kdotp_calc.F90.
subroutine, public kdotp_calc_oct_m::dkdotp_add_occ | ( | type(namespace_t), intent(in) | namespace, |
class(space_t), intent(in) | space, | ||
type(grid_t), intent(in) | gr, | ||
type(states_elec_t), intent(in) | st, | ||
type(hamiltonian_elec_t), intent(inout) | hm, | ||
class(perturbation_t), intent(in) | pert, | ||
type(lr_t), intent(inout) | kdotp_lr, | ||
real(real64), intent(in) | degen_thres | ||
) |
add projection onto occupied states, by sum over states
Definition at line 399 of file kdotp_calc.F90.
subroutine, public kdotp_calc_oct_m::zcalc_eff_mass_inv | ( | type(namespace_t), intent(in) | namespace, |
class(space_t), intent(in) | space, | ||
type(grid_t), intent(in) | gr, | ||
type(states_elec_t), intent(in) | st, | ||
type(hamiltonian_elec_t), intent(inout) | hm, | ||
type(lr_t), dimension(:,:), intent(in) | lr, | ||
class(perturbation_t), intent(inout) | pert, | ||
real(real64), dimension(:,:,:,:), intent(out) | eff_mass_inv, | ||
real(real64), intent(in) | degen_thres | ||
) |
Computes the effective mass tensor.
This is obtained using the formula
\[ m^-1[ij] = <psi0|H2ij|psi0> + 2*Re<psi0|H'i|psi'j> \]
for each state, spin, and k-point The off-diagonal elements are not correct in a degenerate subspace
[in] | lr | (1, pdim) |
[out] | eff_mass_inv | (pdim, pdim, nik, nst) |
Definition at line 540 of file kdotp_calc.F90.
subroutine, public kdotp_calc_oct_m::zkdotp_add_occ | ( | type(namespace_t), intent(in) | namespace, |
class(space_t), intent(in) | space, | ||
type(grid_t), intent(in) | gr, | ||
type(states_elec_t), intent(in) | st, | ||
type(hamiltonian_elec_t), intent(inout) | hm, | ||
class(perturbation_t), intent(in) | pert, | ||
type(lr_t), intent(inout) | kdotp_lr, | ||
real(real64), intent(in) | degen_thres | ||
) |
add projection onto occupied states, by sum over states
Definition at line 638 of file kdotp_calc.F90.