Octopus
em_resp_calc_oct_m Module Reference

Data Types

type  matrix_t
 

Functions/Subroutines

subroutine, public lr_calc_current (st, space, gr, lr, lr_m)
 
character(len=12) function, public freq2str (freq)
 
character(len=100) function, public em_rho_tag (freq, dir, dir2, ipert)
 
character(len=100) function, public em_wfs_tag (idir, ifactor, idir2, ipert)
 
integer pure function, public magn_dir (dir, ind)
 
character(len=2) pure function index2pert (ipert)
 
subroutine, public dlr_calc_elf (st, space, gr, kpoints, lr, lr_m)
 
subroutine, public dcalc_polarizability_periodic (space, mesh, symm, st, em_lr, kdotp_lr, nsigma, zpol, ndir, zpol_k)
 alpha_ij(w) = -e sum(m occ, k) [(<u_mk(0)|-id/dk_i)|u_mkj(1)(w)> + <u_mkj(1)(-w)|(-id/dk_i|u_mk(0)>)] More...
 
subroutine, public dcalc_polarizability_finite (namespace, space, gr, st, hm, lr, nsigma, pert, zpol, doalldirs, ndir)
 alpha_ij(w) = - sum(m occ) [<psi_m(0)|r_i|psi_mj(1)(w)> + <psi_mj(1)(-w)|r_i|psi_m(0)>] minus sign is from electronic charge -e More...
 
subroutine, public dlr_calc_susceptibility (namespace, space, gr, st, hm, lr, nsigma, pert, chi_para, chi_dia)
 
subroutine, public dlr_calc_beta (sh, namespace, space, gr, st, hm, xc, em_lr, dipole, beta, kdotp_lr, kdotp_em_lr, occ_response, dl_eig)
 See (16) in X Andrade et al., J. Chem. Phys. 126, 184106 (2006) for finite systems and (10) in A Dal Corso et al., Phys. Rev. B 15, 15638 (1996) for periodic systems Supply only em_lr for finite systems, and both kdotp_lr and kdotp_em_lr for periodic em_lr(dir, sigma, omega) = electric perturbation of ground-state wavefunctions kdotp_lr(dir) = kdotp perturbation of ground-state wavefunctions kdotp_em_lr(dir1, dir2, sigma, omega) = kdotp perturbation of electric-perturbed wfns. More...
 
subroutine, public dpost_orthogonalize (space, mesh, st, nfactor, nsigma, freq_factor, omega, eta, em_lr, kdotp_em_lr)
 
subroutine, public dem_resp_calc_eigenvalues (space, mesh, latt, st, dl_eig)
 
subroutine, public dlr_calc_magneto_optics_finite (sh, sh_mo, namespace, space, gr, st, hm, ions, nsigma, nfactor, lr_e, lr_b, chi)
 
subroutine dcalc_kvar_energy (sh_mo, mesh, st, lr1, lr2, lr3, hpol_density)
 
subroutine, public dlr_calc_magneto_optics_periodic (sh, sh2, namespace, space, gr, st, hm, ions, nsigma, nfactor, nfactor_ke, freq_factor, lr_e, lr_b, lr_k, lr_ke, lr_kb, frequency, zpol, zpol_kout)
 
subroutine, public dlr_calc_magnetization_periodic (namespace, space, mesh, st, hm, lr_k, magn)
 
subroutine, public dlr_calc_susceptibility_periodic (namespace, space, symm, mesh, st, hm, lr_k, lr_b, lr_kk, lr_kb, magn)
 
subroutine dinhomog_per_component (namespace, space, gr, st, hm, ions, idir, ik, psi_k2, psi_out, factor_tot, factor_k, factor_second)
 
subroutine dinhomog_per_component_2nd_order (namespace, space, gr, st, hm, ions, idir, ik, psi_k2, psi_e, psi_out, factor_tot, factor_k, factor_e)
 
subroutine, public dinhomog_b (sh, namespace, space, gr, st, hm, ions, idir1, idir2, lr_k1, lr_k2, psi_out)
 
subroutine dinhomog_eb (mesh, st, ik, add_hartree, add_fxc, hvar, psi_b, psi_kb, factor_b, psi_out, psi_k1, psi_k2)
 
subroutine dinhomog_be (namespace, space, gr, st, hm, ions, idir1, idir2, ik, add_hartree, add_fxc, hvar, psi_e1, psi_e2, psi_ek1, psi_ek2, psi_k1, psi_k2, factor_e1, factor_e2, psi_out)
 
subroutine dinhomog_ke (namespace, space, gr, st, hm, ions, idir, ik, psi_e, psi_out)
 
subroutine dinhomog_k2 (namespace, space, gr, st, hm, ions, idir1, idir2, ik, psi_k2, psi_out)
 
subroutine dinhomog_kb (namespace, gr, space, st, hm, ions, idir, idir1, idir2, ik, psi_b, psi_k1, psi_k2, psi_out)
 
subroutine, public dinhomog_kb_tot (sh, namespace, space, gr, st, hm, ions, idir, idir1, idir2, lr_k, lr_b, lr_k1, lr_k2, lr_kk1, lr_kk2, psi_out)
 
subroutine, public dinhomog_ke_tot (sh, namespace, space, gr, st, hm, ions, idir, nsigma, lr_k, lr_e, lr_kk, psi_out)
 
subroutine, public dinhomog_k2_tot (namespace, space, gr, st, hm, ions, idir1, idir2, lr_k1, lr_k2, psi_out)
 
subroutine dcalc_rho (mesh, st, factor, factor_sum, factor_e, factor_k, lr_e, lr_k, lr0)
 
