Octopus
lcao_oct_m Module Reference

Data Types

type  lcao_t
 

Functions/Subroutines

subroutine, public lcao_init (this, namespace, space, gr, ions, st)
 
subroutine, public lcao_run (namespace, space, gr, ions, ext_partners, st, ks, hm, st_start, lmm_r)
 
subroutine, public lcao_end (this)
 
subroutine, public lcao_wf (this, st, gr, ions, hm, namespace, start)
 
logical function, public lcao_is_available (this)
 
integer function, public lcao_num_orbitals (this)
 
subroutine lcao_local_index (this, ig, jg, il, jl, prow, pcol)
 
subroutine lcao_alt_end_orbital (this, iatom)
 This function deallocates a set of an atomic orbitals for an atom. It can be called when the batch is empty, in that case it does not do anything. More...
 
subroutine lcao_atom_density (this, st, mesh, ions, iatom, spin_channels, rho)
 
subroutine lcao_guess_density (this, namespace, st, gr, hm, ions, qtot, ispin, spin_channels, rho)
 builds a density which is the sum of the atomic densities More...
 
subroutine accumulate_rotated_density (mesh, rho, atom_rho, theta, phi)
 
subroutine, public lcao_init_orbitals (this, namespace, st, gr, ions, start)
 
subroutine dlcao_atomic_orbital (this, iorb, mesh, st, ions, psi, spin_channel)
 This routine fills state psi with an atomic orbital – provided by the pseudopotential structure in geo. More...
 
subroutine dlcao_wf (this, st, gr, ions, hm, namespace, start)
 
subroutine dinit_orbitals (this, namespace, st, gr, ions, start)
 
subroutine dget_ao (this, st, mesh, ions, iorb, ispin, ao, use_psi)
 
subroutine dlcao_alt_init_orbitals (this, namespace, st, gr, ions, start)
 
subroutine dlcao_alt_wf (this, st, gr, ions, hm, namespace, start)
 The alternative implementation. More...
 
subroutine dlcao_alt_get_orbital (this, sphere, ions, ispin, iatom, norbs)
 This function generates the set of an atomic orbitals for an atom and stores it in the batch orbitalb. It can be called when the orbitals are already stored. In that case it does not do anything. More...
 
subroutine zlcao_atomic_orbital (this, iorb, mesh, st, ions, psi, spin_channel)
 This routine fills state psi with an atomic orbital – provided by the pseudopotential structure in geo. More...
 
subroutine zlcao_wf (this, st, gr, ions, hm, namespace, start)
 
subroutine zinit_orbitals (this, namespace, st, gr, ions, start)
 
subroutine zget_ao (this, st, mesh, ions, iorb, ispin, ao, use_psi)
 
subroutine zlcao_alt_init_orbitals (this, namespace, st, gr, ions, start)
 
subroutine zlcao_alt_wf (this, st, gr, ions, hm, namespace, start)
 The alternative implementation. More...
 
subroutine zlcao_alt_get_orbital (this, sphere, ions, ispin, iatom, norbs)
 This function generates the set of an atomic orbitals for an atom and stores it in the batch orbitalb. It can be called when the orbitals are already stored. In that case it does not do anything. More...
 

Variables

integer, parameter initrho_paramagnetic = 1
 
integer, parameter initrho_ferromagnetic = 2
 
integer, parameter initrho_random = 3
 
integer, parameter initrho_userdef = 77
 

Function/Subroutine Documentation

◆ lcao_init()

