Documentation for module qs_tddfpt2_subgroups

...

source: qs_tddfpt2_subgroups.F
Loading...

public Types:

tddfpt_subgroup_env_type
Parallel (sub)group environment.

public Subroutines/Functions:

Create a DBCSR matrix based on a template matrix, distribution object, and the list of neighbours.
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.
Split MPI communicator to create a set of parallel (sub)groups.
Release parallel group environment

public Types:

TYPE :: tddfpt_subgroup_env_type

Parallel (sub)group environment.


LOGICAL
:: is_split ...
INTEGER
:: mpi_comm ...
INTEGER
:: ngroups ...
INTEGER,
DIMENSION(:), ALLOCATABLE :: group_distribution ...
POINTER :: blacs_env ...
POINTER :: para_env ...
ALLOCATABLE, DIMENSION(:) :: mos_occ ...
TYPE(cp_fm_type),
POINTER :: admm_a ...
LOGICAL
:: is_mgrid ...
POINTER :: dbcsr_dist ...
POINTER :: dist_2d ...
POINTER :: pw_env ...
DIMENSION(:), POINTER :: sab_aux_fit ...
DIMENSION(:), POINTER :: sab_orb ...
POINTER :: task_list_aux_fit ...
POINTER :: task_list_orb ...

SUBROUTINEtddfpt_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.

Arguments:
TYPE(dbcsr_type),
POINTER
:: matrix matrix to create
TYPE(dbcsr_type),
POINTER
:: template template matrix
POINTER
:: dbcsr_dist DBCSR distribution
POINTER
:: sab(:) list of neighbours

SUBROUTINEtddfpt_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.

Arguments:
TYPE(cp_fm_type),
POINTER
:: fm_src globally distributed matrix to replicate
TYPE(cp_fm_type),
POINTER
:: fm_dest_sub subgroup-specific copy of the replicated matrix
INTENT(in)
:: sub_env subgroup environment

SUBROUTINEtddfpt_sub_env_init(sub_env, qs_env, mos_occ)

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

Arguments:
INTENT(out)
:: sub_env parallel group environment (initialised on exit)
POINTER
:: qs_env Quickstep environment
INTENT(in)
:: mos_occ(:) ground state molecular orbitals in primary atomic basis set

SUBROUTINEtddfpt_sub_env_release(sub_env)

Release parallel group environment

Arguments:
INTENT(inout)
:: sub_env parallel group environment (modified on exit)