Documentation for module qs_fb_filter_matrix_methods

...

source: qs_fb_filter_matrix_methods.F
Loading...

public Subroutines/Functions:

Build the filter matrix, with MPI communications happening at each step. Less efficient on communication, but more efficient on memory usage (compared to fb_fltrmat_build_2)
Build the filter matrix, with MPI communications grouped together. More effcient on communication, less efficient on memory (compared to fb_fltrmat_build)

SUBROUTINEfb_fltrmat_build(h_mat, s_mat, atomic_halos, trial_fns, para_env, particle_set, fermi_level, filter_temp, name, filter_mat, tolerance)

Build the filter matrix, with MPI communications happening at each step. Less efficient on communication, but more efficient on memory usage (compared to fb_fltrmat_build_2)

Arguments:
TYPE(dbcsr_type),
POINTER
:: h_mat DBCSR system KS matrix
TYPE(dbcsr_type),
POINTER
:: s_mat DBCSR system overlap matrix
INTENT(in)
:: atomic_halos list of all local atomic halos, each halo gives one atomic matrix and contributes to one blk col to the filter matrix
INTENT(in)
:: trial_fns the trial functions to be used to shrink the size of the new "filtered" basis
POINTER
:: para_env cp2k parallel environment
POINTER
:: particle_set(:) set of all particles in the system
REAL(dp),
INTENT(in)
:: fermi_level the fermi level used for defining the filter function, which is a Fermi-Dirac distribution function
REAL(dp),
INTENT(in)
:: filter_temp the filter temperature used for defining the filter function
CHARACTER(*),
INTENT(in)
:: name name given to the filter matrix
TYPE(dbcsr_type),
POINTER
:: filter_mat DBCSR format filter matrix
REAL(dp),
INTENT(in)
:: tolerance anything less than tolerance is treated as zero

SUBROUTINEfb_fltrmat_build_2(h_mat, s_mat, atomic_halos, trial_fns, para_env, particle_set, fermi_level, filter_temp, name, filter_mat, tolerance)

Build the filter matrix, with MPI communications grouped together. More effcient on communication, less efficient on memory (compared to fb_fltrmat_build)

Arguments:
TYPE(dbcsr_type),
POINTER
:: h_mat DBCSR system KS matrix
TYPE(dbcsr_type),
POINTER
:: s_mat DBCSR system overlap matrix
INTENT(in)
:: atomic_halos list of all local atomic halos, each halo gives one atomic matrix and contributes to one blk col to the filter matrix
INTENT(in)
:: trial_fns the trial functions to be used to shrink the size of the new "filtered" basis
POINTER
:: para_env cp2k parallel environment
POINTER
:: particle_set(:) set of all particles in the system
REAL(dp),
INTENT(in)
:: fermi_level the fermi level used for defining the filter function, which is a Fermi-Dirac distribution function
REAL(dp),
INTENT(in)
:: filter_temp the filter temperature used for defining the filter function
CHARACTER(*),
INTENT(in)
:: name name given to the filter matrix
TYPE(dbcsr_type),
POINTER
:: filter_mat DBCSR format filter matrix
REAL(dp),
INTENT(in)
:: tolerance anything less than tolerance is treated as zero