Octopus
orbitalset_oct_m Module Reference

Data Types

type  orbitalset_t
 

Functions/Subroutines

subroutine, public orbitalset_init (this)
 
subroutine, public orbitalset_end (this)
 
subroutine, public orbitalset_set_jln (this, jj, ll, nn)
 
subroutine, public orbitalset_update_phase (os, dim, kpt, kpoints, spin_polarized, vec_pot, vec_pot_var, kpt_max)
 Build the phase correction to the global phase in case the orbital crosses the border of the simulaton box. More...
 
subroutine, public orbitalset_update_phase_shift (os, dim, kpt, kpoints, spin_polarized, vec_pot, vec_pot_var, kpt_max)
 Build the phase shift for the intersite interaction. More...
 
subroutine orbitalset_set_species_index (os, ions)
 Set the species index for a given orbital set. More...
 
subroutine, public dorbitalset_get_coefficients (os, ndim, psi, ik, has_phase, dot, reduce)
 
subroutine, public dorbitalset_get_coeff_batch (os, ndim, psib, dot, reduce)
 
subroutine dorbitalset_get_coeff_batch_low (os, psib, dot)
 
subroutine, public dorbitalset_add_to_batch (os, ndim, psib, weight)
 
subroutine, public dorbitalset_get_position_matrix_elem (os, ndim, psib, idir, dot)
 
subroutine, public dorbitalset_transfer_to_device (os, kpt, use_mesh)
 Allocate and transfer the orbitals to the device. More...
 
subroutine, public zorbitalset_get_coefficients (os, ndim, psi, ik, has_phase, dot, reduce)
 
subroutine, public zorbitalset_get_coeff_batch (os, ndim, psib, dot, reduce)
 
subroutine zorbitalset_get_coeff_batch_low (os, psib, dot)
 
subroutine, public zorbitalset_add_to_batch (os, ndim, psib, weight)
 
subroutine, public zorbitalset_get_position_matrix_elem (os, ndim, psib, idir, dot)
 
subroutine, public zorbitalset_transfer_to_device (os, kpt, use_mesh)
 Allocate and transfer the orbitals to the device. More...
 

Function/Subroutine Documentation

◆ orbitalset_init()

subroutine, public orbitalset_oct_m::orbitalset_init ( type(orbitalset_t), intent(inout)  this)

Definition at line 209 of file orbitalset.F90.

◆ orbitalset_end()

subroutine, public orbitalset_oct_m::orbitalset_end ( type(orbitalset_t), intent(inout)  this)

Definition at line 235 of file orbitalset.F90.

◆ orbitalset_set_jln()

subroutine, public orbitalset_oct_m::orbitalset_set_jln ( type(orbitalset_t), intent(inout)  this,
real(real64), intent(in)  jj,
integer, intent(in)  ll,
integer, intent(in)  nn 
)

Definition at line 269 of file orbitalset.F90.

◆ orbitalset_update_phase()

subroutine, public orbitalset_oct_m::orbitalset_update_phase ( type(orbitalset_t), intent(inout)  os,
integer, intent(in)  dim,
type(distributed_t), intent(in)  kpt,
type(kpoints_t), intent(in)  kpoints,
logical, intent(in)  spin_polarized,
real(real64), dimension(:), intent(in), optional, allocatable  vec_pot,
real(real64), dimension(:, :), intent(in), optional, allocatable  vec_pot_var,
integer, intent(in), optional  kpt_max 
)

Build the phase correction to the global phase in case the orbital crosses the border of the simulaton box.

Parameters
[in]vec_pot(sbdim)
[in]vec_pot_var(1:sbdim, 1:ns)

Definition at line 285 of file orbitalset.F90.

◆ orbitalset_update_phase_shift()

subroutine, public orbitalset_oct_m::orbitalset_update_phase_shift ( type(orbitalset_t), intent(inout)  os,
integer, intent(in)  dim,
type(distributed_t), intent(in)  kpt,
type(kpoints_t), intent(in)  kpoints,
logical, intent(in)  spin_polarized,
real(real64), dimension(:), intent(in), optional, allocatable  vec_pot,
real(real64), dimension(:, :), intent(in), optional, allocatable  vec_pot_var,
integer, intent(in), optional  kpt_max 
)

Build the phase shift for the intersite interaction.

Parameters
[in]vec_pot(sbdim)
[in]vec_pot_var(1:sbdim, 1:ns)

Definition at line 381 of file orbitalset.F90.

◆ orbitalset_set_species_index()

subroutine orbitalset_oct_m::orbitalset_set_species_index ( class(orbitalset_t), intent(inout)  os,
type(ions_t), intent(in)  ions 
)
private

Set the species index for a given orbital set.

In order to have the ACBN0 working for antiferromagnets like NiO with symmetries, we need to combine the screening for all atoms of the same atomic number. This allows to have Ni1 and Ni2 in the input file and to use symmetries.

Definition at line 442 of file orbitalset.F90.

◆ dorbitalset_get_coefficients()

subroutine, public orbitalset_oct_m::dorbitalset_get_coefficients ( type(orbitalset_t), intent(in)  os,
integer, intent(in)  ndim,
real(real64), dimension(:,:), intent(in)  psi,
integer, intent(in)  ik,
logical, intent(in)  has_phase,
real(real64), dimension(:,:), intent(inout), contiguous  dot,
logical, intent(in), optional  reduce 
)

Definition at line 527 of file orbitalset.F90.

◆ dorbitalset_get_coeff_batch()

subroutine, public orbitalset_oct_m::dorbitalset_get_coeff_batch ( type(orbitalset_t), intent(in)  os,
integer, intent(in)  ndim,
type(wfs_elec_t), intent(in)  psib,
real(real64), dimension(:,:,:), intent(inout), contiguous  dot,
logical, intent(in), optional  reduce 
)
Parameters
[in,out]dotidim, iorb, ist

Definition at line 589 of file orbitalset.F90.

◆ dorbitalset_get_coeff_batch_low()

subroutine orbitalset_oct_m::dorbitalset_get_coeff_batch_low ( type(orbitalset_t), intent(in)  os,
type(wfs_elec_t), intent(in)  psib,
real(real64), dimension(:,:,:), intent(inout), contiguous  dot 
)
private
Parameters
[in,out]dotidim, iorb, ist

Definition at line 629 of file orbitalset.F90.

◆ dorbitalset_add_to_batch()

subroutine, public orbitalset_oct_m::dorbitalset_add_to_batch ( type(orbitalset_t), intent(in)  os,
integer, intent(in)  ndim,
type(wfs_elec_t), intent(inout)  psib,
real(real64), dimension(:,:), intent(in), contiguous  weight 
)

Definition at line 864 of file orbitalset.F90.

◆ dorbitalset_get_position_matrix_elem()

subroutine, public orbitalset_oct_m::dorbitalset_get_position_matrix_elem ( type(orbitalset_t), intent(in)  os,
integer, intent(in)  ndim,
type(wfs_elec_t), intent(in)  psib,
integer, intent(in)  idir,
real(real64), dimension(:,:,:), intent(inout)  dot 
)

Definition at line 1131 of file orbitalset.F90.

◆ dorbitalset_transfer_to_device()

subroutine, public orbitalset_oct_m::dorbitalset_transfer_to_device ( type(orbitalset_t), intent(inout)  os,
type(distributed_t), intent(in)  kpt,
logical, intent(in)  use_mesh 
)

Allocate and transfer the orbitals to the device.

Definition at line 1296 of file orbitalset.F90.

◆ zorbitalset_get_coefficients()

subroutine, public orbitalset_oct_m::zorbitalset_get_coefficients ( type(orbitalset_t), intent(in)  os,
integer, intent(in)  ndim,
complex(real64), dimension(:,:), intent(in)  psi,
integer, intent(in)  ik,
logical, intent(in)  has_phase,
complex(real64), dimension(:,:), intent(inout), contiguous  dot,
logical, intent(in), optional  reduce 
)

Definition at line 1404 of file orbitalset.F90.

◆ zorbitalset_get_coeff_batch()

subroutine, public orbitalset_oct_m::zorbitalset_get_coeff_batch ( type(orbitalset_t), intent(in)  os,
integer, intent(in)  ndim,
type(wfs_elec_t), intent(in)  psib,
complex(real64), dimension(:,:,:), intent(inout), contiguous  dot,
logical, intent(in), optional  reduce 
)
Parameters
[in,out]dotidim, iorb, ist

Definition at line 1498 of file orbitalset.F90.

◆ zorbitalset_get_coeff_batch_low()

subroutine orbitalset_oct_m::zorbitalset_get_coeff_batch_low ( type(orbitalset_t), intent(in)  os,
type(wfs_elec_t), intent(in)  psib,
complex(real64), dimension(:,:,:), intent(inout), contiguous  dot 
)
private
Parameters
[in,out]dotidim, iorb, ist

Definition at line 1538 of file orbitalset.F90.

◆ zorbitalset_add_to_batch()

subroutine, public orbitalset_oct_m::zorbitalset_add_to_batch ( type(orbitalset_t), intent(in)  os,
integer, intent(in)  ndim,
type(wfs_elec_t), intent(inout)  psib,
complex(real64), dimension(:,:), intent(in), contiguous  weight 
)

Definition at line 1826 of file orbitalset.F90.

◆ zorbitalset_get_position_matrix_elem()

subroutine, public orbitalset_oct_m::zorbitalset_get_position_matrix_elem ( type(orbitalset_t), intent(in)  os,
integer, intent(in)  ndim,
type(wfs_elec_t), intent(in)  psib,
integer, intent(in)  idir,
complex(real64), dimension(:,:,:), intent(inout)  dot 
)

Definition at line 2200 of file orbitalset.F90.

◆ zorbitalset_transfer_to_device()

subroutine, public orbitalset_oct_m::zorbitalset_transfer_to_device ( type(orbitalset_t), intent(inout)  os,
type(distributed_t), intent(in)  kpt,
logical, intent(in)  use_mesh 
)

Allocate and transfer the orbitals to the device.

Definition at line 2393 of file orbitalset.F90.