11 template<
typename Gr
idType,
typename StateType,
typename ConfigType>
12 int OutputSingle(
const std::string &fileName,
const GridType &inGrid,
const StateType &inState,
24 std::ostringstream configStream;
25 configStream << simConfig;
26 std::string configString(configStream.str());
27 if(!configString.empty())
28 pc2File.
CreateAttribute(
"/PlasCom2/Configuration/Parameters",configString);
31 std::vector<size_t> attSize(1,1);
32 pc2File.
CreateAttribute(
"/PlasCom2/Geometry/numGeometries",attSize,&numGeometries);
33 pc2File.
CreateAttribute(
"/PlasCom2/Geometry/geometryNames",geometryName);
34 std::string geomGroupName(std::string(
"/PlasCom2/Geometry/")+geometryName);
43 pc2File.
CreateAttribute(
"/PlasCom2/Simulation/numDomains",attSize,&numDomains);
47 std::string domainGroupName(std::string(
"/PlasCom2/Simulation/")+domainName);
49 pc2File.
CreateGroup(domainGroupName+
"/Configuration");
50 std::ostringstream domainConfigStream;
51 domainConfigStream << domainConfig;
52 pc2File.
CreateAttribute(domainGroupName+
"/Configuration/Parameters",domainConfigStream.str());
53 pc2File.
CreateAttribute(domainGroupName+
"/numGrids",attSize,&numDomainGrids);
57 std::string gridGroupName(domainGroupName+
"/"+domainGridName);
59 std::vector<size_t> partitionSizes(partInterval.Sizes());
60 std::vector<size_t> partitionStarts(partInterval.Starts());
61 std::vector<size_t> partitionBufferStarts(partitionBufferInterval.Starts());
63 bufferSizes,partitionBufferStarts,gridGroupName,pc2File);
int Remove(const std::string &fname)
void const size_t const size_t * gridSizes
int WriteStateAttributes(const StateType &inState, const char attributeLocation, const std::string &filePath, base &hdfFile)
Writes state data matching attributeLocation into HDF5 attributes at filePath.
int OutputSingle(const std::string &fileName, const GridType &inGrid, const StateType &inState, const ConfigType &simConfig, const ConfigType &gridConfig, const ConfigType &stateConfig)
int WriteGrid(const GridType &inGrid, const std::string &gridName, const std::string &parentPath, base &hdfFile)
int CreateGroup(const std::string &inName)
bool FILEEXISTS(const std::string &fname)
Main encapsulation of MPI.
void const size_t const size_t * bufferSizes
int CreateAttribute(const std::string &inName, const std::vector< size_t > &spaceDimensions, size_t sizeInBytes=8)
int WriteStateNodeData(const StateType &inState, const std::vector< size_t > &gridSizes, const std::vector< size_t > &partitionSizes, const std::vector< size_t > &partitionStarts, const std::vector< size_t > &bufferSizes, const std::vector< size_t > &partitionBufferStarts, const std::string &filePath, base &hdfFile)