PlasCom2  1.0
XPACC Multi-physics simluation application
PC2ReadDomains.C
Go to the documentation of this file.
1 #ifndef __PLASCOM2_WRITE_DOMAINS_H__
2 #define __PLASCOM2_WRITE_DOMAINS_H__
3 #include "PlasCom2.H"
4 #include "PC2IO.H"
5 
6 namespace plascom2 {
7 
9  {
10  const std::string &inputFileName("ugh");
11  std::ostringstream messageStream;
12 
13 
14  int numDomains = appDomains.size();
15  for(int iDomain = 0;iDomain < numDomains;iDomain++){
16  std::string &domainName(domainInfo.domainNames[iDomain]);
17  DomainBaseType &outDomain(appDomains[iDomain]);
18  // double domainTime = outDomain.Time();
19  DomainBaseType::gridvector &domainGrids(outDomain.Grids());
20  DomainBaseType::statevector &gridStates(outDomain.States());
21  DomainBaseType::statevector &gridParams(outDomain.Params());
22  const std::vector<std::string> &geometryNames(outDomain.GeometryNames());
23  const std::vector<std::string> &gridNames(outDomain.GridNames());
24  int numGrids = domainGrids.size();
25  for(int iGrid = 0;iGrid < numGrids;iGrid++){
26  GridType &outGrid(*domainGrids[iGrid]);
27  StateType &outState(*gridStates[iGrid]);
28  StateType &outParam(*gridParams[iGrid]);
29  const std::string &geometryName(geometryNames[iGrid]);
30  std::string gridName(gridNames[iGrid]);
31  std::string::size_type x = gridName.find_last_of(":");
32  if(x != std::string::npos){
33  gridName = gridName.substr(x+1);
34  }
35 #ifdef ENABLE_HDF5
36  if(plascom2::io::hdf5::InputSingle(inputFileName,domainName,geometryName,gridName,
37  outGrid,outState,outParam,appConfig,messageStream)){
38  ErrOut("plascom2::io::hdf5::InputSingle failed.\n");
39  return(1);
40  }
41 #else
42  ErrOut("WARNING!> HDF5 not enabled. Cannot perform IO.\n");
43  return(1);
44 #endif
45  }
46  }
47  return(0);
48  };
49 }
50 
51 #endif
virtual int ErrOut(const std::string &outstr)
Definition: Global.H:456
DomainBaseType::GridType GridType
Definition: Simulation.H:30
domainvector appDomains
Definition: Simulation.H:47
Definition: PC2IO.H:10
void const size_t const size_t const size_t const double const double * x
DomainBaseType::StateType StateType
Definition: Simulation.H:31
DomainBaseT DomainBaseType
Definition: Simulation.H:29
virtual int ReadDomains()
Definition: PC2ReadDomains.C:8
DomainInfoType domainInfo
Definition: Simulation.H:45
fixtures::ConfigurationType appConfig
Definition: Simulation.H:42
std::vector< std::string > domainNames
Definition: Domain.H:26