Octopus
ks_potential.F90 File Reference

Go to the source code of this file.

Modules

module  ks_potential_oct_m
 A module to handle KS potential, without the external potential.
 

Data Types

type  ks_potential_oct_m::ks_potential_t
 
type  ks_potential_oct_m::xc_copied_potentials_t
 

Functions/Subroutines

subroutine ks_potential_oct_m::ks_potential_init (this, np, np_part, nspin, theory_level, needs_vtau)
 Allocate the memory for the KS potentials. More...
 
subroutine ks_potential_oct_m::ks_potential_end (this)
 Releases the memory for the KS potentials. More...
 
subroutine ks_potential_oct_m::ks_potential_set_vtau (this, vtau)
 Set vtau and update the corresponding GPU buffer. More...
 
subroutine ks_potential_oct_m::ks_potential_update_vtau_buffer (this)
 Update vtau GPU buffer. More...
 
subroutine ks_potential_oct_m::ks_potential_add_vhxc (this, pot, nspin)
 Adds vHxc to the potential. More...
 
subroutine ks_potential_oct_m::ks_potential_dump_vhxc (this, restart, space, mesh, ierr)
 Dumps the vhxc potentials. More...
 
subroutine ks_potential_oct_m::ks_potential_load_vhxc (this, restart, space, mesh, ierr)
 Loads the vhxc potentials. More...
 
subroutine ks_potential_oct_m::ks_potential_init_interpolation (this, vksold, order)
 Initialize the potential interpolation. More...
 
subroutine ks_potential_oct_m::ks_potential_run_zero_iter (this, vksold)
 Run zero iter for the interpolation. More...
 
subroutine ks_potential_oct_m::ks_potential_interpolation_new (this, vksold, current_time, dt)
 New interpolation point for the interpolation. More...
 
subroutine ks_potential_oct_m::ks_potential_get_interpolated_potentials (this, vksold, history, storage)
 Get the interpolated potentials from history. More...
 
subroutine ks_potential_oct_m::ks_potential_set_interpolated_potentials (this, vksold, history)
 Set the interpolated potentials to history. More...
 
subroutine ks_potential_oct_m::ks_potential_interpolate_potentials (this, vksold, order, current_time, dt, interpolation_time)
 Interpolate potentials to a new time. More...
 
subroutine, public ks_potential_oct_m::vtau_set_vout (field, this)
 
subroutine, public ks_potential_oct_m::vtau_set_vin (field, this)
 
subroutine, public ks_potential_oct_m::vtau_get_vnew (field, this)
 
subroutine ks_potential_oct_m::ks_potential_output_potentials (this, namespace, how, dir, space, mesh, pos, atoms, grp)
 Outputs vh, vxc, and vtau potentials. More...
 
subroutine ks_potential_oct_m::ks_potential_storage_allocate (this, copy)
 Copy the potentials to a storage object. More...
 
subroutine ks_potential_oct_m::ks_potential_store_copy (this, copy)
 Copy the potentials to a storage object. More...
 
subroutine ks_potential_oct_m::ks_potential_restore_copy (this, copy)
 Copy the potentials from a storage object. More...
 
subroutine ks_potential_oct_m::xc_copied_potentials_copy_vhxc_to_buffer (this, np, nspin, pnp, buffer)
 Copy the vhxc potential to a gpu buffer. More...
 
subroutine, public ks_potential_oct_m::xc_copied_potentials_end (this)
 Finalizer for the copied potentials. More...
 
real(real64) function ks_potential_oct_m::ks_potential_check_convergence (this, copy, mesh, rho, qtot)
 Check the convergence of a vhxc for predictor-corrector. More...
 
subroutine ks_potential_oct_m::ks_potential_perform_interpolation (this, vksold, times, current_time)
 Perform a time interpolation of the potentials. More...
 
subroutine ks_potential_oct_m::ks_potential_mix_potentials (this, vold, dt)
 Replace vold potentials by 0.5*dt(vold + vhxc) More...
 
subroutine ks_potential_oct_m::zks_potential_mult_vhxc (this, mf, ispin)
 Multiply a mesh function by vHxc. More...
 
subroutine ks_potential_oct_m::zks_potential_apply_vtau_psi (this, mesh, d, ispin, psib, vpsib)
 Wrapper to hamiltonian_elec_base_local_sub to hide the data of vtau. More...
 
subroutine ks_potential_oct_m::zks_potential_current_mass_renormalization (this, gpsi, space_dim, ndim, ispin)
 Nonlocal contribution of vtau for the current. More...
 
subroutine ks_potential_oct_m::dks_potential_mult_vhxc (this, mf, ispin)
 Multiply a mesh function by vHxc. More...
 
subroutine ks_potential_oct_m::dks_potential_apply_vtau_psi (this, mesh, d, ispin, psib, vpsib)
 Wrapper to hamiltonian_elec_base_local_sub to hide the data of vtau. More...
 
subroutine ks_potential_oct_m::dks_potential_current_mass_renormalization (this, gpsi, space_dim, ndim, ispin)
 Nonlocal contribution of vtau for the current. More...
 

Variables

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