subroutine dcalc_hvar_psi (mesh, st, ik, hvar, psi_out)
 
subroutine dcalc_hvar_lr (mesh, st, ik, hvar, psi_in, factor1, factor2, psi_out)
 
subroutine dmf_dotp_matrix (mesh, nst, dim, psi1, psi2, res, factor)
 Multiplication of two blocks of states. More...
 
subroutine, public zlr_calc_elf (st, space, gr, kpoints, lr, lr_m)
 
subroutine, public zcalc_polarizability_periodic (space, mesh, symm, st, em_lr, kdotp_lr, nsigma, zpol, ndir, zpol_k)
 alpha_ij(w) = -e sum(m occ, k) [(<u_mk(0)|-id/dk_i)|u_mkj(1)(w)> + <u_mkj(1)(-w)|(-id/dk_i|u_mk(0)>)] More...
 
subroutine, public zcalc_polarizability_finite (namespace, space, gr, st, hm, lr, nsigma, pert, zpol, doalldirs, ndir)
 alpha_ij(w) = - sum(m occ) [<psi_m(0)|r_i|psi_mj(1)(w)> + <psi_mj(1)(-w)|r_i|psi_m(0)>] minus sign is from electronic charge -e More...
 
subroutine, public zlr_calc_susceptibility (namespace, space, gr, st, hm, lr, nsigma, pert, chi_para, chi_dia)
 
subroutine, public zlr_calc_beta (sh, namespace, space, gr, st, hm, xc, em_lr, dipole, beta, kdotp_lr, kdotp_em_lr, occ_response, dl_eig)
 See (16) in X Andrade et al., J. Chem. Phys. 126, 184106 (2006) for finite systems and (10) in A Dal Corso et al., Phys. Rev. B 15, 15638 (1996) for periodic systems Supply only em_lr for finite systems, and both kdotp_lr and kdotp_em_lr for periodic em_lr(dir, sigma, omega) = electric perturbation of ground-state wavefunctions kdotp_lr(dir) = kdotp perturbation of ground-state wavefunctions kdotp_em_lr(dir1, dir2, sigma, omega) = kdotp perturbation of electric-perturbed wfns. More...
 
subroutine, public zpost_orthogonalize (space, mesh, st, nfactor, nsigma, freq_factor, omega, eta, em_lr, kdotp_em_lr)
 
subroutine, public zem_resp_calc_eigenvalues (space, mesh, latt, st, dl_eig)
 
subroutine, public zlr_calc_magneto_optics_finite (sh, sh_mo, namespace, space, gr, st, hm, ions, nsigma, nfactor, lr_e, lr_b, chi)
 
subroutine zcalc_kvar_energy (sh_mo, mesh, st, lr1, lr2, lr3, hpol_density)
 
subroutine, public zlr_calc_magneto_optics_periodic (sh, sh2, namespace, space, gr, st, hm, ions, nsigma, nfactor, nfactor_ke, freq_factor, lr_e, lr_b, lr_k, lr_ke, lr_kb, frequency, zpol, zpol_kout)
 
subroutine, public zlr_calc_magnetization_periodic (namespace, space, mesh, st, hm, lr_k, magn)
 
subroutine, public zlr_calc_susceptibility_periodic (namespace, space, symm, mesh, st, hm, lr_k, lr_b, lr_kk, lr_kb, magn)
 
subroutine zinhomog_per_component (namespace, space, gr, st, hm, ions, idir, ik, psi_k2, psi_out, factor_tot, factor_k, factor_second)
 
subroutine zinhomog_per_component_2nd_order (namespace, space, gr, st, hm, ions, idir, ik, psi_k2, psi_e, psi_out, factor_tot, factor_k, factor_e)
 
subroutine, public zinhomog_b (sh, namespace, space, gr, st, hm, ions, idir1, idir2, lr_k1, lr_k2, psi_out)
 
subroutine zinhomog_eb (mesh, st, ik, add_hartree, add_fxc, hvar, psi_b, psi_kb, factor_b, psi_out, psi_k1, psi_k2)
 
subroutine zinhomog_be (namespace, space, gr, st, hm, ions, idir1, idir2, ik, add_hartree, add_fxc, hvar, psi_e1, psi_e2, psi_ek1, psi_ek2, psi_k1, psi_k2, factor_e1, factor_e2, psi_out)
 
subroutine zinhomog_ke (namespace, space, gr, st, hm, ions, idir, ik, psi_e, psi_out)
 
subroutine zinhomog_k2 (namespace, space, gr, st, hm, ions, idir1, idir2, ik, psi_k2, psi_out)
 
subroutine zinhomog_kb (namespace, gr, space, st, hm, ions, idir, idir1, idir2, ik, psi_b, psi_k1, psi_k2, psi_out)
 
subroutine, public zinhomog_kb_tot (sh, namespace, space, gr, st, hm, ions, idir, idir1, idir2, lr_k, lr_b, lr_k1, lr_k2, lr_kk1, lr_kk2, psi_out)
 
subroutine, public zinhomog_ke_tot (sh, namespace, space, gr, st, hm, ions, idir, nsigma, lr_k, lr_e, lr_kk, psi_out)
 
subroutine, public zinhomog_k2_tot (namespace, space, gr, st, hm, ions, idir1, idir2, lr_k1, lr_k2, psi_out)
 
subroutine zcalc_rho (mesh, st, factor, factor_sum, factor_e, factor_k, lr_e, lr_k, lr0)
 
subroutine zcalc_hvar_psi (mesh, st, ik, hvar, psi_out)
 
