#include "FEDataStructures.h" #include #include #include "FEAdaptor.h" void SubCommunicatorDriver(int argc, char* argv[], MPI_Comm* handle) { Grid grid; unsigned int numPoints[3] = {70, 60, 44}; double spacing[3] = {1, 1.1, 1.3}; grid.Initialize(numPoints, spacing); Attributes attributes; attributes.Initialize(&grid); FEAdaptor::Initialize(argc, argv, handle); unsigned int numberOfTimeSteps = 100; for(unsigned int timeStep=0;timeStep subranks; for(int i=0;i(subranks.size())) { int newrank; MPI_Comm_rank(MPI_COMM_WORLD, &newrank); std::cout << "got a rank\n"; SubCommunicatorDriver(argc, argv, &subcommunicator); std::cout << "Process " << myrank << " did some co-processing.\n"; } else { std::cout << "Process " << myrank << " did not do any co-processing.\n"; } MPI_Finalize(); return 0; }