1*10167291SKenneth E. Jansen #include <stdio.h> 2*10167291SKenneth E. Jansen #include <mpi.h> 3*10167291SKenneth E. Jansen 4*10167291SKenneth E. Jansen #include "common_c.h" 5*10167291SKenneth E. Jansen 6*10167291SKenneth E. Jansen #include <FCMangle.h> 7*10167291SKenneth E. Jansen #define gtnods FortranCInterface_GLOBAL_(gtnods, GTNODS) 8*10167291SKenneth E. Jansen 9*10167291SKenneth E. Jansen void gtnods() 10*10167291SKenneth E. Jansen { 11*10167291SKenneth E. Jansen 12*10167291SKenneth E. Jansen if(workfc.numpe > 1) { 13*10167291SKenneth E. Jansen 14*10167291SKenneth E. Jansen int irecvcount, ierr; 15*10167291SKenneth E. Jansen long long numvec, loc_nshgt; 16*10167291SKenneth E. Jansen 17*10167291SKenneth E. Jansen irecvcount = 1; 18*10167291SKenneth E. Jansen numvec = (long long) newdim.nshg0; 19*10167291SKenneth E. Jansen 20*10167291SKenneth E. Jansen // printf("Local number of modes = %ld %d %d\n",numvec,newdim.nshg0, sizeof(newdim.nshg0)); 21*10167291SKenneth E. Jansen 22*10167291SKenneth E. Jansen ierr = MPI_Allreduce(&numvec, &loc_nshgt, irecvcount, 23*10167291SKenneth E. Jansen MPI_LONG_LONG, MPI_SUM, MPI_COMM_WORLD); 24*10167291SKenneth E. Jansen 25*10167291SKenneth E. Jansen newdim.nshgt = loc_nshgt; 26*10167291SKenneth E. Jansen } 27*10167291SKenneth E. Jansen else { 28*10167291SKenneth E. Jansen newdim.nshgt = (long long) newdim.nshg0; 29*10167291SKenneth E. Jansen } 30*10167291SKenneth E. Jansen 31*10167291SKenneth E. Jansen if (workfc.myrank == workfc.master) { 32*10167291SKenneth E. Jansen printf("Total number of modes = %ld\n",newdim.nshgt); 33*10167291SKenneth E. Jansen } 34*10167291SKenneth E. Jansen 35*10167291SKenneth E. Jansen } 36