subroutine zcalc_hvar_lr (mesh, st, ik, hvar, psi_in, factor1, factor2, psi_out)
 
subroutine zmf_dotp_matrix (mesh, nst, dim, psi1, psi2, res, factor)
 Multiplication of two blocks of states. More...
 

Function/Subroutine Documentation

◆ lr_calc_current()

subroutine, public em_resp_calc_oct_m::lr_calc_current ( type(states_elec_t), intent(inout)  st,
class(space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(lr_t), intent(inout)  lr,
type(lr_t), intent(inout), optional  lr_m 
)

Definition at line 201 of file em_resp_calc.F90.

◆ freq2str()

character(len=12) function, public em_resp_calc_oct_m::freq2str ( real(real64), intent(in)  freq)

Definition at line 286 of file em_resp_calc.F90.

◆ em_rho_tag()

character(len=100) function, public em_resp_calc_oct_m::em_rho_tag ( real(real64), intent(in)  freq,
integer, intent(in)  dir,
integer, intent(in), optional  dir2,
integer, intent(in), optional  ipert 
)

Definition at line 308 of file em_resp_calc.F90.

◆ em_wfs_tag()

character(len=100) function, public em_resp_calc_oct_m::em_wfs_tag ( integer, intent(in)  idir,
integer, intent(in)  ifactor,
integer, intent(in), optional  idir2,
integer, intent(in), optional  ipert 
)

Definition at line 331 of file em_resp_calc.F90.

◆ magn_dir()

integer pure function, public em_resp_calc_oct_m::magn_dir ( integer, intent(in)  dir,
integer, intent(in)  ind 
)

Definition at line 353 of file em_resp_calc.F90.

◆ index2pert()

character(len=2) pure function em_resp_calc_oct_m::index2pert ( integer, intent(in)  ipert)
private

Definition at line 384 of file em_resp_calc.F90.

◆ dlr_calc_elf()

subroutine, public em_resp_calc_oct_m::dlr_calc_elf ( type(states_elec_t), intent(inout)  st,
class(space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(kpoints_t), intent(in)  kpoints,
type(lr_t), intent(inout)  lr,
type(lr_t), intent(inout), optional  lr_m 
)
Parameters
[in,out]lr_mwhen this argument is present, we are doing dynamical response

Definition at line 473 of file em_resp_calc.F90.

◆ dcalc_polarizability_periodic()

subroutine, public em_resp_calc_oct_m::dcalc_polarizability_periodic ( class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(symmetries_t), intent(in)  symm,
type(states_elec_t), intent(in)  st,
type(lr_t), dimension(:,:), intent(inout)  em_lr,
type(lr_t), dimension(:), intent(inout)  kdotp_lr,
integer, intent(in)  nsigma,
complex(real64), dimension(:, :), intent(out)  zpol,
integer, intent(in), optional  ndir,
complex(real64), dimension(:, :, :), intent(out), optional  zpol_k 
)

alpha_ij(w) = -e sum(m occ, k) [(<u_mk(0)|-id/dk_i)|u_mkj(1)(w)> + <u_mkj(1)(-w)|(-id/dk_i|u_mk(0)>)]

Parameters
[out]zpol(spacedim, spacedim)

Definition at line 715 of file em_resp_calc.F90.

◆ dcalc_polarizability_finite()

subroutine, public em_resp_calc_oct_m::dcalc_polarizability_finite ( 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(inout)  lr,
integer, intent(in)  nsigma,
class(perturbation_t), intent(inout)  pert,
complex(real64), dimension(1:space%dim, 1:space%dim), intent(out)  zpol,
logical, intent(in), optional  doalldirs,
integer, intent(in), optional  ndir 
)

alpha_ij(w) = - sum(m occ) [<psi_m(0)|r_i|psi_mj(1)(w)> + <psi_mj(1)(-w)|r_i|psi_m(0)>] minus sign is from electronic charge -e

Definition at line 786 of file em_resp_calc.F90.

◆ dlr_calc_susceptibility()

subroutine, public em_resp_calc_oct_m::dlr_calc_susceptibility ( 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(inout)  lr,
integer, intent(in)  nsigma,
class(perturbation_t), intent(inout)  pert,
complex(real64), dimension(:,:), intent(out)  chi_para,
complex(real64), dimension(:,:), intent(out)  chi_dia 
)

Definition at line 836 of file em_resp_calc.F90.

◆ dlr_calc_beta()

subroutine, public em_resp_calc_oct_m::dlr_calc_beta ( type(sternheimer_t), intent(inout)  sh,
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(xc_t), intent(in)  xc,
type(lr_t), dimension(:,:,:), intent(inout)  em_lr,
class(perturbation_t), intent(inout)  dipole,
complex(real64), dimension(1:space%dim, 1:space%dim, 1:space%dim), intent(out)  beta,
type(lr_t), dimension(:), intent(in), optional  kdotp_lr,
type(lr_t), dimension(:,:,:,:), intent(in), optional  kdotp_em_lr,
logical, intent(in), optional  occ_response,
real(real64), dimension(:,:,:), intent(in), optional  dl_eig 
)

See (16) in X Andrade et al., J. Chem. Phys. 126, 184106 (2006) for finite systems and (10) in A Dal Corso et al., Phys. Rev. B 15, 15638 (1996) for periodic systems Supply only em_lr for finite systems, and both kdotp_lr and kdotp_em_lr for periodic em_lr(dir, sigma, omega) = electric perturbation of ground-state wavefunctions kdotp_lr(dir) = kdotp perturbation of ground-state wavefunctions kdotp_em_lr(dir1, dir2, sigma, omega) = kdotp perturbation of electric-perturbed wfns.

Parameters
[in]kdotp_em_lrkdotp dir, em dir, sigma, factor
[in]occ_responsedo the wfns include the occ subspace? occ_response = yes is based on Baroni et al., RMP 73, 515 (2001), eqn 122 occ_response = no is based on Baroni et al., RMP 73, 515 (2001), eqn 123 The occ_response = no version can be used even if the wfns do include the occupied subspace, it is just more efficient to use the other formula.
[in]dl_eigstate, kpt, dir

Definition at line 903 of file em_resp_calc.F90.

◆ dpost_orthogonalize()

subroutine, public em_resp_calc_oct_m::dpost_orthogonalize ( class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
integer, intent(in)  nfactor,
integer, intent(in)  nsigma,
real(real64), dimension(:), intent(in)  freq_factor,
real(real64), intent(in)  omega,
real(real64), intent(in)  eta,
type(lr_t), dimension(:,:,:), intent(inout)  em_lr,
type(lr_t), dimension(:,:,:,:), intent(inout)  kdotp_em_lr 
)
Parameters
[in]etashould be zero when wfns are real
[in,out]em_lrem dir, sigma, factor
[in,out]kdotp_em_lrkdotp dir, em dir, sigma, factor

Definition at line 1235 of file em_resp_calc.F90.

◆ dem_resp_calc_eigenvalues()

subroutine, public em_resp_calc_oct_m::dem_resp_calc_eigenvalues ( class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(lattice_vectors_t), intent(in)  latt,
type(states_elec_t), intent(in)  st,
real(real64), dimension(:,:,:), intent(out), contiguous  dl_eig 
)
Parameters
[out]dl_eig(ist, ik, idir)

Definition at line 1286 of file em_resp_calc.F90.

◆ dlr_calc_magneto_optics_finite()

subroutine, public em_resp_calc_oct_m::dlr_calc_magneto_optics_finite ( type(sternheimer_t), intent(inout)  sh,
type(sternheimer_t), intent(inout)  sh_mo,
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(ions_t), intent(in)  ions,
integer, intent(in)  nsigma,
integer, intent(in)  nfactor,
type(lr_t), dimension(:,:,:), intent(inout)  lr_e,
type(lr_t), dimension(:,:), intent(inout)  lr_b,
complex(real64), dimension(:,:,:), intent(out), contiguous  chi 
)

Definition at line 1336 of file em_resp_calc.F90.

◆ dcalc_kvar_energy()

subroutine em_resp_calc_oct_m::dcalc_kvar_energy ( type(sternheimer_t), intent(in)  sh_mo,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
type(lr_t), intent(in)  lr1,
type(lr_t), intent(in)  lr2,
type(lr_t), intent(in)  lr3,
real(real64), dimension(:), intent(inout)  hpol_density 
)
private

Definition at line 1577 of file em_resp_calc.F90.

◆ dlr_calc_magneto_optics_periodic()

subroutine, public em_resp_calc_oct_m::dlr_calc_magneto_optics_periodic ( type(sternheimer_t), intent(inout)  sh,
type(sternheimer_t), intent(inout)  sh2,
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(ions_t), intent(in)  ions,
integer, intent(in)  nsigma,
integer, intent(in)  nfactor,
integer, intent(in)  nfactor_ke,
real(real64), dimension(:), intent(in)  freq_factor,
type(lr_t), dimension(:,:,:), intent(inout)  lr_e,
type(lr_t), dimension(:,:), intent(inout)  lr_b,
type(lr_t), dimension(:,:), intent(inout)  lr_k,
type(lr_t), dimension(:,:,:,:), intent(inout)  lr_ke,
type(lr_t), dimension(:,:,:), intent(inout)  lr_kb,
complex(real64), intent(in)  frequency,
complex(real64), dimension(:,:,:), intent(inout), contiguous  zpol,
complex(real64), dimension(:,:,:,:), intent(inout), optional, contiguous  zpol_kout 
)

Definition at line 1604 of file em_resp_calc.F90.

◆ dlr_calc_magnetization_periodic()

subroutine, public em_resp_calc_oct_m::dlr_calc_magnetization_periodic ( type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
type(hamiltonian_elec_t), intent(in)  hm,
type(lr_t), dimension(:), intent(inout)  lr_k,
complex(real64), dimension(:), intent(out), contiguous  magn 
)

Definition at line 2041 of file em_resp_calc.F90.

◆ dlr_calc_susceptibility_periodic()

subroutine, public em_resp_calc_oct_m::dlr_calc_susceptibility_periodic ( type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(symmetries_t), intent(in)  symm,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
type(hamiltonian_elec_t), intent(in)  hm,
type(lr_t), dimension(:), intent(inout)  lr_k,
type(lr_t), dimension(:), intent(inout)  lr_b,
type(lr_t), dimension(:,:), intent(inout)  lr_kk,
type(lr_t), dimension(:,:), intent(inout)  lr_kb,
complex(real64), dimension(:,:), intent(out), contiguous  magn 
)

Definition at line 2106 of file em_resp_calc.F90.

◆ dinhomog_per_component()

subroutine em_resp_calc_oct_m::dinhomog_per_component ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  ik,
real(real64), dimension(:,:,:), intent(in), contiguous  psi_k2,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_out,
real(real64), intent(in)  factor_tot,
real(real64), intent(in)  factor_k,
real(real64), intent(in)  factor_second 
)
private

Definition at line 2437 of file em_resp_calc.F90.

◆ dinhomog_per_component_2nd_order()

subroutine em_resp_calc_oct_m::dinhomog_per_component_2nd_order ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  ik,
real(real64), dimension(:,:,:), intent(in), contiguous  psi_k2,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_e,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_out,
real(real64), intent(in)  factor_tot,
real(real64), intent(in)  factor_k,
real(real64), intent(in)  factor_e 
)
private

