PlasCom2  1.0
XPACC Multi-physics simluation application
PCPPIO.H
Go to the documentation of this file.
1 #ifndef __PCPP_IO_H__
2 #define __PCPP_IO_H__
3 //#include "PCPPTypes.H"
4 #include "PCPPFieldData.H"
5 #include <iomanip>
6 //#include "primitive_utilities.H"
7 namespace pcpp {
8 
9  namespace io {
10 
13 
18  using ix::sys::Remove;
19 
20  static std::map<std::string,std::vector<std::string> > fileTypeExtensions;
21 
22  void InitializeFileTypes();
23  bool FileType(const std::string &inFileName,const std::string &fileType);
24  //
25  // void Everybody(const std::string &outString,std::ostream &outStream,fixtures::CommunicatorType &comm);
26  void Everyone(const std::string &outString,std::ostream &outStream,fixtures::CommunicatorType &comm);
27 
28  struct simfileinfo {
29 
31  numDomains(0), simStep(0), simTime(0)
32  { formatBits.reset(); };
33 
34  // Basic data
35  int numGrids;
39  int simStep;
40  double simTime;
41  std::string fileName;
42  std::bitset<NUMFORMATBITS> formatBits;
43 
44  // Legacy data header
46  std::vector<double> legacyHeader;
47 
48  // Data items summarizing geometry data in file
50  std::vector<std::string> gridNames;
51  std::vector<int> gridNumDimensions;
52  std::vector<std::vector<size_t> > gridSizes;
53 
54  // Detailed geometry description
56  std::vector<std::string> geometryNames;
58  std::vector<std::vector<std::string> > geometryGridNames;
60  std::vector<std::vector<std::vector<size_t> > > geometryGridSizes;
61 
62  // Detailed simulation/domain description
63  std::vector<std::string> domainNames;
65  std::vector<std::vector<std::string> > domainGridNames;
67  std::vector<std::vector<std::string> > domainGridPaths;
68 
69  // State meta data
73  std::vector<pcpp::field::metadataset> domainParamDictionaries;
74  std::vector<pcpp::field::metadataset> domainStateDictionaries;
75 
76  };
77 
78  bool operator==(const pcpp::io::simfileinfo &,
79  const pcpp::io::simfileinfo &);
80 
81  bool Compatible(const pcpp::io::simfileinfo &fileInfo1,
82  const pcpp::io::simfileinfo &fileInfo2,
83  std::ostream &infoStream);
84 
85  std::ostream &operator<<(std::ostream &,const simfileinfo &);
86  std::istream &operator>>(std::istream &,simfileinfo &);
87 
88  std::string StepStamp(size_t inStep);
89 
90  }
91 }
92 
93 #ifdef ENABLE_HDF5
94 #include "PCPPHDF5.H"
95 #endif
96 
97 #endif
std::vector< pcpp::field::metadataset > domainStateDictionaries
Definition: PCPPIO.H:74
std::ostream & operator<<(std::ostream &, const simfileinfo &)
Definition: PCPPIO.C:358
std::string StepStamp(size_t inStep)
Definition: PCPPIO.C:30
bool operator==(const pcpp::io::simfileinfo &, const pcpp::io::simfileinfo &)
Definition: PCPPIO.C:93
int Remove(const std::string &fname)
Definition: UnixUtils.C:141
void TokenizeString(std::vector< std::string > &tokens, const std::string &source)
Tokenize string.
bool Compatible(const pcpp::io::simfileinfo &fileInfo1, const pcpp::io::simfileinfo &fileInfo2, std::ostream &infoStream)
Definition: PCPPIO.C:13
void DumpContents(std::ostream &Ostr, const ContainerType &c, std::string del="\)
Dump container contents.
std::istream & operator>>(std::istream &, simfileinfo &)
Definition: PCPPIO.C:163
std::vector< std::vector< std::string > > geometryGridNames
Grid names for each geometry.
Definition: PCPPIO.H:58
pcpp::field::metadataset simulationParamDictionary
Dictionaries summarizing the attribute and datatsets in the file.
Definition: PCPPIO.H:71
void RenewStream(std::ostringstream &outStream)
std::vector< std::vector< std::string > > domainGridPaths
Path to grid data (including file name, geometry and grid names)
Definition: PCPPIO.H:67
std::vector< int > gridNumDimensions
Definition: PCPPIO.H:51
std::bitset< NUMFORMATBITS > formatBits
Definition: PCPPIO.H:42
void Everyone(const std::string &outString, std::ostream &outStream, fixtures::CommunicatorType &comm)
Definition: PCPPIO.C:51
std::string fileName
Definition: PCPPIO.H:41
std::vector< std::vector< size_t > > gridSizes
Definition: PCPPIO.H:52
int String2Buf(const std::string &instr, void **buf)
Main encapsulation of MPI.
Definition: COMM.H:62
void InitializeFileTypes()
Definition: PCPPIO.C:65
bool FileType(const std::string &inFileName, const std::string &fileType)
Definition: PCPPIO.C:74
pcpp::field::metadataset simulationStateDictionary
Definition: PCPPIO.H:72
std::vector< double > legacyHeader
Time Re Pr from PlasComCM.
Definition: PCPPIO.H:46
std::vector< std::vector< std::string > > domainGridNames
Domain-specific grid names for which there is data.
Definition: PCPPIO.H:65
std::vector< std::string > geometryNames
Names of all geometries in file.
Definition: PCPPIO.H:56
FormatBit
Definition: PCPPIO.H:11
std::vector< std::string > gridNames
Full grid names (geometryName:gridName)
Definition: PCPPIO.H:50
std::vector< std::vector< std::vector< size_t > > > geometryGridSizes
Sizes for each geometry grid.
Definition: PCPPIO.H:60
static std::map< std::string, std::vector< std::string > > fileTypeExtensions
Definition: PCPPIO.H:20
std::vector< pcpp::field::metadataset > domainParamDictionaries
Definition: PCPPIO.H:73
std::vector< std::string > domainNames
Definition: PCPPIO.H:63