TABLE OF CONTENTS


ABINIT/m_effpot_mpi [ Modules ]

[ Top ] [ Modules ]

NAME

 m_effpot_mpi

FUNCTION

 Module for using the paralelisation of effective potential
 Container type is defined, and destruction, print subroutines
 This module is still experimental

COPYRIGHT

 Copyright (C) 2010-2022 ABINIT group (AM)
 This file is distributed under the terms of the
 GNU General Public Licence, see ~abinit/COPYING
 or http://www.gnu.org/copyleft/gpl.txt .
 For the initials of contributors, see ~abinit/doc/developers/contributors.txt .

SOURCE

20 #if defined HAVE_CONFIG_H
21 #include "config.h"
22 #endif
23 
24 #include "abi_common.h"
25 
26 module m_effpot_mpi
27 
28  use defs_basis
29  use m_xmpi
30  use m_errors
31  use m_abicore
32  use m_supercell,only: getPBCIndexes_supercell
33 
34  implicit none
35 
36  public :: effpot_mpi_init
37  public :: effpot_mpi_free

m_effpot_mpi/effpot_mpi_type [ Types ]

[ Top ] [ m_effpot_mpi ] [ Types ]

NAME

 effective_potential_type

FUNCTION

 datatype to set the parallelisation

SOURCE

49  type, public :: effpot_mpi_type
50 
51 ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52 ! This is for the parallelisation over the supercell
53    integer :: comm
54    ! local Communicator over all processors treating the same cell
55 
56    integer :: my_rank
57    ! local Communicator over all processors treating the same cell
58 
59    integer my_ncell
60    ! Number of cell treat by current proc
61 
62    integer my_nrpt
63    ! Number of rpt/coefficient treat by current proc
64 
65    integer,allocatable :: my_cells(:)
66    ! my_cells(my_ncell)
67    ! Number of each cells in the supercell treat by this CPU
68 
69    integer,allocatable :: my_index_cells(:,:)
70    ! my_cells(4,my_ncell)
71    ! 1-3 are the indexes of the cells in the supercell treat by this CPU
72    ! dimension 4 is the index of the first atom in the cell
73 
74    integer,allocatable :: my_rpt(:)
75    ! my_rpt(my_nrpt)
76    ! List of rpt treat by this CPU
77 
78    integer,allocatable :: my_atmrpt_index(:,:)
79    ! my_cells(my_nrpt,my_ncell)
80    ! For each cell in the supercell and each rpt, give the index of the first atoms in the rpt cell
81    ! Take into acount the PBC.
82 
83  end type effpot_mpi_type