Definition at line 2517 of file em_resp_calc.F90.

◆ dinhomog_b()

subroutine, public em_resp_calc_oct_m::dinhomog_b ( type(sternheimer_t), intent(inout)  sh,
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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
type(lr_t), dimension(:), intent(inout)  lr_k1,
type(lr_t), dimension(:), intent(inout)  lr_k2,
real(real64), dimension(:,:,:,:,:), intent(out), contiguous  psi_out 
)

Definition at line 2593 of file em_resp_calc.F90.

◆ dinhomog_eb()

subroutine em_resp_calc_oct_m::dinhomog_eb ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
integer, intent(in)  ik,
logical, intent(in)  add_hartree,
logical, intent(in)  add_fxc,
real(real64), dimension(:), intent(inout), contiguous  hvar,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_b,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_kb,
real(real64), intent(in)  factor_b,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_out,
real(real64), dimension(:,:,:), intent(inout), optional, contiguous  psi_k1,
real(real64), dimension(:,:,:), intent(inout), optional, contiguous  psi_k2 
)
private

Definition at line 2661 of file em_resp_calc.F90.

◆ dinhomog_be()

subroutine em_resp_calc_oct_m::dinhomog_be ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
integer, intent(in)  ik,
logical, intent(in)  add_hartree,
logical, intent(in)  add_fxc,
real(real64), dimension(:), intent(inout), contiguous  hvar,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_e1,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_e2,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_ek1,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_ek2,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_k1,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_k2,
real(real64), intent(in)  factor_e1,
real(real64), intent(in)  factor_e2,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 2770 of file em_resp_calc.F90.

