Octopus
nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t Type Reference

nonlocal part of the pseudopotential More...

Detailed Description

nonlocal part of the pseudopotential

Definition at line 153 of file nonlocal_pseudopotential.F90.

Public Attributes

type(projector_matrix_t), dimension(:), allocatable, public projector_matrices
 projectors More...
 
integer, public nprojector_matrices
 number of projector matrices More...
 
logical, public apply_projector_matrices
 flag whether to apply projection matrices More...
 
logical, public has_non_local_potential
 flag whether non-local potential exists More...
 
integer, public max_npoints
 
integer, public total_points
 
complex(real64), dimension(:, :, :, :), allocatable, public projector_phases
 
integer, dimension(:), allocatable, public projector_to_atom
 
integer, public nphase
 number of phases: More...
 
type(accel_mem_t), public buff_projector_phases
 
real(real64), dimension(:,:,:), pointer, public spin => null()
 

Private Member Functions

procedure init => nonlocal_pseudopotential_init
 initialize the nonlocal_pseudopotential_t object More...
 
procedure build => nonlocal_pseudopotential_build_proj
 build the projectors for the application of pseudo-potentials More...
 
procedure end => nonlocal_pseudopotential_destroy_proj
 Destroy the data of nonlocal_pseudopotential_t. More...
 
procedure has_self_overlap => nonlocal_pseudopotential_self_overlap
 Returns .true. if the Hamiltonian contains projectors, which overlap with themself. More...
 
procedure dstart => dnonlocal_pseudopotential_start
 
procedure zstart => znonlocal_pseudopotential_start
 
procedure dfinish => dnonlocal_pseudopotential_finish
 
procedure zfinish => znonlocal_pseudopotential_finish
 
procedure dforce => dnonlocal_pseudopotential_force
 calculate contribution to forces, from non-local potentials More...
 
procedure zforce => znonlocal_pseudopotential_force
 calculate contribution to forces, from non-local potentials More...
 
procedure dposition_commutator => dnonlocal_pseudopotential_position_commutator
 apply the commutator between the non-local potential and the position to the wave functions. More...
 
procedure zposition_commutator => znonlocal_pseudopotential_position_commutator
 apply the commutator between the non-local potential and the position to the wave functions. More...
 
procedure dr_vn_local => dnonlocal_pseudopotential_r_vnlocal
 
procedure zr_vn_local => znonlocal_pseudopotential_r_vnlocal
 

Private Attributes

integer full_projection_size
 
integer max_nprojs
 
logical projector_mix
 
integer nregions
 number of non-overlapping regions More...
 
integer, dimension(:), allocatable regions
 list of atomd in each region. More...
 
