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.