◆ dinhomog_ke()

subroutine em_resp_calc_oct_m::dinhomog_ke ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  ik,
real(real64), dimension(:,:,:), intent(in), contiguous  psi_e,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 2824 of file em_resp_calc.F90.

◆ dinhomog_k2()

subroutine em_resp_calc_oct_m::dinhomog_k2 ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
integer, intent(in)  ik,
real(real64), dimension(:,:,:), intent(in), contiguous  psi_k2,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 2845 of file em_resp_calc.F90.

◆ dinhomog_kb()

subroutine em_resp_calc_oct_m::dinhomog_kb ( type(namespace_t), intent(in)  namespace,
type(grid_t), intent(in)  gr,
class(space_t), intent(in)  space,
type(states_elec_t), intent(in)  st,
type(hamiltonian_elec_t), intent(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
integer, intent(in)  ik,
real(real64), dimension(:,:,:), intent(in), contiguous  psi_b,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_k1,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_k2,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 2897 of file em_resp_calc.F90.

◆ dinhomog_kb_tot()

subroutine, public em_resp_calc_oct_m::dinhomog_kb_tot ( type(sternheimer_t), intent(inout)  sh,
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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
type(lr_t), dimension(:), intent(inout)  lr_k,
type(lr_t), dimension(:), intent(inout)  lr_b,
type(lr_t), dimension(:), intent(inout)  lr_k1,
type(lr_t), dimension(:), intent(inout)  lr_k2,
type(lr_t), dimension(:), intent(inout)  lr_kk1,
type(lr_t), dimension(:), intent(inout)  lr_kk2,
real(real64), dimension(:,:,:,:,:), intent(out), contiguous  psi_out 
)

Definition at line 3015 of file em_resp_calc.F90.

◆ dinhomog_ke_tot()

subroutine, public em_resp_calc_oct_m::dinhomog_ke_tot ( type(sternheimer_t), intent(inout)  sh,
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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  nsigma,
type(lr_t), dimension(:), intent(inout)  lr_k,
type(lr_t), dimension(:), intent(inout)  lr_e,
type(lr_t), dimension(:), intent(inout)  lr_kk,
real(real64), dimension(:,:,:,:,:), intent(out), contiguous  psi_out 
)

Definition at line 3096 of file em_resp_calc.F90.

◆ dinhomog_k2_tot()

subroutine, public em_resp_calc_oct_m::dinhomog_k2_tot ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
type(lr_t), dimension(:), intent(inout)  lr_k1,
type(lr_t), dimension(:), intent(inout)  lr_k2,
real(real64), dimension(:,:,:,:,:), intent(out), contiguous  psi_out 
)

Definition at line 3152 of file em_resp_calc.F90.

◆ dcalc_rho()

subroutine em_resp_calc_oct_m::dcalc_rho ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
real(real64), intent(in)  factor,
real(real64), intent(in)  factor_sum,
real(real64), intent(in)  factor_e,
real(real64), intent(in)  factor_k,
type(lr_t), intent(in)  lr_e,
type(lr_t), intent(in)  lr_k,
type(lr_t), intent(inout)  lr0 
)
private

Definition at line 3188 of file em_resp_calc.F90.

◆ dcalc_hvar_psi()

subroutine em_resp_calc_oct_m::dcalc_hvar_psi ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
integer, intent(in)  ik,
real(real64), dimension(:), intent(in), contiguous  hvar,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 3253 of file em_resp_calc.F90.

◆ dcalc_hvar_lr()

