easy-iso

Iso-surface extraction from volume data
git clone https://git.0xfab.ch/easy-iso.git
Log | Files | Refs | Submodules | README | LICENSE

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 }