xref: /phasta/phSolver/common/gtnods.c (revision 1016729149754f57cd03fe576ba6fd0f1723ab31)
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