easy_iso_MPI.cpp (995B)
1 // File : easy_iso_MPI.cpp 2 // Date : Mon Nov 28 16:55:33 2016 3 // Author : Fabian Wermelinger 4 // Description: easy iso extraction with MPI 5 // Copyright 2016 ETH Zurich. All Rights Reserved. 6 #include <mpi.h> 7 #include <string> 8 #include <sstream> 9 #include "ArgumentParser.h" 10 #include "interpolation/kernels.h" 11 #include "IsoExtractorMPI.h" 12 13 int main(int argc, char* argv[]) 14 { 15 MPI_Init(&argc, &argv); 16 17 ArgumentParser parser(argc, const_cast<const char**>(argv)); 18 19 using Tinterp = M2; 20 if (parser("interp_kernel").asString("M2") == "Mp4") 21 using Tinterp = Mprime4; 22 else if (parser("interp_kernel").asString("M2") == "M5") 23 using Tinterp = M5; 24 25 IsoExtractorMPI<Tinterp> iso(parser); 26 27 const Real isoval = parser("isoval").asDouble(0.0); 28 std::ostringstream basename; 29 basename << "isosurf_" << isoval; 30 const std::string fout = parser("fout").asString(basename.str()); 31 iso.extract(isoval, fout); 32 33 MPI_Finalize(); 34 35 return 0; 36 }