~nickpapior/siesta/trunk-buds-format0.92

« back to all changes in this revision

Viewing changes to Src/buds/src/mpi/Dist1D.F90

  • Committer: Nick Papior
  • Date: 2017-04-07 12:42:28 UTC
  • Revision ID: nickpapior@gmail.com-20170407124228-u5t08yr2p4fhzfeo
Initial commit of buds merged into siesta

Currently I have only enabled buds compilation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
  ! @@LICENSE@@ see Copyright notice in the top-directory
 
2
 
 
3
! Get default commands
 
4
#include "bud_utils.inc"
 
5
 
 
6
! This bud is not able to read/write itself.
 
7
#define BUD_NO_IO
 
8
 
 
9
!> @addtogroup bud-intrinsic
 
10
 
 
11
!> @defgroup dist-1d Parallel distribution (1D)
 
12
!! @ingroup bud-intrinsic
 
13
!!
 
14
!! A distribution implementation of various kinds.
 
15
!!
 
16
!! @{
 
17
 
 
18
# define BUD_MOD_NAME BUD_CC3(BUD_MOD,_,iDist1D)
 
19
!> @defgroup BUD_MOD_NAME Integer (int)
 
20
!! `integer(selected_int_kind(9))` data type
 
21
!! @{
 
22
module BUD_MOD_NAME
 
23
# define BUD_TYPE_NAME BUD_CC2(BUD_TYPE,iDist1D)
 
24
# define BUD_TYPE_VAR integer
 
25
# define BUD_PREC ii_
 
26
# define BUD_MPI_PREC MPI_Integer
 
27
#include "Dist1D.inc"
 
28
end module
 
29
!> @}
 
30
 
 
31
# define BUD_MOD_NAME BUD_CC3(BUD_MOD,_,lDist1D)
 
32
!> @defgroup BUD_MOD_NAME Integer (long)
 
33
!! `integer(selected_int_kind(18))` data type
 
34
!! @{
 
35
module BUD_MOD_NAME
 
36
# define BUD_TYPE_NAME BUD_CC2(BUD_TYPE,lDist1D)
 
37
# define BUD_TYPE_VAR integer
 
38
# define BUD_PREC il_
 
39
  ! @todo Assert that a long communicator with MPI works!!
 
40
# define BUD_MPI_PREC MPI_Integer
 
41
#include "Dist1D.inc"
 
42
end module
 
43
!> @}
 
44
 
 
45
!> @defgroup Distribution module for all precision objects
 
46
!! @ingroup dist-1d
 
47
!! Module for making everything public
 
48
!! @{
 
49
module BUD_CC3(BUD_MOD,_,Dist1D)
 
50
 
 
51
  use BUD_CC3(BUD_MOD,_,iDist1D)
 
52
  use BUD_CC3(BUD_MOD,_,lDist1D)
 
53
 
 
54
end module
 
55
!> @}
 
56
 
 
57
! GROUP dist-1d
 
58
!> @}
 
59
 
 
60
 
 
61
! project-buds -- local file settings
 
62
!     Anything below this line may be overwritten by scripts
 
63
!     Below are non-editable settings
 
64
 
 
65
! Local Variables:
 
66
!  mode: f90
 
67
!  f90-if-indent: 2
 
68
!  f90-type-indent: 2
 
69
!  f90-associate-indent: 2
 
70
!  f90-continuation-indent: 2
 
71
!  f90-structure-indent: 2
 
72
!  f90-critical-indent: 2
 
73
!  f90-program-indent: 2
 
74
!  f90-do-indent: 2
 
75
! End:
 
76