subroutine em_resp_calc_oct_m::dcalc_hvar_lr ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
integer, intent(in)  ik,
real(real64), dimension(:), intent(in), contiguous  hvar,
real(real64), dimension(:,:,:), intent(in), contiguous  psi_in,
real(real64), intent(in)  factor1,
real(real64), intent(in)  factor2,
real(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 3287 of file em_resp_calc.F90.

◆ dmf_dotp_matrix()

subroutine em_resp_calc_oct_m::dmf_dotp_matrix ( class(mesh_t), intent(in)  mesh,
integer, intent(in)  nst,
integer, intent(in)  dim,
real(real64), dimension(:, :, :), intent(in), target, contiguous  psi1,
real(real64), dimension(:, :, :), intent(in), target, contiguous  psi2,
real(real64), dimension(:, :), intent(inout), contiguous  res,
real(real64), intent(in), optional  factor 
)
private

Multiplication of two blocks of states.

Definition at line 3344 of file em_resp_calc.F90.

◆ zlr_calc_elf()

subroutine, public em_resp_calc_oct_m::zlr_calc_elf ( type(states_elec_t), intent(inout)  st,
class(space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(kpoints_t), intent(in)  kpoints,
type(lr_t), intent(inout)  lr,
type(lr_t), intent(inout), optional  lr_m 
)
Parameters
[in,out]lr_mwhen this argument is present, we are doing dynamical response

Definition at line 3449 of file em_resp_calc.F90.

◆ zcalc_polarizability_periodic()

subroutine, public em_resp_calc_oct_m::zcalc_polarizability_periodic ( class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(symmetries_t), intent(in)  symm,
type(states_elec_t), intent(in)  st,
type(lr_t), dimension(:,:), intent(inout)  em_lr,
type(lr_t), dimension(:), intent(inout)  kdotp_lr,
integer, intent(in)  nsigma,
complex(real64), dimension(:, :), intent(out)  zpol,
integer, intent(in), optional  ndir,
complex(real64), dimension(:, :, :), intent(out), optional  zpol_k 
)

alpha_ij(w) = -e sum(m occ, k) [(<u_mk(0)|-id/dk_i)|u_mkj(1)(w)> + <u_mkj(1)(-w)|(-id/dk_i|u_mk(0)>)]

Parameters
[out]zpol(spacedim, spacedim)

Definition at line 3691 of file em_resp_calc.F90.

◆ zcalc_polarizability_finite()

subroutine, public em_resp_calc_oct_m::zcalc_polarizability_finite ( 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(inout)  lr,
integer, intent(in)  nsigma,
class(perturbation_t), intent(inout)  pert,
complex(real64), dimension(1:space%dim, 1:space%dim), intent(out)  zpol,
logical, intent(in), optional  doalldirs,
integer, intent(in), optional  ndir 
)

alpha_ij(w) = - sum(m occ) [<psi_m(0)|r_i|psi_mj(1)(w)> + <psi_mj(1)(-w)|r_i|psi_m(0)>] minus sign is from electronic charge -e

Definition at line 3762 of file em_resp_calc.F90.

◆ zlr_calc_susceptibility()

subroutine, public em_resp_calc_oct_m::zlr_calc_susceptibility ( 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(inout)  lr,
integer, intent(in)  nsigma,
class(perturbation_t), intent(inout)  pert,
complex(real64), dimension(:,:), intent(out)  chi_para,
complex(real64), dimension(:,:), intent(out)  chi_dia 
)

Definition at line 3812 of file em_resp_calc.F90.

◆ zlr_calc_beta()

subroutine, public em_resp_calc_oct_m::zlr_calc_beta ( type(sternheimer_t), intent(inout)  sh,
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(xc_t), intent(in)  xc,
type(lr_t), dimension(:,:,:), intent(inout)  em_lr,
class(perturbation_t), intent(inout)  dipole,
complex(real64), dimension(1:space%dim, 1:space%dim, 1:space%dim), intent(out)  beta,
type(lr_t), dimension(:), intent(in), optional  kdotp_lr,
type(lr_t), dimension(:,:,:,:), intent(in), optional  kdotp_em_lr,
logical, intent(in), optional  occ_response,
real(real64), dimension(:,:,:), intent(in), optional  dl_eig 
)

See (16) in X Andrade et al., J. Chem. Phys. 126, 184106 (2006) for finite systems and (10) in A Dal Corso et al., Phys. Rev. B 15, 15638 (1996) for periodic systems Supply only em_lr for finite systems, and both kdotp_lr and kdotp_em_lr for periodic em_lr(dir, sigma, omega) = electric perturbation of ground-state wavefunctions kdotp_lr(dir) = kdotp perturbation of ground-state wavefunctions kdotp_em_lr(dir1, dir2, sigma, omega) = kdotp perturbation of electric-perturbed wfns.

Parameters
[in]kdotp_em_lrkdotp dir, em dir, sigma, factor
[in]occ_responsedo the wfns include the occ subspace? occ_response = yes is based on Baroni et al., RMP 73, 515 (2001), eqn 122 occ_response = no is based on Baroni et al., RMP 73, 515 (2001), eqn 123 The occ_response = no version can be used even if the wfns do include the occupied subspace, it is just more efficient to use the other formula.
[in]dl_eigstate, kpt, dir

Definition at line 3879 of file em_resp_calc.F90.

◆ zpost_orthogonalize()

subroutine, public em_resp_calc_oct_m::zpost_orthogonalize ( class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
integer, intent(in)  nfactor,
integer, intent(in)  nsigma,
real(real64), dimension(:), intent(in)  freq_factor,
real(real64), intent(in)  omega,
real(real64), intent(in)  eta,
type(lr_t), dimension(:,:,:), intent(inout)  em_lr,
type(lr_t), dimension(:,:,:,:), intent(inout)  kdotp_em_lr 
)
Parameters
[in]etashould be zero when wfns are real
[in,out]em_lrem dir, sigma, factor
[in,out]kdotp_em_lrkdotp dir, em dir, sigma, factor

Definition at line 4211 of file em_resp_calc.F90.

◆ zem_resp_calc_eigenvalues()

subroutine, public em_resp_calc_oct_m::zem_resp_calc_eigenvalues ( class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(lattice_vectors_t), intent(in)  latt,
type(states_elec_t), intent(in)  st,
real(real64), dimension(:,:,:), intent(out), contiguous  dl_eig 
)
Parameters
[out]dl_eig(ist, ik, idir)

Definition at line 4255 of file em_resp_calc.F90.

◆ zlr_calc_magneto_optics_finite()

subroutine, public em_resp_calc_oct_m::zlr_calc_magneto_optics_finite ( type(sternheimer_t), intent(inout)  sh,
type(sternheimer_t), intent(inout)  sh_mo,
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(ions_t), intent(in)  ions,
integer, intent(in)  nsigma,
integer, intent(in)  nfactor,
type(lr_t), dimension(:,:,:), intent(inout)  lr_e,
type(lr_t), dimension(:,:), intent(inout)  lr_b,
complex(real64), dimension(:,:,:), intent(out), contiguous  chi 
)

Definition at line 4305 of file em_resp_calc.F90.

◆ zcalc_kvar_energy()

subroutine em_resp_calc_oct_m::zcalc_kvar_energy ( type(sternheimer_t), intent(in)  sh_mo,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
type(lr_t), intent(in)  lr1,
type(lr_t), intent(in)  lr2,
type(lr_t), intent(in)  lr3,
complex(real64), dimension(:), intent(inout)  hpol_density 
)
private

Definition at line 4546 of file em_resp_calc.F90.

◆ zlr_calc_magneto_optics_periodic()

subroutine, public em_resp_calc_oct_m::zlr_calc_magneto_optics_periodic ( type(sternheimer_t), intent(inout)  sh,
type(sternheimer_t), intent(inout)  sh2,
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(ions_t), intent(in)  ions,
integer, intent(in)  nsigma,
integer, intent(in)  nfactor,
integer, intent(in)  nfactor_ke,
real(real64), dimension(:), intent(in)  freq_factor,
type(lr_t), dimension(:,:,:), intent(inout)  lr_e,
type(lr_t), dimension(:,:), intent(inout)  lr_b,
type(lr_t), dimension(:,:), intent(inout)  lr_k,
type(lr_t), dimension(:,:,:,:), intent(inout)  lr_ke,
type(lr_t), dimension(:,:,:), intent(inout)  lr_kb,
complex(real64), intent(in)  frequency,
complex(real64), dimension(:,:,:), intent(inout), contiguous  zpol,
complex(real64), dimension(:,:,:,:), intent(inout), optional, contiguous  zpol_kout 
)

Definition at line 4573 of file em_resp_calc.F90.

◆ zlr_calc_magnetization_periodic()

subroutine, public em_resp_calc_oct_m::zlr_calc_magnetization_periodic ( type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
type(hamiltonian_elec_t), intent(in)  hm,
type(lr_t), dimension(:), intent(inout)  lr_k,
complex(real64), dimension(:), intent(out), contiguous  magn 
)

Definition at line 5010 of file em_resp_calc.F90.

◆ zlr_calc_susceptibility_periodic()

subroutine, public em_resp_calc_oct_m::zlr_calc_susceptibility_periodic ( type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(symmetries_t), intent(in)  symm,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
type(hamiltonian_elec_t), intent(in)  hm,
type(lr_t), dimension(:), intent(inout)  lr_k,
type(lr_t), dimension(:), intent(inout)  lr_b,
type(lr_t), dimension(:,:), intent(inout)  lr_kk,
type(lr_t), dimension(:,:), intent(inout)  lr_kb,
complex(real64), dimension(:,:), intent(out), contiguous  magn 
)

Definition at line 5075 of file em_resp_calc.F90.

◆ zinhomog_per_component()

subroutine em_resp_calc_oct_m::zinhomog_per_component ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  ik,
complex(real64), dimension(:,:,:), intent(in), contiguous  psi_k2,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_out,
complex(real64), intent(in)  factor_tot,
complex(real64), intent(in)  factor_k,
complex(real64), intent(in)  factor_second 
)
private

Definition at line 5406 of file em_resp_calc.F90.

◆ zinhomog_per_component_2nd_order()

subroutine em_resp_calc_oct_m::zinhomog_per_component_2nd_order ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  ik,
complex(real64), dimension(:,:,:), intent(in), contiguous  psi_k2,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_e,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_out,
complex(real64), intent(in)  factor_tot,
complex(real64), intent(in)  factor_k,
complex(real64), intent(in)  factor_e 
)
private

Definition at line 5486 of file em_resp_calc.F90.

◆ zinhomog_b()

subroutine, public em_resp_calc_oct_m::zinhomog_b ( type(sternheimer_t), intent(inout)  sh,
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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
type(lr_t), dimension(:), intent(inout)  lr_k1,
type(lr_t), dimension(:), intent(inout)  lr_k2,
complex(real64), dimension(:,:,:,:,:), intent(out), contiguous  psi_out 
)

Definition at line 5562 of file em_resp_calc.F90.

◆ zinhomog_eb()

subroutine em_resp_calc_oct_m::zinhomog_eb ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
integer, intent(in)  ik,
logical, intent(in)  add_hartree,
logical, intent(in)  add_fxc,
complex(real64), dimension(:), intent(inout), contiguous  hvar,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_b,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_kb,
complex(real64), intent(in)  factor_b,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_out,
complex(real64), dimension(:,:,:), intent(inout), optional, contiguous  psi_k1,
complex(real64), dimension(:,:,:), intent(inout), optional, contiguous  psi_k2 
)
private

Definition at line 5630 of file em_resp_calc.F90.

◆ zinhomog_be()

subroutine em_resp_calc_oct_m::zinhomog_be ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
integer, intent(in)  ik,
logical, intent(in)  add_hartree,
logical, intent(in)  add_fxc,
complex(real64), dimension(:), intent(inout), contiguous  hvar,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_e1,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_e2,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_ek1,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_ek2,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_k1,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_k2,
complex(real64), intent(in)  factor_e1,
complex(real64), intent(in)  factor_e2,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 5739 of file em_resp_calc.F90.