type(accel_mem_tbuff_offsets
 
type(accel_mem_tbuff_matrices
 
type(accel_mem_tbuff_maps
 
type(accel_mem_tbuff_scals
 
type(accel_mem_tbuff_position
 
type(accel_mem_tbuff_pos
 
type(accel_mem_tbuff_invmap
 
type(accel_mem_tbuff_mix
 
logical projector_self_overlap
 if .true. some projectors overlap with themselves More...
 

Member Function/Subroutine Documentation

◆ init()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::init
private

initialize the nonlocal_pseudopotential_t object

Definition at line 186 of file nonlocal_pseudopotential.F90.

◆ build()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::build
private

build the projectors for the application of pseudo-potentials

This routine also determines the regions for the projectors and whether any projector overlaps with itself in a periodic system.

Definition at line 188 of file nonlocal_pseudopotential.F90.

◆ end()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::end
private

Destroy the data of nonlocal_pseudopotential_t.

Definition at line 190 of file nonlocal_pseudopotential.F90.

◆ has_self_overlap()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::has_self_overlap
private

Returns .true. if the Hamiltonian contains projectors, which overlap with themself.

Definition at line 192 of file nonlocal_pseudopotential.F90.

◆ dstart()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::dstart
private

Definition at line 194 of file nonlocal_pseudopotential.F90.

◆ zstart()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::zstart
private

Definition at line 196 of file nonlocal_pseudopotential.F90.

◆ dfinish()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::dfinish
private

Definition at line 198 of file nonlocal_pseudopotential.F90.

◆ zfinish()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::zfinish
private

Definition at line 200 of file nonlocal_pseudopotential.F90.

◆ dforce()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::dforce
private

calculate contribution to forces, from non-local potentials

TODO: add more details

Definition at line 202 of file nonlocal_pseudopotential.F90.

◆ zforce()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::zforce
private

calculate contribution to forces, from non-local potentials

TODO: add more details

Definition at line 204 of file nonlocal_pseudopotential.F90.

◆ dposition_commutator()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::dposition_commutator
private

apply the commutator between the non-local potential and the position to the wave functions.

TODO: add more details

Parameters
[in]meshthe mesh
[in]stdthe electronic states
[in]spiral_bndflag for spiral boundary conditions
[in]psiboriginal wave functions psi
[in,out]commpsibresulting [v_nl, r]*psi

Definition at line 206 of file nonlocal_pseudopotential.F90.

◆ zposition_commutator()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::zposition_commutator
private

apply the commutator between the non-local potential and the position to the wave functions.

TODO: add more details

Parameters
[in]meshthe mesh
[in]stdthe electronic states
[in]spiral_bndflag for spiral boundary conditions
[in]psiboriginal wave functions psi
[in,out]commpsibresulting [v_nl, r]*psi

Definition at line 208 of file nonlocal_pseudopotential.F90.

◆ dr_vn_local()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::dr_vn_local
private

Definition at line 210 of file nonlocal_pseudopotential.F90.

◆ zr_vn_local()

procedure nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::zr_vn_local
private

Definition at line 212 of file nonlocal_pseudopotential.F90.

Member Data Documentation

◆ projector_matrices

type(projector_matrix_t), dimension(:), allocatable, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::projector_matrices

projectors

Definition at line 155 of file nonlocal_pseudopotential.F90.

◆ nprojector_matrices

integer, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::nprojector_matrices

number of projector matrices

Definition at line 156 of file nonlocal_pseudopotential.F90.

◆ apply_projector_matrices

logical, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::apply_projector_matrices

flag whether to apply projection matrices

Definition at line 157 of file nonlocal_pseudopotential.F90.

◆ has_non_local_potential

logical, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::has_non_local_potential

flag whether non-local potential exists

Definition at line 158 of file nonlocal_pseudopotential.F90.

◆ full_projection_size

integer nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::full_projection_size
private

Definition at line 159 of file nonlocal_pseudopotential.F90.

◆ max_npoints

integer, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::max_npoints

Definition at line 160 of file nonlocal_pseudopotential.F90.

◆ total_points

integer, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::total_points

Definition at line 161 of file nonlocal_pseudopotential.F90.

◆ max_nprojs

integer nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::max_nprojs
private

Definition at line 162 of file nonlocal_pseudopotential.F90.

◆ projector_mix

logical nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::projector_mix
private

Definition at line 163 of file nonlocal_pseudopotential.F90.

◆ projector_phases

complex(real64), dimension(:, :, :, :), allocatable, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::projector_phases

Definition at line 164 of file nonlocal_pseudopotential.F90.

◆ projector_to_atom

integer, dimension(:), allocatable, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::projector_to_atom

Definition at line 165 of file nonlocal_pseudopotential.F90.

◆ nregions

integer nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::nregions
private

number of non-overlapping regions

Definition at line 166 of file nonlocal_pseudopotential.F90.

◆ regions

integer, dimension(:), allocatable nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::regions
private

list of atomd in each region.

Definition at line 167 of file nonlocal_pseudopotential.F90.

◆ nphase

integer, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::nphase

number of phases:

  • 0 for finite systems without magnetic fields
  • 1 for periodic systems or magnetic fields
  • 3 for spiral boundary conditions

Definition at line 168 of file nonlocal_pseudopotential.F90.

◆ buff_offsets

type(accel_mem_t) nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::buff_offsets
private

Definition at line 173 of file nonlocal_pseudopotential.F90.

◆ buff_matrices

type(accel_mem_t) nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::buff_matrices
private

Definition at line 174 of file nonlocal_pseudopotential.F90.

◆ buff_maps

type(accel_mem_t) nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::buff_maps
private

Definition at line 175 of file nonlocal_pseudopotential.F90.

◆ buff_scals

type(accel_mem_t) nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::buff_scals
private

Definition at line 176 of file nonlocal_pseudopotential.F90.

◆ buff_position

type(accel_mem_t) nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::buff_position
private

Definition at line 177 of file nonlocal_pseudopotential.F90.

◆ buff_pos

type(accel_mem_t) nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::buff_pos
private

Definition at line 178 of file nonlocal_pseudopotential.F90.

◆ buff_invmap

type(accel_mem_t) nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::buff_invmap
private

Definition at line 179 of file nonlocal_pseudopotential.F90.

◆ buff_projector_phases

type(accel_mem_t), public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::buff_projector_phases

Definition at line 180 of file nonlocal_pseudopotential.F90.

◆ buff_mix

type(accel_mem_t) nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::buff_mix
private

Definition at line 181 of file nonlocal_pseudopotential.F90.

◆ projector_self_overlap

logical nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::projector_self_overlap
private

if .true. some projectors overlap with themselves

Definition at line 182 of file nonlocal_pseudopotential.F90.

◆ spin

real(real64), dimension(:,:,:), pointer, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t::spin => null()

Definition at line 183 of file nonlocal_pseudopotential.F90.


The documentation for this type was generated from the following file: