Octopus
lda_u.F90 File Reference

Go to the source code of this file.

Modules

module  lda_u_oct_m
 

Data Types

module  lda_u_oct_m::lda_u_t
 Class to describe DFT+U parameters. More...
 

Functions/Subroutines

subroutine, public lda_u_oct_m::lda_u_init (this, namespace, space, level, gr, ions, st, mc, kpoints, has_phase)
 
subroutine lda_u_oct_m::lda_u_init_coulomb_integrals (this, namespace, space, gr, st, psolver, has_phase)
 
subroutine, public lda_u_oct_m::lda_u_end (this)
 
subroutine, public lda_u_oct_m::lda_u_update_basis (this, space, gr, ions, st, psolver, namespace, kpoints, has_phase)
 
subroutine, public lda_u_oct_m::lda_u_update_occ_matrices (this, namespace, mesh, st, hm_base, phase, energy)
 
subroutine, public lda_u_oct_m::lda_u_build_phase_correction (this, space, std, boundaries, namespace, kpoints, vec_pot, vec_pot_var)
 Build the phase correction to the global phase for all orbitals. More...
 
subroutine, public lda_u_oct_m::compute_acbno_u_kanamori (this, st, kanamori)
 
subroutine, public lda_u_oct_m::lda_u_freeze_occ (this)
 
subroutine, public lda_u_oct_m::lda_u_freeze_u (this)
 
subroutine, public lda_u_oct_m::lda_u_set_effectiveu (this, Ueff)
 
subroutine, public lda_u_oct_m::lda_u_get_effectiveu (this, Ueff)
 
subroutine, public lda_u_oct_m::lda_u_set_effectivev (this, Veff)
 
subroutine, public lda_u_oct_m::lda_u_get_effectivev (this, Veff)
 
subroutine, public lda_u_oct_m::lda_u_write_info (this, iunit, namespace)
 
subroutine lda_u_oct_m::lda_u_loadbasis (this, namespace, space, st, mesh, mc, ierr)
 
subroutine lda_u_oct_m::build_symmetrization_map (this, ions, gr, st)
 Builds a mapping between the orbital sets based on symmetries. More...
 
subroutine lda_u_oct_m::orbitals_get_symm_weight (os, space, latt, gr, symm, weight)
 Computes the weight of each rotated orbitals in the basis of the same localized subspace. More...
 
subroutine lda_u_oct_m::compute_complex_coulomb_integrals (this, gr, st, psolver, namespace, space)
 
subroutine lda_u_oct_m::compute_acbno_u_noncollinear (this, ios, namespace)
 This routine computes the effective U in the non-collinear case. More...
 
subroutine lda_u_oct_m::compute_acbno_v_noncollinear (this, ios)
 This routine computes the effective V in the noncollinear case. More...
 
subroutine, public lda_u_oct_m::dlda_u_apply (this, d, mesh, psib, hpsib)
 
subroutine lda_u_oct_m::dupdate_occ_matrices (this, namespace, mesh, st, lda_u_energy, phase)
 This routine computes the values of the occupation matrices. More...
 
subroutine lda_u_oct_m::dsymmetrize_occ_matrices (this, occ)
 Symmetrize the occupation matrices. More...
 
subroutine, public lda_u_oct_m::dcompute_dftu_energy (this, energy, st)
 This routine computes the value of the double counting term in the DFT+U energy. More...
 
subroutine, public lda_u_oct_m::dlda_u_update_potential (this, st)
 This routine computes the potential that, once multiplied by the projector Pmm' and summed over m and m' for all the atoms gives the full Hubbard potential. More...
 
subroutine lda_u_oct_m::dcompute_acbno_u (this, ios, namespace)
 This routine computes the effective U following the expression given in Agapito et al., Phys. Rev. X 5, 011006 (2015) More...
 
subroutine lda_u_oct_m::dcompute_acbno_u_restricted (this)
 This routine computes the effective Uin the spin-unpolarised case. More...
 
subroutine lda_u_oct_m::dcompute_acbno_v (this, ios)
 This routine computes the effective V in the spin-polarized case. More...
 
subroutine lda_u_oct_m::dcompute_acbno_v_restricted (this)
 This routine computes the effective V in the spin-unpolarised case. More...
 
subroutine lda_u_oct_m::dcompute_acbno_u_kanamori (this, kanamori)
 This routine computes the Kanamori U, Up, and J. More...
 
subroutine lda_u_oct_m::dcompute_acbno_u_kanamori_restricted (this, kanamori)
 This routine computes the Kanamori U, Up, and J. More...
 
subroutine lda_u_oct_m::dcompute_coulomb_integrals (this, namespace, space, gr, psolver)
 
subroutine, public lda_u_oct_m::dlda_u_commute_r_single (this, mesh, space, d, namespace, ist, ik, psi, gpsi, has_phase)
 