subroutine, public lcao_oct_m::lcao_init ( type(lcao_t), intent(out)  this,
type(namespace_t), intent(in)  namespace,
type(electron_space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
type(states_elec_t), intent(in)  st 
)

Definition at line 241 of file lcao.F90.

◆ lcao_run()

subroutine, public lcao_oct_m::lcao_run ( type(namespace_t), intent(in)  namespace,
type(electron_space_t), intent(in)  space,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
type(partner_list_t), intent(in)  ext_partners,
type(states_elec_t), intent(inout)  st,
type(v_ks_t), intent(inout)  ks,
type(hamiltonian_elec_t), intent(inout)  hm,
integer, intent(in), optional  st_start,
real(real64), intent(in), optional  lmm_r 
)
Parameters
[in]st_startuse for unoccupied-states run
[in]lmm_rused only if not present(st_start)

Definition at line 798 of file lcao.F90.

◆ lcao_end()

subroutine, public lcao_oct_m::lcao_end ( type(lcao_t), intent(inout)  this)

Definition at line 962 of file lcao.F90.

◆ lcao_wf()

subroutine, public lcao_oct_m::lcao_wf ( type(lcao_t), intent(inout)  this,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
integer, intent(in), optional  start 
)

Definition at line 992 of file lcao.F90.

◆ lcao_is_available()

logical function, public lcao_oct_m::lcao_is_available ( type(lcao_t), intent(in)  this)

Definition at line 1030 of file lcao.F90.

◆ lcao_num_orbitals()

integer function, public lcao_oct_m::lcao_num_orbitals ( type(lcao_t), intent(in)  this)

Definition at line 1042 of file lcao.F90.

◆ lcao_local_index()

subroutine lcao_oct_m::lcao_local_index ( type(lcao_t), intent(in)  this,
integer, intent(in)  ig,
integer, intent(in)  jg,
integer, intent(out)  il,
integer, intent(out)  jl,
integer, intent(out)  prow,
integer, intent(out)  pcol 
)
private

Definition at line 1053 of file lcao.F90.

◆ lcao_alt_end_orbital()

subroutine lcao_oct_m::lcao_alt_end_orbital ( type(lcao_t), intent(inout)  this,
integer, intent(in)  iatom 
)
private

This function deallocates a set of an atomic orbitals for an atom. It can be called when the batch is empty, in that case it does not do anything.

Definition at line 1080 of file lcao.F90.

◆ lcao_atom_density()

subroutine lcao_oct_m::lcao_atom_density ( type(lcao_t), intent(inout)  this,
type(states_elec_t), intent(in)  st,
class(mesh_t), intent(in)  mesh,
type(ions_t), intent(in), target  ions,
integer, intent(in)  iatom,
integer, intent(in)  spin_channels,
real(real64), dimension(:, :), intent(inout)  rho 
)
private
Parameters
[in,out]rho(grnp, spin_channels)

Definition at line 1097 of file lcao.F90.

◆ lcao_guess_density()

subroutine lcao_oct_m::lcao_guess_density ( type(lcao_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(states_elec_t), intent(in)  st,
type(grid_t), intent(in)  gr,
type(hamiltonian_elec_t), intent(in)  hm,
type(ions_t), intent(in)  ions,
real(real64), intent(in)  qtot,
integer, intent(in)  ispin,
integer, intent(in)  spin_channels,
real(real64), dimension(:, :), intent(out), contiguous  rho 
)
private

builds a density which is the sum of the atomic densities

Parameters
[in]qtotthe total charge of the system

Definition at line 1213 of file lcao.F90.

◆ accumulate_rotated_density()

subroutine lcao_oct_m::accumulate_rotated_density ( class(mesh_t), intent(in)  mesh,
real(real64), dimension(:,:), intent(inout)  rho,
real(real64), dimension(:,:), intent(in)  atom_rho,
real(real64), intent(in)  theta,
real(real64), intent(in)  phi 
)
private

Definition at line 1495 of file lcao.F90.

◆ lcao_init_orbitals()

subroutine, public lcao_oct_m::lcao_init_orbitals ( type(lcao_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
integer, intent(in), optional  start 
)

Definition at line 1518 of file lcao.F90.

◆ dlcao_atomic_orbital()

subroutine lcao_oct_m::dlcao_atomic_orbital ( type(lcao_t), intent(inout)  this,
integer, intent(in)  iorb,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
type(ions_t), intent(in), target  ions,
real(real64), dimension(:, :), intent(inout)  psi,
integer, intent(in)  spin_channel 
)
private

This routine fills state psi with an atomic orbital – provided by the pseudopotential structure in geo.

Definition at line 1621 of file lcao.F90.

◆ dlcao_wf()

subroutine lcao_oct_m::dlcao_wf ( type(lcao_t), intent(inout)  this,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
integer, intent(in), optional  start 
)
private

Definition at line 1688 of file lcao.F90.

◆ dinit_orbitals()

subroutine lcao_oct_m::dinit_orbitals ( type(lcao_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
integer, intent(in), optional  start 
)
private

Definition at line 1944 of file lcao.F90.

◆ dget_ao()

subroutine lcao_oct_m::dget_ao ( type(lcao_t), intent(inout)  this,
type(states_elec_t), intent(in)  st,
class(mesh_t), intent(in)  mesh,
type(ions_t), intent(in)  ions,
integer, intent(in)  iorb,
integer, intent(in)  ispin,
real(real64), dimension(:, :), intent(out), contiguous  ao,
logical, intent(in)  use_psi 
)
private

Definition at line 2053 of file lcao.F90.

◆ dlcao_alt_init_orbitals()

subroutine lcao_oct_m::dlcao_alt_init_orbitals ( type(lcao_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
integer, intent(in), optional  start 
)
private

Definition at line 2085 of file lcao.F90.

◆ dlcao_alt_wf()

subroutine lcao_oct_m::dlcao_alt_wf ( type(lcao_t), intent(inout)  this,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
integer, intent(in)  start 
)
private

The alternative implementation.

Definition at line 2138 of file lcao.F90.

◆ dlcao_alt_get_orbital()

subroutine lcao_oct_m::dlcao_alt_get_orbital ( type(lcao_t), intent(inout)  this,
type(submesh_t), intent(in)  sphere,
type(ions_t), intent(in)  ions,
integer, intent(in)  ispin,
integer, intent(in)  iatom,
integer, intent(in)  norbs 
)
private

This function generates the set of an atomic orbitals for an atom and stores it in the batch orbitalb. It can be called when the orbitals are already stored. In that case it does not do anything.

Definition at line 2760 of file lcao.F90.

◆ zlcao_atomic_orbital()

subroutine lcao_oct_m::zlcao_atomic_orbital ( type(lcao_t), intent(inout)  this,
integer, intent(in)  iorb,
class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
type(ions_t), intent(in), target  ions,
complex(real64), dimension(:, :), intent(inout)  psi,
integer, intent(in)  spin_channel 
)
private

This routine fills state psi with an atomic orbital – provided by the pseudopotential structure in geo.

Definition at line 2880 of file lcao.F90.

◆ zlcao_wf()

subroutine lcao_oct_m::zlcao_wf ( type(lcao_t), intent(inout)  this,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
integer, intent(in), optional  start 
)
private

Definition at line 2956 of file lcao.F90.

◆ zinit_orbitals()

subroutine lcao_oct_m::zinit_orbitals ( type(lcao_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
integer, intent(in), optional  start 
)
private

Definition at line 3220 of file lcao.F90.

◆ zget_ao()

subroutine lcao_oct_m::zget_ao ( type(lcao_t), intent(inout)  this,
type(states_elec_t), intent(in)  st,
class(mesh_t), intent(in)  mesh,
type(ions_t), intent(in)  ions,
integer, intent(in)  iorb,
integer, intent(in)  ispin,
complex(real64), dimension(:, :), intent(out), contiguous  ao,
logical, intent(in)  use_psi 
)
private

Definition at line 3329 of file lcao.F90.

◆ zlcao_alt_init_orbitals()

subroutine lcao_oct_m::zlcao_alt_init_orbitals ( type(lcao_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
integer, intent(in), optional  start 
)
private

Definition at line 3361 of file lcao.F90.

◆ zlcao_alt_wf()

subroutine lcao_oct_m::zlcao_alt_wf ( type(lcao_t), intent(inout)  this,
type(states_elec_t), intent(inout)  st,
type(grid_t), intent(in)  gr,
type(ions_t), intent(in)  ions,
type(hamiltonian_elec_t), intent(in)  hm,
type(namespace_t), intent(in)  namespace,
integer, intent(in)  start 
)
private

The alternative implementation.

Definition at line 3414 of file lcao.F90.

◆ zlcao_alt_get_orbital()

subroutine lcao_oct_m::zlcao_alt_get_orbital ( type(lcao_t), intent(inout)  this,
type(submesh_t), intent(in)  sphere,
type(ions_t), intent(in)  ions,
integer, intent(in)  ispin,
integer, intent(in)  iatom,
integer, intent(in)  norbs 
)
private

This function generates the set of an atomic orbitals for an atom and stores it in the batch orbitalb. It can be called when the orbitals are already stored. In that case it does not do anything.

Definition at line 4050 of file lcao.F90.

Variable Documentation

◆ initrho_paramagnetic

integer, parameter lcao_oct_m::initrho_paramagnetic = 1
private

Definition at line 232 of file lcao.F90.

◆ initrho_ferromagnetic

integer, parameter lcao_oct_m::initrho_ferromagnetic = 2
private

Definition at line 232 of file lcao.F90.

◆ initrho_random

integer, parameter lcao_oct_m::initrho_random = 3
private

Definition at line 232 of file lcao.F90.

◆ initrho_userdef

integer, parameter lcao_oct_m::initrho_userdef = 77
private

Definition at line 232 of file lcao.F90.