Octopus
hamiltonian_elec_oct_m Module Reference

Data Types

type  hamiltonian_elec_t
 

Functions/Subroutines

subroutine, public hamiltonian_elec_init (hm, namespace, space, gr, ions, ext_partners, st, theory_level, xc, mc, kpoints, need_exchange, xc_photons)
 
subroutine, public hamiltonian_elec_end (hm)
 
logical function hamiltonian_elec_hermitian (hm)
 
subroutine hamiltonian_elec_span (hm, delta, emin, namespace)
 
pure logical function, public hamiltonian_elec_inh_term (hm)
 
subroutine, public hamiltonian_elec_set_inh (hm, st)
 
subroutine, public hamiltonian_elec_remove_inh (hm)
 
subroutine, public hamiltonian_elec_adjoint (hm)
 
subroutine, public hamiltonian_elec_not_adjoint (hm)
 
subroutine hamiltonian_elec_update (this, mesh, namespace, space, ext_partners, time)
 (re-)build the Hamiltonian for the next application: More...
 
subroutine, public hamiltonian_elec_update_pot (this, mesh, accumulate)
 Update the KS potential of the electronic Hamiltonian. More...
 
subroutine, public hamiltonian_elec_epot_generate (this, namespace, space, gr, ions, ext_partners, st, time)
 
real(real64) function, public hamiltonian_elec_get_time (this)
 
pure logical function, public hamiltonian_elec_apply_packed (this)
 
subroutine, public zhamiltonian_elec_apply_atom (hm, namespace, space, latt, species, pos, ia, mesh, psi, vpsi)
 
subroutine, public hamiltonian_elec_dump_vhxc (restart, hm, space, mesh, ierr)
 
subroutine, public hamiltonian_elec_load_vhxc (restart, hm, space, mesh, ierr)
 
subroutine, public hamiltonian_elec_update_with_ext_pot (this, mesh, space, ext_partners, time, mu)
 This is an extension of "hamiltonian_elec_update_pot" to be used by the CFM4 propagator. It updates the Hamiltonian by considering a weighted sum of the external potentials at times time(1) and time(2), weighted by alpha(1) and alpha(2). More...
 
subroutine, public hamiltonian_elec_set_vhxc (hm, mesh, vold, vold_tau)
 
logical function, public hamiltonian_elec_needs_current (hm, states_are_real)
 
subroutine, public zhamiltonian_elec_apply_all (hm, namespace, mesh, st, hst)
 
subroutine, public magnus (hm, namespace, mesh, psi, hpsi, ik, vmagnus, set_phase)
 
subroutine vborders (mesh, hm, psi, hpsi)
 
logical function, public hamiltonian_elec_has_kick (hm)
 
subroutine hamiltonian_elec_set_mass (this, namespace, mass)
 set the effective electron mass, checking whether it was previously redefined. More...
 
subroutine, public hamiltonian_elec_copy_and_set_phase (hm, gr, kpt, psib, psib_with_phase)
 Copy a batch to another batch and apply the Bloch phase to it. More...
 
subroutine dhamiltonian_elec_apply (hm, namespace, mesh, psib, hpsib, terms, set_bc)
 
subroutine dhamiltonian_elec_magnus_apply (hm, namespace, mesh, psib, hpsib, vmagnus)
 
subroutine, public dhamiltonian_elec_apply_batch (hm, namespace, mesh, psib, hpsib, terms, set_bc)
 
subroutine dhamiltonian_elec_external (this, mesh, psib, vpsib)
 
subroutine, public dhamiltonian_elec_apply_single (hm, namespace, mesh, psi, hpsi, ist, ik, terms, set_bc, set_phase)
 
subroutine dhamiltonian_elec_magnus_apply_batch (hm, namespace, mesh, psib, hpsib, vmagnus)
 
subroutine dh_mgga_terms (hm, mesh, psib, hpsib, ghost_update)
 
subroutine, public dvmask (mesh, hm, st)
 
subroutine, public dhamiltonian_elec_diagonal (hm, mesh, diag, ik)
 