subroutine, public lda_u_oct_m::dlda_u_commute_r (this, mesh, space, d, namespace, psib, gpsib)
 This routine computes [r,V_lda+u] . More...
 
subroutine, public lda_u_oct_m::dlda_u_force (this, namespace, space, mesh, st, iq, psib, grad_psib, force, phase)
 
subroutine, public lda_u_oct_m::dlda_u_rvu (this, mesh, space, d, namespace, psib, gpsib)
 This routine computes \((r-R_J)V_{\rm DFT+U}|\psi_{n,\mathbf{k}}\rangle\). More...
 
subroutine, public lda_u_oct_m::dlda_u_set_occupations (this, occ)
 
subroutine, public lda_u_oct_m::dlda_u_get_occupations (this, occ)
 
subroutine lda_u_oct_m::dlda_u_allocate (this, st)
 
subroutine lda_u_oct_m::ddft_u_get_weight_projectors (this, os, ios, spin_component, psib, phi_dot_psi, weight)
 Given the dot products \(<phi mp | psi >\), this computes the weight of the DFT+U projectors. More...
 
subroutine, public lda_u_oct_m::zlda_u_apply (this, d, mesh, psib, hpsib)
 
subroutine lda_u_oct_m::zupdate_occ_matrices (this, namespace, mesh, st, lda_u_energy, phase)
 This routine computes the values of the occupation matrices. More...
 
subroutine lda_u_oct_m::zsymmetrize_occ_matrices (this, occ)
 Symmetrize the occupation matrices. More...
 
subroutine, public lda_u_oct_m::zcompute_dftu_energy (this, energy, st)
 This routine computes the value of the double counting term in the DFT+U energy. More...
 
subroutine, public lda_u_oct_m::zlda_u_update_potential (this, st)
 This routine computes the potential that, once multiplied by the projector Pmm' and summed over m and m' for all the atoms gives the full Hubbard potential. More...
 
subroutine lda_u_oct_m::zcompute_acbno_u (this, ios, namespace)
 This routine computes the effective U following the expression given in Agapito et al., Phys. Rev. X 5, 011006 (2015) More...
 
subroutine lda_u_oct_m::zcompute_acbno_u_restricted (this)
 This routine computes the effective Uin the spin-unpolarised case. More...
 
subroutine lda_u_oct_m::zcompute_acbno_v (this, ios)
 This routine computes the effective V in the spin-polarized case. More...
 
subroutine lda_u_oct_m::zcompute_acbno_v_restricted (this)
 This routine computes the effective V in the spin-unpolarised case. More...
 
subroutine lda_u_oct_m::zcompute_acbno_u_kanamori (this, kanamori)
 This routine computes the Kanamori U, Up, and J. More...
 
subroutine lda_u_oct_m::zcompute_acbno_u_kanamori_restricted (this, kanamori)
 This routine computes the Kanamori U, Up, and J. More...
 
subroutine lda_u_oct_m::zcompute_coulomb_integrals (this, namespace, space, gr, psolver)
 
subroutine, public lda_u_oct_m::zlda_u_commute_r_single (this, mesh, space, d, namespace, ist, ik, psi, gpsi, has_phase)
 
subroutine, public lda_u_oct_m::zlda_u_commute_r (this, mesh, space, d, namespace, psib, gpsib)
 This routine computes [r,V_lda+u] . More...
 
subroutine, public lda_u_oct_m::zlda_u_force (this, namespace, space, mesh, st, iq, psib, grad_psib, force, phase)
 
subroutine, public lda_u_oct_m::zlda_u_rvu (this, mesh, space, d, namespace, psib, gpsib)
 This routine computes \((r-R_J)V_{\rm DFT+U}|\psi_{n,\mathbf{k}}\rangle\). More...
 
subroutine, public lda_u_oct_m::zlda_u_set_occupations (this, occ)
 
subroutine, public lda_u_oct_m::zlda_u_get_occupations (this, occ)
 
subroutine lda_u_oct_m::zlda_u_allocate (this, st)
 
subroutine lda_u_oct_m::zdft_u_get_weight_projectors (this, os, ios, spin_component, psib, phi_dot_psi, weight)
 Given the dot products \(<phi mp | psi >\), this computes the weight of the DFT+U projectors. More...
 

Variables

integer, parameter, public lda_u_oct_m::dft_u_none = 0
 
integer, parameter, public lda_u_oct_m::dft_u_empirical = 1
 
integer, parameter, public lda_u_oct_m::dft_u_acbn0 = 2
 
integer, parameter, public lda_u_oct_m::dft_u_fll = 0
 
integer, parameter, public lda_u_oct_m::dft_u_amf = 1
 
integer, parameter, public lda_u_oct_m::dft_u_mix = 2