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-2018 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

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

defs_abitypes/effpot_mpi_type [ Types ]

[ Top ] [ defs_abitypes ] [ Types ]

NAME

 effective_potential_type

FUNCTION

 datatype to set the parallelisation

SOURCE

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