![]()  | 
  
    Octopus
    
   | 
 
Data Types | |
| type | xc_ks_inversion_t | 
Functions/Subroutines | |
| subroutine, public | xc_ks_inversion_init (ks_inv, namespace, gr, ions, st, xc, mc, space, kpoints) | 
| subroutine, public | xc_ks_inversion_end (ks_inv) | 
| subroutine, public | xc_ks_inversion_write_info (ks_inversion, iunit, namespace) | 
| subroutine, public | invertks_2part (ks_inv, target_rho, nspin, aux_hm, gr, st, eigensolver, namespace, space, ext_partners) | 
| Given a density, it performs the Kohn-Sham inversion, assuming a two-particle, one orbital case.  More... | |
| subroutine, public | invertks_update_hamiltonian (namespace, gr, space, ext_partners, eigensolver, st, hm, max_iter) | 
| A small auxiliary function to perform the update of the Hamiltonian, run the eigensolver, and get the density.  More... | |
| subroutine, public | invertks_iter (ks_inv, target_rho, namespace, space, ext_partners, nspin, aux_hm, gr, st, eigensolver) | 
| Iterative inversion of KS potential from the density.  More... | |
| subroutine, public | xc_ks_inversion_calc (ks_inversion, namespace, space, gr, hm, ext_partners, st, vxc, time) | 
Variables | |
| integer, parameter, public | xc_inv_method_two_particle = 1 | 
| KS inversion methods/algorithms.  More... | |
| integer, parameter, public | xc_inv_method_vs_iter = 2 | 
| integer, parameter, public | xc_inv_method_iter_stella = 3 | 
| integer, parameter, public | xc_inv_method_iter_godby = 4 | 
| integer, parameter, public | xc_ks_inversion_none = 1 | 
| the KS inversion levels  More... | |
| integer, parameter, public | xc_ks_inversion_adiabatic = 2 | 
| integer, parameter, public | xc_ks_inversion_td_exact = 3 | 
| integer, parameter, public | xc_asymptotics_none = 1 | 
| asymptotic correction for v_xc  More... | |
| integer, parameter, public | xc_asymptotics_sc = 2 | 
| integer, parameter | xc_flags_none = 0 | 
| subroutine, public xc_ks_inversion_oct_m::xc_ks_inversion_init | ( | type(xc_ks_inversion_t), intent(inout) | ks_inv, | 
| type(namespace_t), intent(in) | namespace, | ||
| type(grid_t), intent(inout) | gr, | ||
| type(ions_t), intent(inout) | ions, | ||
| type(states_elec_t), intent(in) | st, | ||
| type(xc_t), intent(in) | xc, | ||
| type(multicomm_t), intent(in) | mc, | ||
| class(space_t), intent(in) | space, | ||
| type(kpoints_t), intent(in) | kpoints | ||
| ) | 
Definition at line 201 of file xc_ks_inversion.F90.
| subroutine, public xc_ks_inversion_oct_m::xc_ks_inversion_end | ( | type(xc_ks_inversion_t), intent(inout) | ks_inv | ) | 
Definition at line 313 of file xc_ks_inversion.F90.
| subroutine, public xc_ks_inversion_oct_m::xc_ks_inversion_write_info | ( | type(xc_ks_inversion_t), intent(in) | ks_inversion, | 
| integer, intent(in), optional | iunit, | ||
| type(namespace_t), intent(in), optional | namespace | ||
| ) | 
Definition at line 341 of file xc_ks_inversion.F90.
| subroutine, public xc_ks_inversion_oct_m::invertks_2part | ( | type(xc_ks_inversion_t), intent(in) | ks_inv, | 
| real(real64), dimension(:,:), intent(in) | target_rho, | ||
| integer, intent(in) | nspin, | ||
| type(hamiltonian_elec_t), intent(inout) | aux_hm, | ||
| type(grid_t), intent(in) | gr, | ||
| type(states_elec_t), intent(inout) | st, | ||
| type(eigensolver_t), intent(inout) | eigensolver, | ||
| type(namespace_t), intent(in) | namespace, | ||
| class(space_t), intent(in) | space, | ||
| type(partner_list_t), intent(in) | ext_partners | ||
| ) | 
Given a density, it performs the Kohn-Sham inversion, assuming a two-particle, one orbital case.
specific routine for 2 particles - this is analytical, no need for iterative scheme
This expression is only valid for the adiabatic case
| [in] | target_rho | (1:grmeshnp, 1:nspin) | 
Definition at line 362 of file xc_ks_inversion.F90.
| subroutine, public xc_ks_inversion_oct_m::invertks_update_hamiltonian | ( | type(namespace_t), intent(in) | namespace, | 
| type(grid_t), intent(in) | gr, | ||
| class(space_t), intent(in) | space, | ||
| type(partner_list_t), intent(in) | ext_partners, | ||
| type(eigensolver_t), intent(inout) | eigensolver, | ||
| type(states_elec_t), intent(inout) | st, | ||
| type(hamiltonian_elec_t), intent(inout) | hm, | ||
| integer, intent(in) | max_iter | ||
| ) | 
A small auxiliary function to perform the update of the Hamiltonian, run the eigensolver, and get the density.
Definition at line 567 of file xc_ks_inversion.F90.
| subroutine, public xc_ks_inversion_oct_m::invertks_iter | ( | type(xc_ks_inversion_t), intent(in) | ks_inv, | 
| real(real64), dimension(:,:), intent(in) | target_rho, | ||
| type(namespace_t), intent(in) | namespace, | ||
| class(space_t), intent(in) | space, | ||
| type(partner_list_t), intent(in) | ext_partners, | ||
| integer, intent(in) | nspin, | ||
| type(hamiltonian_elec_t), intent(inout) | aux_hm, | ||
| type(grid_t), intent(in) | gr, | ||
| type(states_elec_t), intent(inout) | st, | ||
| type(eigensolver_t), intent(inout) | eigensolver | ||
| ) | 
Iterative inversion of KS potential from the density.
Here states are used to iterate KS solution and update of the VHXC potential, then new calculation of rho.
| [in] | target_rho | (1:grmeshnp, 1:nspin) | 
Definition at line 642 of file xc_ks_inversion.F90.
| subroutine, public xc_ks_inversion_oct_m::xc_ks_inversion_calc | ( | type(xc_ks_inversion_t), intent(inout) | ks_inversion, | 
| type(namespace_t), intent(in) | namespace, | ||
| class(space_t), intent(in) | space, | ||
| type(grid_t), intent(in) | gr, | ||
| type(hamiltonian_elec_t), intent(in) | hm, | ||
| type(partner_list_t), intent(in) | ext_partners, | ||
| type(states_elec_t), intent(inout) | st, | ||
| real(real64), dimension(:,:), intent(inout) | vxc, | ||
| real(real64), intent(in), optional | time | ||
| ) | 
| [in,out] | vxc | vxc(grnp, stdnspin) | 
Definition at line 957 of file xc_ks_inversion.F90.
| integer, parameter, public xc_ks_inversion_oct_m::xc_inv_method_two_particle = 1 | 
KS inversion methods/algorithms.
Definition at line 161 of file xc_ks_inversion.F90.
| integer, parameter, public xc_ks_inversion_oct_m::xc_inv_method_vs_iter = 2 | 
Definition at line 161 of file xc_ks_inversion.F90.
| integer, parameter, public xc_ks_inversion_oct_m::xc_inv_method_iter_stella = 3 | 
Definition at line 161 of file xc_ks_inversion.F90.
| integer, parameter, public xc_ks_inversion_oct_m::xc_inv_method_iter_godby = 4 | 
Definition at line 161 of file xc_ks_inversion.F90.
| integer, parameter, public xc_ks_inversion_oct_m::xc_ks_inversion_none = 1 | 
the KS inversion levels
Definition at line 168 of file xc_ks_inversion.F90.
| integer, parameter, public xc_ks_inversion_oct_m::xc_ks_inversion_adiabatic = 2 | 
Definition at line 168 of file xc_ks_inversion.F90.
| integer, parameter, public xc_ks_inversion_oct_m::xc_ks_inversion_td_exact = 3 | 
Definition at line 168 of file xc_ks_inversion.F90.
| integer, parameter, public xc_ks_inversion_oct_m::xc_asymptotics_none = 1 | 
asymptotic correction for v_xc
Definition at line 174 of file xc_ks_inversion.F90.
| integer, parameter, public xc_ks_inversion_oct_m::xc_asymptotics_sc = 2 | 
Definition at line 174 of file xc_ks_inversion.F90.
      
  | 
  private | 
Definition at line 178 of file xc_ks_inversion.F90.