subroutine zhamiltonian_elec_apply (hm, namespace, mesh, psib, hpsib, terms, set_bc)
 
subroutine zhamiltonian_elec_magnus_apply (hm, namespace, mesh, psib, hpsib, vmagnus)
 
subroutine, public zhamiltonian_elec_apply_batch (hm, namespace, mesh, psib, hpsib, terms, set_bc)
 
subroutine zhamiltonian_elec_external (this, mesh, psib, vpsib)
 
subroutine, public zhamiltonian_elec_apply_single (hm, namespace, mesh, psi, hpsi, ist, ik, terms, set_bc, set_phase)
 
subroutine zhamiltonian_elec_magnus_apply_batch (hm, namespace, mesh, psib, hpsib, vmagnus)
 
subroutine zh_mgga_terms (hm, mesh, psib, hpsib, ghost_update)
 
subroutine, public zvmask (mesh, hm, st)
 
subroutine, public zhamiltonian_elec_diagonal (hm, mesh, diag, ik)
 

Variables

integer, parameter, public length = 1
 
integer, parameter, public velocity = 2
 
integer, parameter, public independent_particles = 2
 
integer, parameter, public hartree = 1
 
integer, parameter, public hartree_fock = 3
 
integer, parameter, public kohn_sham_dft = 4
 
integer, parameter, public generalized_kohn_sham_dft = 5
 
integer, parameter, public rdmft = 7
 

Function/Subroutine Documentation

◆ hamiltonian_elec_init()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_init ( type(hamiltonian_elec_t), intent(inout), target  hm,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(grid_t), intent(inout), target  gr,
type(ions_t), intent(inout), target  ions,
type(partner_list_t), intent(inout)  ext_partners,
type(states_elec_t), intent(inout), target  st,
integer, intent(in)  theory_level,
type(xc_t), intent(in), target  xc,
type(multicomm_t), intent(in)  mc,
type(kpoints_t), intent(in), target  kpoints,
logical, intent(in), optional  need_exchange,
type(xc_photons_t), intent(in), optional, target  xc_photons 
)

Definition at line 337 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_end()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_end ( type(hamiltonian_elec_t), intent(inout), target  hm)

Definition at line 785 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_hermitian()

logical function hamiltonian_elec_oct_m::hamiltonian_elec_hermitian ( class(hamiltonian_elec_t), intent(in)  hm)
private

Definition at line 854 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_span()

subroutine hamiltonian_elec_oct_m::hamiltonian_elec_span ( class(hamiltonian_elec_t), intent(inout)  hm,
real(real64), dimension(:), intent(in)  delta,
real(real64), intent(in)  emin,
type(namespace_t), intent(in)  namespace 
)
private

Definition at line 866 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_inh_term()

pure logical function, public hamiltonian_elec_oct_m::hamiltonian_elec_inh_term ( type(hamiltonian_elec_t), intent(in)  hm)

Definition at line 888 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_set_inh()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_set_inh ( type(hamiltonian_elec_t), intent(inout)  hm,
type(states_elec_t), intent(in)  st 
)

Definition at line 896 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_remove_inh()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_remove_inh ( type(hamiltonian_elec_t), intent(inout)  hm)

Definition at line 911 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_adjoint()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_adjoint ( type(hamiltonian_elec_t), intent(inout)  hm)

Definition at line 925 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_not_adjoint()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_not_adjoint ( type(hamiltonian_elec_t), intent(inout)  hm)

Definition at line 942 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_update()

subroutine hamiltonian_elec_oct_m::hamiltonian_elec_update ( class(hamiltonian_elec_t), intent(inout)  this,
class(mesh_t), intent(in)  mesh,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(partner_list_t), intent(in)  ext_partners,
real(real64), intent(in), optional  time 
)
private

(re-)build the Hamiltonian for the next application:

Definition at line 960 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_update_pot()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_update_pot ( type(hamiltonian_elec_t), intent(inout)  this,
class(mesh_t), intent(in)  mesh,
logical, intent(in), optional  accumulate 
)

