![]() |
Octopus
|
Data Types | |
| type | xc_oep_t |
Functions/Subroutines | |
| subroutine, public | xc_oep_init (oep, namespace, gr, st, mc, space, oep_type) |
| subroutine, public | xc_oep_end (oep) |
| subroutine, public | xc_oep_write_info (oep, iunit, namespace) |
| subroutine, public | xc_oep_spinfactor (oep, nspin) |
| A couple of auxiliary functions for oep. More... | |
| subroutine, public | xc_oep_analyzeeigen (oep, st, is) |
| subroutine | xc_kli_pauli_solve (mesh, st, oep) |
| Explicit solution of the KLI equation for Pauli spinors. More... | |
| subroutine | get_rotation_matrix (dens, alpha, betar, betai) |
| subroutine | rotate_to_local (mat, alpha, betar, betai, alpha2, beta2, rot_mat) |
| subroutine | rotate_to_global (mat, alpha, betar, betai, alpha2, beta2, rot_mat) |
| subroutine | oep_sic_pauli (xcs, gr, psolver, namespace, space, rcell_volume, st, kpoints, oep, ex, ec) |
| This routine calculates the SIC functional for the spinor case. More... | |
| subroutine | dxc_kli_solve (space, mesh, st, oep, rcell_volume) |
| This routine solves the KLI approximation to the OEP equation. More... | |
| subroutine | doep_sic (xcs, gr, psolver, namespace, space, rcell_volume, st, kpoints, is, oep, ex, ec) |
| This routine calculates the SIC exchange functional. More... | |
| subroutine, public | dxc_oep_calc (oep, namespace, xcs, gr, hm, st, space, rcell_volume, ex, ec, vxc) |
| This file handles the evaluation of the OEP potential, in the KLI or full OEP as described in S. Kuemmel and J. Perdew, PRL 90, 043004 (2003) More... | |
| subroutine | dxc_oep_solve (namespace, space, mesh, hm, st, is, vxc, oep) |
| This routine follows closely the one of PRB 68, 035103 (2003) Below we refer to the equation number of this paper. More... | |
| subroutine, public | dxc_oep_mix (oep, mesh, ss, rho, is) |
| A routine that takes care of mixing the potential. More... | |
| subroutine | zxc_kli_solve (space, mesh, st, oep, rcell_volume) |
| This routine solves the KLI approximation to the OEP equation. More... | |
| subroutine | zoep_sic (xcs, gr, psolver, namespace, space, rcell_volume, st, kpoints, is, oep, ex, ec) |
| This routine calculates the SIC exchange functional. More... | |
| subroutine, public | zxc_oep_calc (oep, namespace, xcs, gr, hm, st, space, rcell_volume, ex, ec, vxc) |
| This file handles the evaluation of the OEP potential, in the KLI or full OEP as described in S. Kuemmel and J. Perdew, PRL 90, 043004 (2003) More... | |
| subroutine | zxc_oep_solve (namespace, space, mesh, hm, st, is, vxc, oep) |
| This routine follows closely the one of PRB 68, 035103 (2003) Below we refer to the equation number of this paper. More... | |
| subroutine, public | zxc_oep_mix (oep, mesh, ss, rho, is) |
| A routine that takes care of mixing the potential. More... | |
Variables | |
| integer, parameter, public | oep_level_none = 1 |
| the OEP levels More... | |
| integer, parameter, public | oep_level_kli = 3 |
| integer, parameter, public | oep_level_full = 5 |
| integer, parameter, public | oep_mixing_scheme_const = 1 |
| Mixing schemes. More... | |
| integer, parameter, public | oep_mixing_scheme_bb = 2 |
| integer, parameter, public | oep_mixing_scheme_dens = 3 |
| integer, parameter, public | oep_type_exx = 1 |
| The different types of OEP that we can work with. More... | |
| integer, parameter, public | oep_type_mgga = 2 |
| integer, parameter, public | oep_type_sic = 3 |
| integer, parameter, public | oep_type_photons = 4 |
| subroutine, public xc_oep_oct_m::xc_oep_init | ( | type(xc_oep_t), intent(inout) | oep, |
| type(namespace_t), intent(in) | namespace, | ||
| type(grid_t), intent(inout) | gr, | ||
| type(states_elec_t), intent(in) | st, | ||
| type(multicomm_t), intent(in) | mc, | ||
| class(space_t), intent(in) | space, | ||
| integer, intent(in) | oep_type | ||
| ) |
Definition at line 219 of file xc_oep.F90.
| subroutine, public xc_oep_oct_m::xc_oep_end | ( | class(xc_oep_t), intent(inout) | oep | ) |
Definition at line 358 of file xc_oep.F90.
| subroutine, public xc_oep_oct_m::xc_oep_write_info | ( | type(xc_oep_t), intent(in) | oep, |
| integer, intent(in), optional | iunit, | ||
| type(namespace_t), intent(in), optional | namespace | ||
| ) |
Definition at line 380 of file xc_oep.F90.
| subroutine, public xc_oep_oct_m::xc_oep_spinfactor | ( | class(xc_oep_t), intent(inout) | oep, |
| integer, intent(in) | nspin | ||
| ) |
A couple of auxiliary functions for oep.
Definition at line 398 of file xc_oep.F90.
| subroutine, public xc_oep_oct_m::xc_oep_analyzeeigen | ( | class(xc_oep_t), intent(inout) | oep, |
| type(states_elec_t), intent(in) | st, | ||
| integer, intent(in) | is | ||
| ) |
| [in] | is | spin/k-point index |
Definition at line 420 of file xc_oep.F90.
|
private |
Explicit solution of the KLI equation for Pauli spinors.
More precisely, this implements the explicit solution of Eq. F12 of Tancogne-Dejean et al., PRB 107, 165111 (2023).
Definition at line 497 of file xc_oep.F90.
|
private |
Definition at line 796 of file xc_oep.F90.
|
private |
Definition at line 833 of file xc_oep.F90.
|
private |
Definition at line 851 of file xc_oep.F90.
|
private |
This routine calculates the SIC functional for the spinor case.
Definition at line 888 of file xc_oep.F90.
|
private |
This routine solves the KLI approximation to the OEP equation.
This implements the direct solution of the KLI equation.
Definition at line 1065 of file xc_oep.F90.
|
private |
This routine calculates the SIC exchange functional.
Definition at line 1328 of file xc_oep.F90.
| subroutine, public xc_oep_oct_m::dxc_oep_calc | ( | type(xc_oep_t), intent(inout) | oep, |
| type(namespace_t), intent(in) | namespace, | ||
| type(xc_t), intent(inout) | xcs, | ||
| type(grid_t), intent(in) | gr, | ||
| type(hamiltonian_elec_t), intent(inout) | hm, | ||
| type(states_elec_t), intent(inout), target | st, | ||
| class(space_t), intent(in) | space, | ||
| real(real64), intent(in) | rcell_volume, | ||
| real(real64), intent(inout) | ex, | ||
| real(real64), intent(inout) | ec, | ||
| real(real64), dimension(:,:), intent(inout), optional, contiguous | vxc | ||
| ) |
This file handles the evaluation of the OEP potential, in the KLI or full OEP as described in S. Kuemmel and J. Perdew, PRL 90, 043004 (2003)
This file has to be outside the module xc, for it requires the Hpsi. This is why it needs the xc_functional module. I prefer to put it here since the rest of the Hamiltonian module does not know about the gory details of how xc is defined and calculated.
| [in,out] | vxc | vxc(meshnp, stdnspin) |
Definition at line 1447 of file xc_oep.F90.
|
private |
This routine follows closely the one of PRB 68, 035103 (2003) Below we refer to the equation number of this paper.
| [in,out] | vxc | (meshnp, given for the spin is) |
Definition at line 1639 of file xc_oep.F90.
| subroutine, public xc_oep_oct_m::dxc_oep_mix | ( | class(xc_oep_t), intent(inout) | oep, |
| type(mesh_t), intent(in) | mesh, | ||
| real(real64), dimension(:), intent(in), contiguous | ss, | ||
| real(real64), dimension(:), intent(in) | rho, | ||
| integer, intent(in) | is | ||
| ) |
A routine that takes care of mixing the potential.
Definition at line 1825 of file xc_oep.F90.
|
private |
This routine solves the KLI approximation to the OEP equation.
This implements the direct solution of the KLI equation.
Definition at line 1957 of file xc_oep.F90.
|
private |
This routine calculates the SIC exchange functional.
Definition at line 2220 of file xc_oep.F90.
| subroutine, public xc_oep_oct_m::zxc_oep_calc | ( | type(xc_oep_t), intent(inout) | oep, |
| type(namespace_t), intent(in) | namespace, | ||
| type(xc_t), intent(inout) | xcs, | ||
| type(grid_t), intent(in) | gr, | ||
| type(hamiltonian_elec_t), intent(inout) | hm, | ||
| type(states_elec_t), intent(inout), target | st, | ||
| class(space_t), intent(in) | space, | ||
| real(real64), intent(in) | rcell_volume, | ||
| real(real64), intent(inout) | ex, | ||
| real(real64), intent(inout) | ec, | ||
| real(real64), dimension(:,:), intent(inout), optional, contiguous | vxc | ||
| ) |
This file handles the evaluation of the OEP potential, in the KLI or full OEP as described in S. Kuemmel and J. Perdew, PRL 90, 043004 (2003)
This file has to be outside the module xc, for it requires the Hpsi. This is why it needs the xc_functional module. I prefer to put it here since the rest of the Hamiltonian module does not know about the gory details of how xc is defined and calculated.
| [in,out] | vxc | vxc(meshnp, stdnspin) |
Definition at line 2339 of file xc_oep.F90.
|
private |
This routine follows closely the one of PRB 68, 035103 (2003) Below we refer to the equation number of this paper.
| [in,out] | vxc | (meshnp, given for the spin is) |
Definition at line 2531 of file xc_oep.F90.
| subroutine, public xc_oep_oct_m::zxc_oep_mix | ( | class(xc_oep_t), intent(inout) | oep, |
| type(mesh_t), intent(in) | mesh, | ||
| real(real64), dimension(:), intent(in), contiguous | ss, | ||
| real(real64), dimension(:), intent(in) | rho, | ||
| integer, intent(in) | is | ||
| ) |
A routine that takes care of mixing the potential.
Definition at line 2717 of file xc_oep.F90.
| integer, parameter, public xc_oep_oct_m::oep_level_none = 1 |
the OEP levels
Definition at line 175 of file xc_oep.F90.
| integer, parameter, public xc_oep_oct_m::oep_level_kli = 3 |
Definition at line 175 of file xc_oep.F90.
| integer, parameter, public xc_oep_oct_m::oep_level_full = 5 |
Definition at line 175 of file xc_oep.F90.
| integer, parameter, public xc_oep_oct_m::oep_mixing_scheme_const = 1 |
Mixing schemes.
Definition at line 181 of file xc_oep.F90.
| integer, parameter, public xc_oep_oct_m::oep_mixing_scheme_bb = 2 |
Definition at line 181 of file xc_oep.F90.
| integer, parameter, public xc_oep_oct_m::oep_mixing_scheme_dens = 3 |
Definition at line 181 of file xc_oep.F90.
| integer, parameter, public xc_oep_oct_m::oep_type_exx = 1 |
The different types of OEP that we can work with.
Definition at line 187 of file xc_oep.F90.
| integer, parameter, public xc_oep_oct_m::oep_type_mgga = 2 |
Definition at line 187 of file xc_oep.F90.
| integer, parameter, public xc_oep_oct_m::oep_type_sic = 3 |
Definition at line 187 of file xc_oep.F90.
| integer, parameter, public xc_oep_oct_m::oep_type_photons = 4 |
Definition at line 187 of file xc_oep.F90.