52 real(real64),
allocatable,
public :: dp(:, :)
53 complex(real64),
allocatable,
public :: zp(:, :)
54 real(real64),
public :: h(3, 3) =
m_zero
55 real(real64),
public :: k(3, 3) =
m_zero
63 type(hgh_projector_t),
intent(inout) :: hgh_p
64 type(submesh_t),
intent(in) :: sm
65 integer,
intent(in) :: reltyp
66 class(pseudopotential_t),
intent(in) :: spec
67 integer,
intent(in) :: l, lm
68 real(real64),
intent(in) :: so_strength
76 safe_allocate(hgh_p%dp(1:hgh_p%n_s, 1:3))
81 safe_allocate(hgh_p%zp(1:hgh_p%n_s, 1:3))
87 hgh_p%h(:, :) = spec%ps%h(l, :, :)
88 hgh_p%k(:, :) = spec%ps%k(l, :, :)*so_strength
95 type(hgh_projector_t),
intent(inout) :: hgh_p
99 safe_deallocate_a(hgh_p%dp)
100 safe_deallocate_a(hgh_p%zp)
108#include "hgh_projector_inc.F90"
111#include "complex.F90"
112#include "hgh_projector_inc.F90"
This module contains interfaces for BLAS routines You should not use these routines directly....
real(real64), parameter, public m_zero
subroutine, public zhgh_project_ket(hgh_p, ll, lmax, dim, reltype, uvpsi, ppsi)
THREADSAFE.
subroutine, public hgh_projector_end(hgh_p)
subroutine, public zhgh_project_bra(mesh, sm, hgh_p, dim, reltype, psi, uvpsi)
THREADSAFE.
subroutine, public hgh_projector_init(hgh_p, sm, reltyp, spec, l, lm, so_strength)
subroutine, public zhgh_project(mesh, sm, hgh_p, ll, lmax, dim, psi, ppsi, reltype)
zhgh_project calculates the action of the projector hgh_p on the psi wavefunction....
subroutine, public dhgh_project(mesh, sm, hgh_p, ll, lmax, dim, psi, ppsi, reltype)
dhgh_project calculates the action of the projector hgh_p on the psi wavefunction....
subroutine, public dhgh_project_bra(mesh, sm, hgh_p, dim, reltype, psi, uvpsi)
THREADSAFE.
subroutine, public dhgh_project_ket(hgh_p, ll, lmax, dim, reltype, uvpsi, ppsi)
THREADSAFE.
This module defines the meshes, which are used in Octopus.
subroutine, public pseudopotential_nl_projector(spec, np, x, r, l, lm, i, uV)
This routine returns the non-local projector, built using spherical harmonics.
subroutine, public pseudopotential_real_nl_projector(spec, np, x, r, l, lm, i, uV)
This routine returns the non-local projector and its derivative, built using real spherical harmonics...