Documentation for module hfx_screening_methods

Several screening methods used in HFX calcualtions

source: hfx_screening_methods.F
Loading...

public Subroutines/Functions:

calculates radius functions for longrange screening
calculates screening functions for schwarz screening
updates the maximum of the density matrix in compressed form for screening purposes

SUBROUTINEcalc_pair_dist_radii(qs_env, basis_parameter, radii_pgf, max_set, max_pgf, eps_schwarz, n_threads, i_thread)

calculates radius functions for longrange screening

Arguments:
POINTER
:: qs_env qs_env
POINTER
:: basis_parameter(:) ...
POINTER
:: radii_pgf(:,:,:,:,:,:) pgf based coefficients
INTEGER,
INTENT(in)
:: max_set Maximum Number of basis set sets in the system
INTEGER,
INTENT(in)
:: max_pgf Maximum Number of basis set pgfs in the system
REAL(dp)
:: eps_schwarz ...
INTEGER,
INTENT(in)
:: n_threads ...
INTEGER,
INTENT(in)
:: i_thread Thread ID of current task

SUBROUTINEcalc_screening_functions(qs_env, basis_parameter, lib, potential_parameter, coeffs_set, coeffs_kind, coeffs_pgf, radii_pgf, max_set, max_pgf, n_threads, i_thread, p_work)

calculates screening functions for schwarz screening

Arguments:
POINTER
:: qs_env qs_env
POINTER
:: basis_parameter(:) ...
TYPE(lib_int)
:: lib structure to libint
:: potential_parameter contains infos on potential
POINTER
:: coeffs_set(:,:,:,:) set based coefficients
POINTER
:: coeffs_kind(:,:) kind based coefficients
POINTER
:: coeffs_pgf(:,:,:,:,:,:) pgf based coefficients
POINTER
:: radii_pgf(:,:,:,:,:,:) coefficients for long-range screening
INTEGER,
INTENT(in)
:: max_set Maximum Number of basis set sets in the system
INTEGER,
INTENT(in)
:: max_pgf Maximum Number of basis set pgfs in the system
INTEGER,
INTENT(in)
:: n_threads ...
INTEGER,
INTENT(in)
:: i_thread Thread ID of current task
REAL(dp),
POINTER
:: p_work(:) ...

SUBROUTINEupdate_pmax_mat(pmax_set, map_atom_to_kind_atom, set_offset, atomic_block_offset, pmax_atom, full_density_alpha, full_density_beta, natom, kind_of, basis_parameter, nkind, is_assoc_atomic_block)

updates the maximum of the density matrix in compressed form for screening purposes

Arguments:
TYPE(hfx_p_kind),
POINTER
:: pmax_set(:) buffer to store matrix
INTEGER,
POINTER
:: map_atom_to_kind_atom(:) ...
INTEGER,
POINTER
:: set_offset(:,:,:,:) ...
INTEGER,
POINTER
:: atomic_block_offset(:,:) ...
REAL(dp),
POINTER
:: pmax_atom(:,:) ...
REAL(dp),
POINTER
:: full_density_alpha(:,:) ...
REAL(dp),
POINTER
:: full_density_beta(:,:) ...
INTEGER,
INTENT(in)
:: natom ...
INTEGER
:: kind_of(*) ...
POINTER
:: basis_parameter(:) ...
INTEGER
:: nkind ...
INTEGER
:: is_assoc_atomic_block(:,:) ...