Octopus
nonlocal_pseudopotential.F90 File Reference

Go to the source code of this file.

Modules

module  nonlocal_pseudopotential_oct_m
 

Data Types

type  nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_t
 nonlocal part of the pseudopotential More...
 
type  nonlocal_pseudopotential_oct_m::projection_t
 Class for projections of wave functions. More...
 

Functions/Subroutines

subroutine nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_init (this)
 initialize the nonlocal_pseudopotential_t object More...
 
subroutine, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_rebind_projectors (this, epot)
 Rebind projector matrix pointers (map, position) to a target epot. More...
 
subroutine nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_destroy_proj (this)
 Destroy the data of nonlocal_pseudopotential_t. More...
 
subroutine nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_build_proj (this, space, mesh, epot)
 build the projectors for the application of pseudo-potentials More...
 
subroutine, public nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_accel_rebuild (this, space, mesh)
 Rebuild accelerator buffers after an intrinsic copy. More...
 
subroutine nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_detach_accel_buffers (this)
 Clear copied accelerator handles so they do not alias source buffers. More...
 
subroutine nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_build_accel_buffers (this, space, mesh)
 Build accelerator buffers for projectors from host-side projector matrices. More...
 
subroutine nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_build_projector_phase_accel_buffer (this)
 Rebuild projector phase accelerator buffer from host-side projector phases. More...
 
logical pure function nonlocal_pseudopotential_oct_m::nonlocal_pseudopotential_self_overlap (this)
 Returns .true. if the Hamiltonian contains projectors, which overlap with themself. More...
 
subroutine nonlocal_pseudopotential_oct_m::dnonlocal_pseudopotential_start (this, mesh, std, spiral_bnd, psib, projection, async)
 Start application of non-local potentials (stored in the Hamiltonian) to the wave functions. More...
 
subroutine bra_accel_fused ()
 The GPU projector bra: one gather, a GEMM per matrix, one scatter. More...
 
subroutine bra_cpu ()
 The CPU projector bra: gather, GEMM and scaling per matrix. More...
 
integer(int64) function bra_matrix_offset (imat)
 Elements of buff_matrices before matrix imat. More...
 
integer(int64) function bra_point_offset (imat)
 Projector points before matrix imat. More...
 
integer(int64) function bra_proj_offset (imat)
 Projectors before matrix imat. More...
 
subroutine bra_fused_grid (ker, n, gx, gy, gz, bx, by)
 Grid for a fused bra kernel: states in x, and n spread over dimensions 2 and 3 so that a large supercell fits. More...
 
subroutine nonlocal_pseudopotential_oct_m::dnonlocal_pseudopotential_finish (this, mesh, spiral_bnd, std, projection, vpsib)
 finish the application of non-local potentials. More...
 
subroutine finish_accel ()
 
subroutine nonlocal_pseudopotential_oct_m::dnonlocal_pseudopotential_force (this, mesh, st, spiral_bnd, iqn, ndim, psi1b, psi2b, force)
 calculate contribution to forces, from non-local potentials More...
 
subroutine nonlocal_pseudopotential_oct_m::dnonlocal_pseudopotential_position_commutator (this, mesh, std, spiral_bnd, psib, commpsib, async)
 apply the commutator between the non-local potential and the position to the wave functions. More...
 
subroutine dcommutator_accel ()
 
subroutine nonlocal_pseudopotential_oct_m::dnonlocal_pseudopotential_r_vnlocal (this, mesh, std, spiral_bnd, psib, commpsib)
 Accumulates to commpsib the result of x V_{nl} | psib > More...
 
subroutine nonlocal_pseudopotential_oct_m::znonlocal_pseudopotential_start (this, mesh, std, spiral_bnd, psib, projection, async)
 Start application of non-local potentials (stored in the Hamiltonian) to the wave functions. More...
 
subroutine nonlocal_pseudopotential_oct_m::znonlocal_pseudopotential_finish (this, mesh, spiral_bnd, std, projection, vpsib)
 finish the application of non-local potentials. More...
 
subroutine nonlocal_pseudopotential_oct_m::znonlocal_pseudopotential_force (this, mesh, st, spiral_bnd, iqn, ndim, psi1b, psi2b, force)
 calculate contribution to forces, from non-local potentials More...
 
subroutine nonlocal_pseudopotential_oct_m::znonlocal_pseudopotential_position_commutator (this, mesh, std, spiral_bnd, psib, commpsib, async)
 apply the commutator between the non-local potential and the position to the wave functions. More...
 
subroutine zcommutator_accel ()
 
subroutine nonlocal_pseudopotential_oct_m::znonlocal_pseudopotential_r_vnlocal (this, mesh, std, spiral_bnd, psib, commpsib)
 Accumulates to commpsib the result of x V_{nl} | psib > More...
 

Function/Subroutine Documentation

◆ bra_accel_fused()

subroutine bra_accel_fused
private

The GPU projector bra: one gather, a GEMM per matrix, one scatter.

Definition at line 1284 of file nonlocal_pseudopotential.F90.

◆ bra_cpu()

subroutine bra_cpu
private

The CPU projector bra: gather, GEMM and scaling per matrix.

Definition at line 1404 of file nonlocal_pseudopotential.F90.

◆ bra_matrix_offset()

integer(int64) function dnonlocal_pseudopotential_start::bra_matrix_offset ( integer, intent(in)  imat)
private

Elements of buff_matrices before matrix imat.

Definition at line 1464 of file nonlocal_pseudopotential.F90.

◆ bra_point_offset()

integer(int64) function dnonlocal_pseudopotential_start::bra_point_offset ( integer, intent(in)  imat)
private

Projector points before matrix imat.

Definition at line 1474 of file nonlocal_pseudopotential.F90.

◆ bra_proj_offset()

integer(int64) function dnonlocal_pseudopotential_start::bra_proj_offset ( integer, intent(in)  imat)
private

Projectors before matrix imat.

Definition at line 1484 of file nonlocal_pseudopotential.F90.

◆ bra_fused_grid()

subroutine bra_fused_grid ( type(accel_kernel_t), intent(inout)  ker,
integer(int64), intent(in)  n,
integer(int64), intent(out)  gx,
integer(int64), intent(out)  gy,
integer(int64), intent(out)  gz,
integer(int64), intent(out)  bx,
integer(int64), intent(out)  by 
)
private

Grid for a fused bra kernel: states in x, and n spread over dimensions 2 and 3 so that a large supercell fits.

Definition at line 1495 of file nonlocal_pseudopotential.F90.

◆ finish_accel()

subroutine finish_accel
private

Definition at line 1702 of file nonlocal_pseudopotential.F90.

◆ dcommutator_accel()

subroutine dcommutator_accel
private

Definition at line 2349 of file nonlocal_pseudopotential.F90.

◆ zcommutator_accel()

subroutine zcommutator_accel
private

Definition at line 4597 of file nonlocal_pseudopotential.F90.