(git:6a2e663)
qs_tddfpt2_subgroups Module Reference

Functions/Subroutines

subroutine, public tddfpt_sub_env_init (sub_env, qs_env, mos_occ, kernel)
 Split MPI communicator to create a set of parallel (sub)groups. More...
 
subroutine, public tddfpt_sub_env_release (sub_env)
 Release parallel group environment. More...
 
subroutine, public tddfpt_dbcsr_create_by_dist (matrix, template, dbcsr_dist, sab)
 Create a DBCSR matrix based on a template matrix, distribution object, and the list of neighbours. More...
 
subroutine, public tddfpt_fm_replicate_across_subgroups (fm_src, fm_dest_sub, sub_env)
 Replicate a globally distributed matrix across all sub-groups. At the end every sub-group will hold a local copy of the original globally distributed matrix. More...
 

Function/Subroutine Documentation

◆ tddfpt_sub_env_init()

subroutine, public qs_tddfpt2_subgroups::tddfpt_sub_env_init ( type(tddfpt_subgroup_env_type), intent(out)  sub_env,
type(qs_environment_type), pointer  qs_env,
type(cp_fm_type), dimension(:), intent(in)  mos_occ,
integer, intent(in)  kernel 
)

Split MPI communicator to create a set of parallel (sub)groups.

Parameters
sub_envparallel group environment (initialised on exit)
qs_envQuickstep environment
mos_occground state molecular orbitals in primary atomic basis set
kernelType of kernel (full/sTDA) that will be used
History
  • 01.2017 (sub)group-related code has been moved here from the main subroutine tddfpt() [Sergey Chulkov]

Definition at line 179 of file qs_tddfpt2_subgroups.F.

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

◆ tddfpt_sub_env_release()

subroutine, public qs_tddfpt2_subgroups::tddfpt_sub_env_release ( type(tddfpt_subgroup_env_type), intent(inout)  sub_env)

Release parallel group environment.

Parameters
sub_envparallel group environment (modified on exit)
History
  • 01.2017 created [Sergey Chulkov]

Definition at line 410 of file qs_tddfpt2_subgroups.F.

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

◆ tddfpt_dbcsr_create_by_dist()

subroutine, public qs_tddfpt2_subgroups::tddfpt_dbcsr_create_by_dist ( type(dbcsr_type), pointer  matrix,
type(dbcsr_type), pointer  template,
type(dbcsr_distribution_type), pointer  dbcsr_dist,
type(neighbor_list_set_p_type), dimension(:), pointer  sab 
)

Create a DBCSR matrix based on a template matrix, distribution object, and the list of neighbours.

Parameters
matrixmatrix to create
templatetemplate matrix
dbcsr_distDBCSR distribution
sablist of neighbours
History

Definition at line 740 of file qs_tddfpt2_subgroups.F.

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

◆ tddfpt_fm_replicate_across_subgroups()

subroutine, public qs_tddfpt2_subgroups::tddfpt_fm_replicate_across_subgroups ( type(cp_fm_type), intent(in)  fm_src,
type(cp_fm_type), intent(in)  fm_dest_sub,
type(tddfpt_subgroup_env_type), intent(in)  sub_env 
)

Replicate a globally distributed matrix across all sub-groups. At the end every sub-group will hold a local copy of the original globally distributed matrix.

                     |--------------------|
             fm_src  |  0    1    2    3  |
                     |--------------------|
                        /  MPI  ranks  \
                      |/_              _\|
        |--------------------|    |--------------------|

fm_dest_subgroup0 | 0 1 | | 2 3 | fm_dest_subgroup1 |-----------------—| |-----------------—| subgroup 0 subgroup 1

Parameters
fm_srcglobally distributed matrix to replicate
fm_dest_subsubgroup-specific copy of the replicated matrix
sub_envsubgroup environment
History

Definition at line 793 of file qs_tddfpt2_subgroups.F.

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