Update the KS potential of the electronic Hamiltonian.

Adds PCM contributions

Adds possible absorbing potential

Definition at line 1191 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_epot_generate()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_epot_generate ( type(hamiltonian_elec_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
class(electron_space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(ions_t), intent(inout), target  ions,
type(partner_list_t), intent(in)  ext_partners,
type(states_elec_t), intent(inout)  st,
real(real64), intent(in), optional  time 
)

Generates the real-space PCM potential due to nuclei which do not change during the SCF calculation.

Local field effects due to static electrostatic potentials (if they were). The laser and the kick are included in subroutine v_ks_hartree (module v_ks).

Definition at line 1311 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_get_time()

real(real64) function, public hamiltonian_elec_oct_m::hamiltonian_elec_get_time ( type(hamiltonian_elec_t), intent(inout)  this)

Definition at line 1394 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_apply_packed()

pure logical function, public hamiltonian_elec_oct_m::hamiltonian_elec_apply_packed ( class(hamiltonian_elec_t), intent(in)  this)

Definition at line 1402 of file hamiltonian_elec.F90.

◆ zhamiltonian_elec_apply_atom()

subroutine, public hamiltonian_elec_oct_m::zhamiltonian_elec_apply_atom ( type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(lattice_vectors_t), intent(in)  latt,
class(species_t), intent(in)  species,
real(real64), dimension(1:space%dim), intent(in)  pos,
integer, intent(in)  ia,
class(mesh_t), intent(in)  mesh,
complex(real64), dimension(:,:), intent(in)  psi,
complex(real64), dimension(:,:), intent(out)  vpsi 
)
Parameters
[in]psi(grnp_part, hmddim)
[out]vpsi(grnp, hmddim)

Definition at line 1411 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_dump_vhxc()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_dump_vhxc ( type(restart_t), intent(in)  restart,
type(hamiltonian_elec_t), intent(in)  hm,
class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
integer, intent(out)  ierr 
)

Definition at line 1441 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_load_vhxc()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_load_vhxc ( type(restart_t), intent(in)  restart,
type(hamiltonian_elec_t), intent(inout)  hm,
class(space_t), intent(in)  space,
class(mesh_t), intent(in)  mesh,
integer, intent(out)  ierr 
)

Definition at line 1537 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_update_with_ext_pot()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_update_with_ext_pot ( type(hamiltonian_elec_t), intent(inout)  this,
class(mesh_t), intent(in)  mesh,
class(space_t), intent(in)  space,
type(partner_list_t), intent(in)  ext_partners,
real(real64), dimension(1:2), intent(in)  time,
real(real64), dimension(1:2), intent(in)  mu 
)

This is an extension of "hamiltonian_elec_update_pot" to be used by the CFM4 propagator. It updates the Hamiltonian by considering a weighted sum of the external potentials at times time(1) and time(2), weighted by alpha(1) and alpha(2).

Definition at line 1607 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_set_vhxc()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_set_vhxc ( type(hamiltonian_elec_t), intent(inout)  hm,
class(mesh_t), intent(in)  mesh,
real(real64), dimension(:, :), intent(in), contiguous  vold,
real(real64), dimension(:, :), intent(in), optional, contiguous  vold_tau 
)

Definition at line 1803 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_needs_current()

logical function, public hamiltonian_elec_oct_m::hamiltonian_elec_needs_current ( type(hamiltonian_elec_t), intent(in)  hm,
logical, intent(in)  states_are_real 
)

Definition at line 1819 of file hamiltonian_elec.F90.

◆ zhamiltonian_elec_apply_all()

subroutine, public hamiltonian_elec_oct_m::zhamiltonian_elec_apply_all ( type(hamiltonian_elec_t), intent(inout)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(inout)  st,
type(states_elec_t), intent(inout)  hst 
)

Definition at line 1837 of file hamiltonian_elec.F90.

◆ magnus()

subroutine, public hamiltonian_elec_oct_m::magnus ( type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
complex(real64), dimension(:,:), intent(inout)  psi,
complex(real64), dimension(:,:), intent(out)  hpsi,
integer, intent(in)  ik,
real(real64), dimension(:, :, :), intent(in)  vmagnus,
logical, intent(in), optional  set_phase 
)
Parameters
[in]set_phaseIf set to .false. the phase will not be added to the states.

Definition at line 1886 of file hamiltonian_elec.F90.

◆ vborders()

subroutine hamiltonian_elec_oct_m::vborders ( class(mesh_t), intent(in)  mesh,
type(hamiltonian_elec_t), intent(in)  hm,
complex(real64), dimension(:), intent(in)  psi,
complex(real64), dimension(:), intent(inout)  hpsi 
)
private

Definition at line 1938 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_has_kick()

logical function, public hamiltonian_elec_oct_m::hamiltonian_elec_has_kick ( type(hamiltonian_elec_t), intent(in)  hm)

Definition at line 1958 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_set_mass()

subroutine hamiltonian_elec_oct_m::hamiltonian_elec_set_mass ( class(hamiltonian_elec_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
real(real64), intent(in)  mass 
)
private

set the effective electron mass, checking whether it was previously redefined.

Definition at line 1970 of file hamiltonian_elec.F90.

◆ hamiltonian_elec_copy_and_set_phase()

subroutine, public hamiltonian_elec_oct_m::hamiltonian_elec_copy_and_set_phase ( type(hamiltonian_elec_t), intent(in)  hm,
type(grid_t), intent(in)  gr,
type(distributed_t), intent(in)  kpt,
type(wfs_elec_t), intent(in)  psib,
type(wfs_elec_t), intent(out)  psib_with_phase 
)

Copy a batch to another batch and apply the Bloch phase to it.

On exist, psib_with_phase is packed If no phase is defined, a packed copy of psib is returned

TODO: This should should probably belong to wfs_elec_t, but cannot due to circular dependencies

Parameters
[in]kptk-point distribution
[in]psibBatched wave functions
[out]psib_with_phaseBatched wave functions with phase applied

Definition at line 1994 of file hamiltonian_elec.F90.

◆ dhamiltonian_elec_apply()

subroutine hamiltonian_elec_oct_m::dhamiltonian_elec_apply ( class(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
class(batch_t), intent(inout), target  psib,
class(batch_t), intent(inout), target  hpsib,
integer, intent(in), optional  terms,
logical, intent(in), optional  set_bc 
)
private
Parameters
[in]set_bcIf set to .false. the boundary conditions are assumed to be set previously.

Definition at line 2092 of file hamiltonian_elec.F90.

◆ dhamiltonian_elec_magnus_apply()

subroutine hamiltonian_elec_oct_m::dhamiltonian_elec_magnus_apply ( class(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
class(batch_t), intent(inout)  psib,
class(batch_t), intent(inout)  hpsib,
real(real64), dimension(:, :, :), intent(in)  vmagnus 
)
private

Definition at line 2121 of file hamiltonian_elec.F90.

◆ dhamiltonian_elec_apply_batch()

subroutine, public hamiltonian_elec_oct_m::dhamiltonian_elec_apply_batch ( type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
type(wfs_elec_t), intent(inout), target  psib,
type(wfs_elec_t), intent(inout), target  hpsib,
integer, intent(in), optional  terms,
logical, intent(in), optional  set_bc 
)
Parameters
[in]set_bcIf set to .false. the boundary conditions are assumed to be set previously.

Definition at line 2149 of file hamiltonian_elec.F90.

◆ dhamiltonian_elec_external()

subroutine hamiltonian_elec_oct_m::dhamiltonian_elec_external ( type(hamiltonian_elec_t), intent(in)  this,
class(mesh_t), intent(in)  mesh,
type(wfs_elec_t), intent(in)  psib,
type(wfs_elec_t), intent(inout)  vpsib 
)
private

Definition at line 2358 of file hamiltonian_elec.F90.

◆ dhamiltonian_elec_apply_single()

subroutine, public hamiltonian_elec_oct_m::dhamiltonian_elec_apply_single ( type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
real(real64), dimension(:,:), intent(inout), target, contiguous  psi,
real(real64), dimension(:,:), intent(inout), target, contiguous  hpsi,
integer, intent(in)  ist,
integer, intent(in)  ik,
integer, intent(in), optional  terms,
logical, intent(in), optional  set_bc,
logical, intent(in), optional  set_phase 
)
Parameters
[in]istthe index of the state
[in]ikthe index of the k-point
[in,out]psi(grmeshnp_part, hmddim)
[in,out]hpsi(grmeshnp, hmddim)

Definition at line 2407 of file hamiltonian_elec.F90.

◆ dhamiltonian_elec_magnus_apply_batch()

subroutine hamiltonian_elec_oct_m::dhamiltonian_elec_magnus_apply_batch ( type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
type(wfs_elec_t), intent(inout)  psib,
type(wfs_elec_t), intent(inout)  hpsib,
real(real64), dimension(:, :, :), intent(in)  vmagnus 
)
private

Definition at line 2441 of file hamiltonian_elec.F90.

◆ dh_mgga_terms()

subroutine hamiltonian_elec_oct_m::dh_mgga_terms ( type(hamiltonian_elec_t), intent(in)  hm,
class(mesh_t), intent(in)  mesh,
type(wfs_elec_t), intent(inout)  psib,
type(wfs_elec_t), intent(inout)  hpsib,
logical, intent(in)  ghost_update 
)
private

Definition at line 2493 of file hamiltonian_elec.F90.

◆ dvmask()

subroutine, public hamiltonian_elec_oct_m::dvmask ( class(mesh_t), intent(in)  mesh,
type(hamiltonian_elec_t), intent(in)  hm,
type(states_elec_t), intent(inout)  st 
)

Definition at line 2557 of file hamiltonian_elec.F90.

◆ dhamiltonian_elec_diagonal()

subroutine, public hamiltonian_elec_oct_m::dhamiltonian_elec_diagonal ( type(hamiltonian_elec_t), intent(in)  hm,
class(mesh_t), intent(in)  mesh,
real(real64), dimension(:,:), intent(out)  diag,
integer, intent(in)  ik 
)
Parameters
[out]diaghpsi(grmeshnp, hmddim)

Definition at line 2588 of file hamiltonian_elec.F90.

◆ zhamiltonian_elec_apply()

subroutine hamiltonian_elec_oct_m::zhamiltonian_elec_apply ( class(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
class(batch_t), intent(inout), target  psib,
class(batch_t), intent(inout), target  hpsib,
integer, intent(in), optional  terms,
logical, intent(in), optional  set_bc 
)
private
Parameters
[in]set_bcIf set to .false. the boundary conditions are assumed to be set previously.

Definition at line 2702 of file hamiltonian_elec.F90.

◆ zhamiltonian_elec_magnus_apply()

subroutine hamiltonian_elec_oct_m::zhamiltonian_elec_magnus_apply ( class(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
class(batch_t), intent(inout)  psib,
class(batch_t), intent(inout)  hpsib,
real(real64), dimension(:, :, :), intent(in)  vmagnus 
)
private

Definition at line 2731 of file hamiltonian_elec.F90.

◆ zhamiltonian_elec_apply_batch()

subroutine, public hamiltonian_elec_oct_m::zhamiltonian_elec_apply_batch ( type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
type(wfs_elec_t), intent(inout), target  psib,
type(wfs_elec_t), intent(inout), target  hpsib,
integer, intent(in), optional  terms,
logical, intent(in), optional  set_bc 
)
Parameters
[in]set_bcIf set to .false. the boundary conditions are assumed to be set previously.

Definition at line 2759 of file hamiltonian_elec.F90.

◆ zhamiltonian_elec_external()

subroutine hamiltonian_elec_oct_m::zhamiltonian_elec_external ( type(hamiltonian_elec_t), intent(in)  this,
class(mesh_t), intent(in)  mesh,
type(wfs_elec_t), intent(in)  psib,
type(wfs_elec_t), intent(inout)  vpsib 
)
private

Definition at line 2968 of file hamiltonian_elec.F90.

◆ zhamiltonian_elec_apply_single()

subroutine, public hamiltonian_elec_oct_m::zhamiltonian_elec_apply_single ( type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
complex(real64), dimension(:,:), intent(inout), target, contiguous  psi,
complex(real64), dimension(:,:), intent(inout), target, contiguous  hpsi,
integer, intent(in)  ist,
integer, intent(in)  ik,
integer, intent(in), optional  terms,
logical, intent(in), optional  set_bc,
logical, intent(in), optional  set_phase 
)
Parameters
[in]istthe index of the state
[in]ikthe index of the k-point
[in,out]psi(grmeshnp_part, hmddim)
[in,out]hpsi(grmeshnp, hmddim)

Definition at line 3017 of file hamiltonian_elec.F90.

◆ zhamiltonian_elec_magnus_apply_batch()

subroutine hamiltonian_elec_oct_m::zhamiltonian_elec_magnus_apply_batch ( type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
class(mesh_t), intent(in)  mesh,
type(wfs_elec_t), intent(inout)  psib,
type(wfs_elec_t), intent(inout)  hpsib,
real(real64), dimension(:, :, :), intent(in)  vmagnus 
)
private

Definition at line 3051 of file hamiltonian_elec.F90.

◆ zh_mgga_terms()

subroutine hamiltonian_elec_oct_m::zh_mgga_terms ( type(hamiltonian_elec_t), intent(in)  hm,
class(mesh_t), intent(in)  mesh,
type(wfs_elec_t), intent(inout)  psib,
type(wfs_elec_t), intent(inout)  hpsib,
logical, intent(in)  ghost_update 
)
private

Definition at line 3103 of file hamiltonian_elec.F90.

◆ zvmask()

subroutine, public hamiltonian_elec_oct_m::zvmask ( class(mesh_t), intent(in)  mesh,
type(hamiltonian_elec_t), intent(in)  hm,
type(states_elec_t), intent(inout)  st 
)

Definition at line 3167 of file hamiltonian_elec.F90.

◆ zhamiltonian_elec_diagonal()

subroutine, public hamiltonian_elec_oct_m::zhamiltonian_elec_diagonal ( type(hamiltonian_elec_t), intent(in)  hm,
class(mesh_t), intent(in)  mesh,
complex(real64), dimension(:,:), intent(out)  diag,
integer, intent(in)  ik 
)
Parameters
[out]diaghpsi(grmeshnp, hmddim)

Definition at line 3198 of file hamiltonian_elec.F90.

Variable Documentation

◆ length

integer, parameter, public hamiltonian_elec_oct_m::length = 1

Definition at line 321 of file hamiltonian_elec.F90.

◆ velocity

integer, parameter, public hamiltonian_elec_oct_m::velocity = 2

Definition at line 321 of file hamiltonian_elec.F90.

◆ independent_particles

integer, parameter, public hamiltonian_elec_oct_m::independent_particles = 2

Definition at line 325 of file hamiltonian_elec.F90.

◆ hartree

integer, parameter, public hamiltonian_elec_oct_m::hartree = 1

Definition at line 325 of file hamiltonian_elec.F90.

◆ hartree_fock

integer, parameter, public hamiltonian_elec_oct_m::hartree_fock = 3

Definition at line 325 of file hamiltonian_elec.F90.

◆ kohn_sham_dft

integer, parameter, public hamiltonian_elec_oct_m::kohn_sham_dft = 4

Definition at line 325 of file hamiltonian_elec.F90.

◆ generalized_kohn_sham_dft

integer, parameter, public hamiltonian_elec_oct_m::generalized_kohn_sham_dft = 5

Definition at line 325 of file hamiltonian_elec.F90.

◆ rdmft

integer, parameter, public hamiltonian_elec_oct_m::rdmft = 7

Definition at line 325 of file hamiltonian_elec.F90.