added v4.0 sources
[unres4.git] / source / unres / MPI_data.f90
1       module MPI_data
2       
3 !-----------------------------------------------------------------------------
4       integer,parameter :: max_cg_procs=2048
5 !-----------------------------------------------------------------------------
6 ! commom.info
7 ! NPROCS   - total number of processors;
8 ! MyID     - processor's ID;
9 ! MasterID - master processor's ID.
10       integer :: tag
11       integer,dimension(:),allocatable :: status        !(MPI_STATUS_SIZE)
12 !      common /info/
13       integer :: myid,masterid,allgrp,dontcare,WhatsUp
14       logical,dimension(:),allocatable :: koniec !(0:maxprocs-1)
15 !el      integer,dimension(:),allocatable :: ifinish !(maxprocs-1)
16 !... 5/12/96 - added variables for collective communication
17 ! FGPROCS - Number of fine-grain processors per coarse-grain task;
18 ! NCTASKS - Number of coarse-grain tasks;
19 ! MYGROUP - label of the processor's FG group id;
20 ! BOSSID  - ID of group's master;
21 ! FGLIST  - list of group's FG processors.
22 ! MSGLEN_VAR - length of the vector of variables passed to the fine-grain 
23 !              slave processors
24 !      common /info1/
25       integer :: fgprocs,nctasks,mygroup,bossid,cglabel,&
26        cgGroupID,fgGroupID,msglen_var
27       integer,dimension(:),allocatable :: cglist,fglist !(max_fg_procs) !not used ???
28 !-----------------------------------------------------------------------------
29 ! common.setup
30       integer,parameter :: king=0,idint=1105
31       integer,parameter :: idreal=1729,idchar=1597,is_done=1
32 !      common/setup/
33       integer :: me,cg_rank,fg_rank,fg_rank1,nodes,Nprocs,nfgtasks,&
34        kolor,nfgtasks1,MyRank,kolor1,key1,max_gs_size,&
35        CG_COMM,FG_COMM,FG_COMM1,CONT_FROM_COMM,CONT_TO_COMM
36 !el      integer,dimension(:),allocatable ::  koniec !(0:maxprocs-1)
37       integer,dimension(:),allocatable ::  lentyp !(0:maxprocs-1)
38       integer,dimension(:),allocatable :: ifinish !(maxprocs-1)
39       logical :: yourjob,finished,cgdone
40 !      common /types/
41       integer :: MPI_UYZ,MPI_UYZGRAD,MPI_MU,MPI_MAT1,MPI_MAT2,&
42        MPI_THET,MPI_GAM
43       integer,dimension(0:1) :: MPI_ROTAT1,MPI_ROTAT2,MPI_ROTAT_OLD,&
44        MPI_PRECOMP11,MPI_PRECOMP12,MPI_PRECOMP22,MPI_PRECOMP23
45 !-----------------------------------------------------------------------------
46 #ifdef WHAM_RUN
47 ! COMMON.MPI 
48 !      common /MPI_Data/
49       integer :: Master,Master1,Comm1,Me1,Nprocs1,WHAM_COMM
50       integer,dimension(:),allocatable :: Indstart,Indend,idispl,&
51         scount !(0:MaxProcs)
52 #endif
53 !-----------------------------------------------------------------------------
54       end module MPI_data