◆ zinhomog_ke()

subroutine em_resp_calc_oct_m::zinhomog_ke ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  ik,
complex(real64), dimension(:,:,:), intent(in), contiguous  psi_e,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 5793 of file em_resp_calc.F90.

◆ zinhomog_k2()

subroutine em_resp_calc_oct_m::zinhomog_k2 ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
integer, intent(in)  ik,
complex(real64), dimension(:,:,:), intent(in), contiguous  psi_k2,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 5814 of file em_resp_calc.F90.

◆ zinhomog_kb()

subroutine em_resp_calc_oct_m::zinhomog_kb ( type(namespace_t), intent(in)  namespace,
type(grid_t), intent(in)  gr,
class(space_t), intent(in)  space,
type(states_elec_t), intent(in)  st,
type(hamiltonian_elec_t), intent(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
integer, intent(in)  ik,
complex(real64), dimension(:,:,:), intent(in), contiguous  psi_b,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_k1,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_k2,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 5866 of file em_resp_calc.F90.

◆ zinhomog_kb_tot()

subroutine, public em_resp_calc_oct_m::zinhomog_kb_tot ( type(sternheimer_t), intent(inout)  sh,
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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
type(lr_t), dimension(:), intent(inout)  lr_k,
type(lr_t), dimension(:), intent(inout)  lr_b,
type(lr_t), dimension(:), intent(inout)  lr_k1,
type(lr_t), dimension(:), intent(inout)  lr_k2,
type(lr_t), dimension(:), intent(inout)  lr_kk1,
type(lr_t), dimension(:), intent(inout)  lr_kk2,
complex(real64), dimension(:,:,:,:,:), intent(out), contiguous  psi_out 
)

Definition at line 5984 of file em_resp_calc.F90.

◆ zinhomog_ke_tot()

subroutine, public em_resp_calc_oct_m::zinhomog_ke_tot ( type(sternheimer_t), intent(inout)  sh,
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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir,
integer, intent(in)  nsigma,
type(lr_t), dimension(:), intent(inout)  lr_k,
type(lr_t), dimension(:), intent(inout)  lr_e,
type(lr_t), dimension(:), intent(inout)  lr_kk,
complex(real64), dimension(:,:,:,:,:), intent(out), contiguous  psi_out 
)

Definition at line 6065 of file em_resp_calc.F90.

◆ zinhomog_k2_tot()

subroutine, public em_resp_calc_oct_m::zinhomog_k2_tot ( 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(in)  hm,
type(ions_t), intent(in)  ions,
integer, intent(in)  idir1,
integer, intent(in)  idir2,
type(lr_t), dimension(:), intent(inout)  lr_k1,
type(lr_t), dimension(:), intent(inout)  lr_k2,
complex(real64), dimension(:,:,:,:,:), intent(out), contiguous  psi_out 
)

Definition at line 6121 of file em_resp_calc.F90.

◆ zcalc_rho()

subroutine em_resp_calc_oct_m::zcalc_rho ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
complex(real64), intent(in)  factor,
complex(real64), intent(in)  factor_sum,
complex(real64), intent(in)  factor_e,
complex(real64), intent(in)  factor_k,
type(lr_t), intent(in)  lr_e,
type(lr_t), intent(in)  lr_k,
type(lr_t), intent(inout)  lr0 
)
private

Definition at line 6157 of file em_resp_calc.F90.

◆ zcalc_hvar_psi()

subroutine em_resp_calc_oct_m::zcalc_hvar_psi ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
integer, intent(in)  ik,
complex(real64), dimension(:), intent(in), contiguous  hvar,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 6222 of file em_resp_calc.F90.

◆ zcalc_hvar_lr()

subroutine em_resp_calc_oct_m::zcalc_hvar_lr ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
integer, intent(in)  ik,
complex(real64), dimension(:), intent(in), contiguous  hvar,
complex(real64), dimension(:,:,:), intent(in), contiguous  psi_in,
complex(real64), intent(in)  factor1,
complex(real64), intent(in)  factor2,
complex(real64), dimension(:,:,:), intent(inout), contiguous  psi_out 
)
private

Definition at line 6256 of file em_resp_calc.F90.

◆ zmf_dotp_matrix()

subroutine em_resp_calc_oct_m::zmf_dotp_matrix ( class(mesh_t), intent(in)  mesh,
integer, intent(in)  nst,
integer, intent(in)  dim,
complex(real64), dimension(:, :, :), intent(in), target, contiguous  psi1,
complex(real64), dimension(:, :, :), intent(in), target, contiguous  psi2,
complex(real64), dimension(:, :), intent(inout), contiguous  res,
complex(real64), intent(in), optional  factor 
)
private

Multiplication of two blocks of states.

Definition at line 6313 of file em_resp_calc.F90.