/[escript]/trunk/tools/escriptconvert/escriptconvert.cpp
ViewVC logotype

Diff of /trunk/tools/escriptconvert/escriptconvert.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3090 by caltinay, Mon Jun 14 00:59:30 2010 UTC revision 3091 by caltinay, Fri Aug 13 07:47:57 2010 UTC
# Line 55  int usage() Line 55  int usage()
55      return -1;      return -1;
56  }  }
57    
58    void cleanup()
59    {
60    #if HAVE_MPI
61        MPI_Finalize();
62    #endif
63    }
64    
65  int main(int argc, char** argv)  int main(int argc, char** argv)
66  {  {
67  #if HAVE_MPI  #if HAVE_MPI
# Line 71  int main(int argc, char** argv) Line 78  int main(int argc, char** argv)
78      string esdFile;      string esdFile;
79    
80  #if USE_SILO  #if USE_SILO
81      if (argc != 3)      if (argc != 3) {
82            cleanup();
83          return usage();          return usage();
84        }
85    
86      if (!strcmp(argv[1], "-vtk")) {      if (!strcmp(argv[1], "-vtk")) {
87          doVTK = true;          doVTK = true;
88      } else if (!strcmp(argv[1], "-silo")) {      } else if (!strcmp(argv[1], "-silo")) {
89          doSilo = true;          doSilo = true;
90      } else {      } else {
91            cleanup();
92          return usage();          return usage();
93      }      }
94      esdFile = string(argv[2]);      esdFile = string(argv[2]);
# Line 87  int main(int argc, char** argv) Line 97  int main(int argc, char** argv)
97      if (argc == 2) {      if (argc == 2) {
98          esdFile = string(argv[1]);          esdFile = string(argv[1]);
99      } else if (argc == 3) {      } else if (argc == 3) {
100          if (strcmp(argv[1], "-vtk"))          if (strcmp(argv[1], "-vtk")) {
101                cleanup();
102              return usage();              return usage();
103            }
104          esdFile = string(argv[2]);          esdFile = string(argv[2]);
105      } else {      } else {
106            cleanup();
107          return usage();          return usage();
108      }      }
109      doVTK = true;      doVTK = true;
# Line 99  int main(int argc, char** argv) Line 112  int main(int argc, char** argv)
112      ifstream in(esdFile.c_str());      ifstream in(esdFile.c_str());
113      if (!in.is_open()) {      if (!in.is_open()) {
114          cerr << "Could not open " << esdFile << "." << endl;          cerr << "Could not open " << esdFile << "." << endl;
115            cleanup();
116          return -1;          return -1;
117      }      }
118    
# Line 109  int main(int argc, char** argv) Line 123  int main(int argc, char** argv)
123      if (sscanf(line, "#escript datafile V%d.%d", &major, &minor) != 2) {      if (sscanf(line, "#escript datafile V%d.%d", &major, &minor) != 2) {
124          cerr << esdFile << " is not a valid escript datafile." << endl;          cerr << esdFile << " is not a valid escript datafile." << endl;
125          in.close();          in.close();
126            cleanup();
127          return -1;          return -1;
128      }      }
129    
# Line 140  int main(int argc, char** argv) Line 155  int main(int argc, char** argv)
155          } else {          } else {
156              cerr << esdFile << " is not a valid escript datafile." << endl;              cerr << esdFile << " is not a valid escript datafile." << endl;
157              in.close();              in.close();
158                cleanup();
159              return -1;              return -1;
160          }          }
161      }      }
# Line 148  int main(int argc, char** argv) Line 164  int main(int argc, char** argv)
164            
165      if (nParts < 1 || meshFile == "" || nTimesteps < 1 || tsMultiplier < 1) {      if (nParts < 1 || meshFile == "" || nTimesteps < 1 || tsMultiplier < 1) {
166          cerr << esdFile << " is not a valid escript datafile." << endl;          cerr << esdFile << " is not a valid escript datafile." << endl;
167            cleanup();
168          return -1;          return -1;
169      }      }
170    
# Line 217  int main(int argc, char** argv) Line 234  int main(int argc, char** argv)
234              ds->saveVTK(outFilename.str());              ds->saveVTK(outFilename.str());
235          }          }
236    
   
237          // keep mesh from first timestep if it should be reused          // keep mesh from first timestep if it should be reused
238          if (writeMeshOnce && nTimesteps > 1 && timeStep == 0) {          if (writeMeshOnce && nTimesteps > 1 && timeStep == 0) {
239              meshFromTzero = ds->extractMesh();              meshFromTzero = ds->getConvertedDomain();
240              meshFile = outFilename.str();              meshFile = outFilename.str();
241              MeshBlocks::iterator meshIt;              MeshBlocks::iterator meshIt;
242              if (doSilo) {              if (doSilo) {
# Line 244  int main(int argc, char** argv) Line 260  int main(int argc, char** argv)
260      MeshBlocks::iterator meshIt;      MeshBlocks::iterator meshIt;
261    
262      cout << "All done." << endl;      cout << "All done." << endl;
263        cleanup();
 #if HAVE_MPI  
     MPI_Finalize();  
 #endif  
264    
265      return 0;      return 0;
266  }  }

Legend:
Removed from v.3090  
changed lines
  Added in v.3091

  ViewVC Help
Powered by ViewVC 1.1.26