(git:6a2e663)
qs_fb_filter_matrix_methods Module Reference

Functions/Subroutines

subroutine, public fb_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) More...
 
subroutine, public fb_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) More...
 

Function/Subroutine Documentation

◆ fb_fltrmat_build()

subroutine, public qs_fb_filter_matrix_methods::fb_fltrmat_build ( type(dbcsr_type), pointer  H_mat,
type(dbcsr_type), pointer  S_mat,
type(fb_atomic_halo_list_obj), intent(in)  atomic_halos,
type(fb_trial_fns_obj), intent(in)  trial_fns,
type(mp_para_env_type), pointer  para_env,
type(particle_type), dimension(:), pointer  particle_set,
real(kind=dp), intent(in)  fermi_level,
real(kind=dp), intent(in)  filter_temp,
character(len=*), intent(in)  name,
type(dbcsr_type), pointer  filter_mat,
real(kind=dp), intent(in)  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)

Parameters
H_mat: DBCSR system KS matrix
S_mat: DBCSR system overlap matrix
atomic_halos: list of all local atomic halos, each halo gives one atomic matrix and contributes to one blk col to the filter matrix
trial_fns: the trial functions to be used to shrink the size of the new "filtered" basis
para_env: cp2k parallel environment
particle_set: set of all particles in the system
fermi_level: the fermi level used for defining the filter function, which is a Fermi-Dirac distribution function
filter_temp: the filter temperature used for defining the filter function
name: name given to the filter matrix
filter_mat: DBCSR format filter matrix
tolerance: anything less than tolerance is treated as zero
Author
Lianheng Tong (LT) lianh.nosp@m.eng..nosp@m.tong@.nosp@m.kcl..nosp@m.ac.uk

Definition at line 93 of file qs_fb_filter_matrix_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fb_fltrmat_build_2()

subroutine, public qs_fb_filter_matrix_methods::fb_fltrmat_build_2 ( type(dbcsr_type), pointer  H_mat,
type(dbcsr_type), pointer  S_mat,
type(fb_atomic_halo_list_obj), intent(in)  atomic_halos,
type(fb_trial_fns_obj), intent(in)  trial_fns,
type(mp_para_env_type), pointer  para_env,
type(particle_type), dimension(:), pointer  particle_set,
real(kind=dp), intent(in)  fermi_level,
real(kind=dp), intent(in)  filter_temp,
character(len=*), intent(in)  name,
type(dbcsr_type), pointer  filter_mat,
real(kind=dp), intent(in)  tolerance 
)

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

Parameters
H_mat: DBCSR system KS matrix
S_mat: DBCSR system overlap matrix
atomic_halos: list of all local atomic halos, each halo gives one atomic matrix and contributes to one blk col to the filter matrix
trial_fns: the trial functions to be used to shrink the size of the new "filtered" basis
para_env: cp2k parallel environment
particle_set: set of all particles in the system
fermi_level: the fermi level used for defining the filter function, which is a Fermi-Dirac distribution function
filter_temp: the filter temperature used for defining the filter function
name: name given to the filter matrix
filter_mat: DBCSR format filter matrix
tolerance: anything less than tolerance is treated as zero
Author
Lianheng Tong (LT) lianh.nosp@m.eng..nosp@m.tong@.nosp@m.kcl..nosp@m.ac.uk

Definition at line 253 of file qs_fb_filter_matrix_methods.F.

Here is the call graph for this function:
Here is the caller graph for this function: