unres_package_Oct_2016 from emilial
[unres4.git] / source / unres / data / MPI_data.f90
diff --git a/source/unres/data/MPI_data.f90 b/source/unres/data/MPI_data.f90
new file mode 100644 (file)
index 0000000..3ed522b
--- /dev/null
@@ -0,0 +1,54 @@
+      module MPI_data
+      
+!-----------------------------------------------------------------------------
+      integer,parameter :: max_cg_procs=2048
+!-----------------------------------------------------------------------------
+! commom.info
+! NPROCS   - total number of processors;
+! MyID     - processor's ID;
+! MasterID - master processor's ID.
+      integer :: tag
+      integer,dimension(:),allocatable :: status       !(MPI_STATUS_SIZE)
+!      common /info/
+      integer :: myid,masterid,allgrp,dontcare,WhatsUp
+      logical,dimension(:),allocatable :: koniec !(0:maxprocs-1)
+!el      integer,dimension(:),allocatable :: ifinish !(maxprocs-1)
+!... 5/12/96 - added variables for collective communication
+! FGPROCS - Number of fine-grain processors per coarse-grain task;
+! NCTASKS - Number of coarse-grain tasks;
+! MYGROUP - label of the processor's FG group id;
+! BOSSID  - ID of group's master;
+! FGLIST  - list of group's FG processors.
+! MSGLEN_VAR - length of the vector of variables passed to the fine-grain 
+!              slave processors
+!      common /info1/
+      integer :: fgprocs,nctasks,mygroup,bossid,cglabel,&
+       cgGroupID,fgGroupID,msglen_var
+      integer,dimension(:),allocatable :: cglist,fglist !(max_fg_procs) !not used ???
+!-----------------------------------------------------------------------------
+! common.setup
+      integer,parameter :: king=0,idint=1105
+      integer,parameter :: idreal=1729,idchar=1597,is_done=1
+!      common/setup/
+      integer :: me,cg_rank,fg_rank,fg_rank1,nodes,Nprocs,nfgtasks,&
+       kolor,nfgtasks1,MyRank,kolor1,key1,max_gs_size,&
+       CG_COMM,FG_COMM,FG_COMM1,CONT_FROM_COMM,CONT_TO_COMM
+!el      integer,dimension(:),allocatable ::  koniec !(0:maxprocs-1)
+      integer,dimension(:),allocatable ::  lentyp !(0:maxprocs-1)
+      integer,dimension(:),allocatable :: ifinish !(maxprocs-1)
+      logical :: yourjob,finished,cgdone
+!      common /types/
+      integer :: MPI_UYZ,MPI_UYZGRAD,MPI_MU,MPI_MAT1,MPI_MAT2,&
+       MPI_THET,MPI_GAM
+      integer,dimension(0:1) :: MPI_ROTAT1,MPI_ROTAT2,MPI_ROTAT_OLD,&
+       MPI_PRECOMP11,MPI_PRECOMP12,MPI_PRECOMP22,MPI_PRECOMP23
+!-----------------------------------------------------------------------------
+#if defined(WHAM_RUN) || defined(CLUSTER)
+! COMMON.MPI 
+!      common /MPI_Data/
+      integer :: Master,Master1,Comm1,Me1,Nprocs1,WHAM_COMM
+      integer,dimension(:),allocatable :: Indstart,Indend,idispl,&
+        scount !(0:MaxProcs)
+#endif
+!-----------------------------------------------------------------------------
+      end module MPI_data