GEOS
Public Member Functions | List of all members
geos::SiloFile Class Reference

#include <SiloFile.hpp>

Public Member Functions

 SiloFile ()
 Default Constructor.
 
virtual ~SiloFile ()
 Destructor.
 
void makeSiloDirectories ()
 function to setup directories where silo files will be written
 
void initialize (int const numGroups=1)
 Initializes silo for input/output. More...
 
void finish ()
 finishes/closes up the silo interface
 
int groupRank (int const i) const
 obtain the group number of the calling processor, indexed from zero. More...
 
void waitForBatonWrite (int const domainNumber, int const cycleNum, integer const eventCounter, bool const isRestart)
 Wait for the Baton when writing using PMPIO. More...
 
void waitForBaton (int const domainNumber, string const &restartFileName)
 Wait for the Baton when reading using PMPIO. More...
 
void handOffBaton ()
 Hand off the Baton when done writing to file.
 
void makeSubDirectory (string const &subdir, string const &rootdir)
 Make a subdirectory within the silo file. More...
 
void writeMeshObject (string const &meshName, const localIndex nnodes, real64 *coords[3], const globalIndex *globalNodeNum, char const *const ghostNodeName, char const *const ghostZoneName, int const numShapes, int const *shapecnt, const localIndex *const *const meshConnectivity, const globalIndex *const *const globalElementNum, int const *const shapetype, int const *const shapesize, int const cycleNumber, real64 const problemTime)
 Write out a single silo mesh object. More...
 
void writePolygonMeshObject (const string &meshName, const localIndex nnodes, real64 *coords[3], const globalIndex *dummy1, const int numRegions, const int *shapecnt, const localIndex *const *const meshConnectivity, const globalIndex *const *const globalElementNum, const int *const *const dummy2, const int *const shapetype, const int *const shapesize, const int cycleNumber, const real64 problemTime, const int lnodelist)
 
void writeDomainPartition (DomainPartition const &domain, int const cycleNum, real64 const problemTime, bool const isRestart)
 write a domain parititon out to silo file More...
 
void writeElementMesh (ElementRegionBase const &elementRegion, NodeManager const &nodeManager, string const &meshName, const localIndex nnodes, real64 *coords[3], globalIndex const *const globalNodeNum, char const *const ghostNodeFlag, int const cycleNumber, real64 const problemTime, bool &writeArbitraryPolygon)
 
void writeMeshLevel (MeshLevel const &meshLevel, int const cycleNum, real64 const problemTime, bool const isRestart)
 write a mesh level out to the silo file More...
 
void writePointMesh (string const &meshName, const localIndex numPoints, real64 *coords[3], int const cycleNumber, real64 const problemTime)
 
void writeBeamMesh (string const &meshName, const localIndex nnodes, real64 *coords[3], const localIndex_array &node1, const localIndex_array &node2, int const cycleNumber, real64 const problemTime)
 write a beam mesh to silo file More...
 
void writeBeamMesh (string const &meshName, const localIndex nnodes, real64 *coords[3], integer_array &nodelist, int const cycleNumber, real64 const problemTime)
 
void writeMaterialMapsFullStorage (ElementRegionBase const &elementRegion, string const &meshName, string_array const &regionMaterialList, int const cycleNumber, real64 const problemTime)
 
void writeGroupSilo (dataRepository::Group const &group, string const &siloDirName, string const &meshname, int const centering, int const cycleNum, real64 const problemTime, bool const isRestart, const localIndex_array &mask)
 
void writeElementRegionSilo (ElementRegionBase const &elemRegion, string const &siloDirName, string const &meshName, int const cycleNum, real64 const problemTime, bool const isRestart)
 
template<typename OUTPUTTYPE >
void writeWrappersToSilo (string const &meshname, const dataRepository::Group::wrapperMap &wrappers, int const centering, int const cycleNum, real64 const problemTime, bool const isRestart, string const &multiRoot, const localIndex_array &mask)
 
template<typename OUTTYPE , typename TYPE >
void writeDataField (string const &meshName, string const &fieldName, arrayView1d< TYPE const > const &field, int const centering, int const cycleNumber, real64 const problemTime, string const &multiRoot)
 
template<typename OUTTYPE , typename TYPE , int USD>
void writeDataField (string const &meshName, string const &fieldName, arrayView2d< TYPE const, USD > const &field, int const centering, int const cycleNumber, real64 const problemTime, string const &multiRoot)
 
template<typename OUTTYPE , typename TYPE , int USD>
void writeDataField (string const &meshName, string const &fieldName, arrayView3d< TYPE const, USD > const &field, int const centering, int const cycleNumber, real64 const problemTime, string const &multiRoot)
 
template<typename OUTTYPE , typename TYPE , int NDIM, int USD>
void writeDataField (string const &meshName, string const &fieldName, ArrayView< TYPE const, NDIM, USD > const &field, int const siloTensorRank, int const centering, int const cycleNumber, real64 const problemTime, string const &multiRoot)
 
template<typename OUTTYPE , typename TYPE >
void writeMaterialDataField (string const &meshName, string const &fieldName, array1d< array1d< arrayView2d< TYPE const > > > const &field, ElementRegionBase const &elemRegion, int const centering, int const cycleNumber, real64 const problemTime, string const &multiRoot, string_array const &materialNames)
 
template<typename OUTTYPE , typename TYPE >
void writeMaterialDataField2d (string const &meshName, string const &fieldName, ElementRegionBase const &elemRegion, int const centering, int const cycleNumber, real64 const problemTime, string const &multiRoot, string_array const &materialNames)
 
template<typename OUTTYPE , typename TYPE >
void writeMaterialDataField3d (string const &meshName, string const &fieldName, ElementRegionBase const &elemRegion, int const centering, int const cycleNumber, real64 const problemTime, string const &multiRoot, string_array const &materialNames)
 
template<typename OUTTYPE , typename TYPE >
void writeMaterialDataField4d (string const &meshName, string const &fieldName, ElementRegionBase const &elemRegion, int const centering, int const cycleNumber, real64 const problemTime, string const &multiRoot, string_array const &materialNames)
 
void writeMaterialVarDefinition (string const &subDir, string const &matDir, localIndex const matIndex, string const &fieldName)
 
void writeStressVarDefinition (string const &MatDir)
 
void writeVectorVarDefinition (string const &fieldName, string const &subDirectory)
 
int getMeshType (string const &meshName) const
 
template<typename CBF >
void writeMultiXXXX (const DBObjectType type, CBF DBPutMultiCB, int const centering, string const name, int const cycleNumber, string const &multiRoot, const DBoptlist *optlist=nullptr)
 
void clearEmptiesFromMultiObjects (int const cycleNum)
 
void setNumGroups (int const numGroups)
 Sets the number of individual Silo files to generate. More...
 
void setPlotLevel (int const plotLevel)
 Sets the plot level option. More...
 
void setWriteEdgeMesh (int const val)
 Sets the edge mesh output option. More...
 
void setWriteFaceMesh (int const val)
 Sets the face mesh output option. More...
 
void setWriteCellElementMesh (int const val)
 Sets the cell element mesh output option. More...
 
void setWriteFaceElementMesh (int const val)
 Sets the face element mesh output option. More...
 
void setPlotFileRoot (string const &fileRoot)
 Sets root of the filename that will be read/written. More...
 
void setOutputDirectory (string const &path)
 Sets the top-level output directory, under which Silo's output dir is nested. More...
 
void setOnlyPlotSpecifiedFieldNamesFlag (integer const onlyPlotSpecifiedFieldNames)
 Set the flag to decide whether we only plot the fields specified by fieldNames, or if we also plot fields based on plotLevel. More...
 
void setFieldNames (arrayView1d< string const > const &fieldNames)
 Set the names of the fields to output. More...
 

Detailed Description

This class serves as a wrapper to isolate the code from the specifics of SILO output/input. Its members contain all the necessary information for reading/writing a group of SILO files.

Definition at line 56 of file SiloFile.hpp.

Member Function Documentation

◆ clearEmptiesFromMultiObjects()

void geos::SiloFile::clearEmptiesFromMultiObjects ( int const  cycleNum)

function to clear any empty multi-objects

Parameters
cycleNumWhen we write our multimesh and multivar objects, we do it assuming that there is a non-empty multimesh or multivar object on each domain. This is incorrect, so we must modify the rootfile to remove empty references to the multivar or multimesh objects and replace their path with "EMPTY"

◆ getMeshType()

int geos::SiloFile::getMeshType ( string const &  meshName) const

find the silo mesh type that we are attempting to reference

Parameters
meshNamethe name of the mesh object we are attaching data to
Returns
integer that results from a call to DBInqMeshtype()

◆ groupRank()

int geos::SiloFile::groupRank ( int const  i) const

obtain the group number of the calling processor, indexed from zero.

Parameters
irank of calling processor in the MPI communicator
Returns
group number of the calling processor, indexed from zero

◆ initialize()

void geos::SiloFile::initialize ( int const  numGroups = 1)

Initializes silo for input/output.

Parameters
numGroupsnumber of individual Silo files to generate

◆ makeSubDirectory()

void geos::SiloFile::makeSubDirectory ( string const &  subdir,
string const &  rootdir 
)
inline

Make a subdirectory within the silo file.

Parameters
subdirthe new directory name
rootdirthe root directory path

Definition at line 123 of file SiloFile.hpp.

◆ setFieldNames()

void geos::SiloFile::setFieldNames ( arrayView1d< string const > const &  fieldNames)
inline

Set the names of the fields to output.

Parameters
[in]fieldNamesthe fields to output

Definition at line 679 of file SiloFile.hpp.

◆ setNumGroups()

void geos::SiloFile::setNumGroups ( int const  numGroups)
inline

Sets the number of individual Silo files to generate.

Parameters
numGroupsnumber of individual Silo files to generate

Definition at line 598 of file SiloFile.hpp.

◆ setOnlyPlotSpecifiedFieldNamesFlag()

void geos::SiloFile::setOnlyPlotSpecifiedFieldNamesFlag ( integer const  onlyPlotSpecifiedFieldNames)
inline

Set the flag to decide whether we only plot the fields specified by fieldNames, or if we also plot fields based on plotLevel.

Parameters
[in]onlyPlotSpecifiedFieldNamesthe flag

Definition at line 670 of file SiloFile.hpp.

◆ setOutputDirectory()

void geos::SiloFile::setOutputDirectory ( string const &  path)
inline

Sets the top-level output directory, under which Silo's output dir is nested.

Parameters
pathoutput directory path

Definition at line 661 of file SiloFile.hpp.

◆ setPlotFileRoot()

void geos::SiloFile::setPlotFileRoot ( string const &  fileRoot)
inline

Sets root of the filename that will be read/written.

Parameters
fileRootroot of the filename

Definition at line 652 of file SiloFile.hpp.

◆ setPlotLevel()

void geos::SiloFile::setPlotLevel ( int const  plotLevel)
inline

Sets the plot level option.

Parameters
plotLevelthe plot level desired value

Definition at line 607 of file SiloFile.hpp.

◆ setWriteCellElementMesh()

void geos::SiloFile::setWriteCellElementMesh ( int const  val)
inline

Sets the cell element mesh output option.

Parameters
valif 1 the cell element mesh is written to a Silo file

Definition at line 634 of file SiloFile.hpp.

◆ setWriteEdgeMesh()

void geos::SiloFile::setWriteEdgeMesh ( int const  val)
inline

Sets the edge mesh output option.

Parameters
valif 1, the edge mesh is written to a Silo file

Definition at line 616 of file SiloFile.hpp.

◆ setWriteFaceElementMesh()

void geos::SiloFile::setWriteFaceElementMesh ( int const  val)
inline

Sets the face element mesh output option.

Parameters
valif 1 the face element mesh is written to a Silo file

Definition at line 643 of file SiloFile.hpp.

◆ setWriteFaceMesh()

void geos::SiloFile::setWriteFaceMesh ( int const  val)
inline

Sets the face mesh output option.

Parameters
valif 1, the face mesh is written to a Silo file

Definition at line 625 of file SiloFile.hpp.

◆ waitForBaton()

void geos::SiloFile::waitForBaton ( int const  domainNumber,
string const &  restartFileName 
)

Wait for the Baton when reading using PMPIO.

Parameters
domainNumberdomain partition number
restartFileNamebase of the restart file to open

◆ waitForBatonWrite()

void geos::SiloFile::waitForBatonWrite ( int const  domainNumber,
int const  cycleNum,
integer const  eventCounter,
bool const  isRestart 
)

Wait for the Baton when writing using PMPIO.

Parameters
domainNumberdomain partition number
cycleNumcycle number of simulation
eventCounterCounter to indicate the event number during the current timestep.
isRestartwhether or not we are writing a restart file

This function requests the write baton from silo PMPIO. The involves determining the file names, and opening the file for write.

◆ writeBeamMesh() [1/2]

void geos::SiloFile::writeBeamMesh ( string const &  meshName,
const localIndex  nnodes,
real64 coords[3],
const localIndex_array node1,
const localIndex_array node2,
int const  cycleNumber,
real64 const  problemTime 
)

write a beam mesh to silo file

Parameters
meshNamename of the mesh to write
nnodesnumber of nodes
coordsarray[3] of pointers to x, y, and z.
node1array of the first node for each element
node2array of the second node for each element
cycleNumbercurrent cycle number
problemTimecurrent problem time

◆ writeBeamMesh() [2/2]

void geos::SiloFile::writeBeamMesh ( string const &  meshName,
const localIndex  nnodes,
real64 coords[3],
integer_array nodelist,
int const  cycleNumber,
real64 const  problemTime 
)
Parameters
meshNamename of the mesh to write
nnodesnumber of nodes
coordsarray[3] of pointers to x, y, and z.
nodelistnodal connectivity array
cycleNumbercurrent cycle number
problemTimecurrent problem time

◆ writeDataField() [1/4]

template<typename OUTTYPE , typename TYPE >
void geos::SiloFile::writeDataField ( string const &  meshName,
string const &  fieldName,
arrayView1d< TYPE const > const &  field,
int const  centering,
int const  cycleNumber,
real64 const  problemTime,
string const &  multiRoot 
)
Parameters
meshNamethe name of the mesh attach this write to
fieldNamename of the field to write
fieldfield data
centeringthe silo centering to use for this operation (DB_NODECENT, DB_ZONECENT)
cycleNumberthe current cycle number
problemTimethe current problem time
multiRootlocation to write the multivar entries

◆ writeDataField() [2/4]

template<typename OUTTYPE , typename TYPE , int USD>
void geos::SiloFile::writeDataField ( string const &  meshName,
string const &  fieldName,
arrayView2d< TYPE const, USD > const &  field,
int const  centering,
int const  cycleNumber,
real64 const  problemTime,
string const &  multiRoot 
)
Parameters
meshNamethe name of the mesh attach this write to
fieldNamename of the field to write
fieldfield data
centeringthe silo centering to use for this operation (DB_NODECENT, DB_ZONECENT)
cycleNumberthe current cycle number
problemTimethe current problem time
multiRootlocation to write the multivar entries

◆ writeDataField() [3/4]

template<typename OUTTYPE , typename TYPE , int USD>
void geos::SiloFile::writeDataField ( string const &  meshName,
string const &  fieldName,
arrayView3d< TYPE const, USD > const &  field,
int const  centering,
int const  cycleNumber,
real64 const  problemTime,
string const &  multiRoot 
)
Parameters
meshNamethe name of the mesh attach this write to
fieldNamename of the field to write
fieldfield data
centeringthe silo centering to use for this operation (DB_NODECENT, DB_ZONECENT)
cycleNumberthe current cycle number
problemTimethe current problem time
multiRootlocation to write the multivar entries

◆ writeDataField() [4/4]

template<typename OUTTYPE , typename TYPE , int NDIM, int USD>
void geos::SiloFile::writeDataField ( string const &  meshName,
string const &  fieldName,
ArrayView< TYPE const, NDIM, USD > const &  field,
int const  siloTensorRank,
int const  centering,
int const  cycleNumber,
real64 const  problemTime,
string const &  multiRoot 
)
Todo:
Verify: documentation missing / incomplete
Parameters
meshNamethe name of the mesh attach this write to
fieldNamename of the field to write
fieldfield data
siloTensorRank****** UNUSED IN THE IMPLEMENTATION ******
centeringthe silo centering to use for this operation (DB_NODECENT, DB_ZONECENT)
cycleNumberthe current cycle number
problemTimethe current problem time
multiRootlocation to write the multivar entries

◆ writeDomainPartition()

void geos::SiloFile::writeDomainPartition ( DomainPartition const &  domain,
int const  cycleNum,
real64 const  problemTime,
bool const  isRestart 
)

write a domain parititon out to silo file

Parameters
domainthe domain partition to write
cycleNumthe current cycle number
problemTimethe current problem time
isRestartwhether or not we want to write restart only data

◆ writeElementMesh()

void geos::SiloFile::writeElementMesh ( ElementRegionBase const &  elementRegion,
NodeManager const &  nodeManager,
string const &  meshName,
const localIndex  nnodes,
real64 coords[3],
globalIndex const *const  globalNodeNum,
char const *const  ghostNodeFlag,
int const  cycleNumber,
real64 const  problemTime,
bool &  writeArbitraryPolygon 
)
Todo:
Verify: documentation missing / incomplete.
Parameters
elementRegionthe element region that holds the data to be written to the silo file
nodeManagerthe NodeManager containing the nodes of the domain to be output
meshNamename of the mesh to write
nnodesnumber of nodes
coordsarray[3] of pointers to x, y, and z.
globalNodeNumarray to the global node numbers. This might be redundant as there is a field for this.
ghostNodeFlag
cycleNumberthe current cycle number
problemTimethe current problem time
writeArbitraryPolygon

◆ writeElementRegionSilo()

void geos::SiloFile::writeElementRegionSilo ( ElementRegionBase const &  elemRegion,
string const &  siloDirName,
string const &  meshName,
int const  cycleNum,
real64 const  problemTime,
bool const  isRestart 
)
Parameters
elemRegionthe element region that holds the data to be written to the silo file
siloDirNamethe name of the silo directory to put this data into (i.e. nodalFields, elemFields)
meshNamethe name of the mesh attach this write to
cycleNumcurrent cycle number
problemTimecurrent problem time
isRestartwrite restart only data

◆ writeGroupSilo()

void geos::SiloFile::writeGroupSilo ( dataRepository::Group const &  group,
string const &  siloDirName,
string const &  meshname,
int const  centering,
int const  cycleNum,
real64 const  problemTime,
bool const  isRestart,
const localIndex_array mask 
)
Parameters
groupthe group that holds the data to be written to the silo file
siloDirNamethe name of the silo directory to put this data into (i.e. nodalFields, elemFields)
meshnamethe name of the mesh attach this write to
centeringthe centering of the data (e.g. DB_ZONECENT)
cycleNumcurrent cycle number
problemTimecurrent problem time
isRestartwrite restart only data
maskindices to write out to the silo file

◆ writeMaterialDataField()

template<typename OUTTYPE , typename TYPE >
void geos::SiloFile::writeMaterialDataField ( string const &  meshName,
string const &  fieldName,
array1d< array1d< arrayView2d< TYPE const > > > const &  field,
ElementRegionBase const &  elemRegion,
int const  centering,
int const  cycleNumber,
real64 const  problemTime,
string const &  multiRoot,
string_array const &  materialNames 
)
Todo:
Verify: documentation missing / incomplete
Parameters
meshNamethe name of the mesh attach this write to
fieldNamename of the field to write
fieldfield data
elemRegionthe element region that holds the data to be written to the silo file
centeringthe silo centering to use for this operation (DB_NODECENT, DB_ZONECENT)
cycleNumberthe current cycle number
problemTimethe current problem time
multiRootlocation to write the multivar entries
materialNamesmaterial names

◆ writeMaterialDataField2d()

template<typename OUTTYPE , typename TYPE >
void geos::SiloFile::writeMaterialDataField2d ( string const &  meshName,
string const &  fieldName,
ElementRegionBase const &  elemRegion,
int const  centering,
int const  cycleNumber,
real64 const  problemTime,
string const &  multiRoot,
string_array const &  materialNames 
)
Todo:
Verify: documentation missing / incomplete
Parameters
meshNamethe name of the mesh attach this write to
fieldNamename of the field to write
elemRegionthe element region that holds the data to be written to the silo file
centeringthe silo centering to use for this operation (DB_NODECENT, DB_ZONECENT)
cycleNumberthe current cycle number
problemTimethe current problem time
multiRootlocation to write the multivar entries
materialNamesmaterial names

◆ writeMaterialDataField3d()

template<typename OUTTYPE , typename TYPE >
void geos::SiloFile::writeMaterialDataField3d ( string const &  meshName,
string const &  fieldName,
ElementRegionBase const &  elemRegion,
int const  centering,
int const  cycleNumber,
real64 const  problemTime,
string const &  multiRoot,
string_array const &  materialNames 
)
Todo:
Verify: documentation missing / incomplete
Parameters
meshNamethe name of the mesh attach this write to
fieldNamename of the field to write
elemRegionthe element region that holds the data to be written to the silo file
centeringthe silo centering to use for this operation (DB_NODECENT, DB_ZONECENT)
cycleNumberthe current cycle number
problemTimethe current problem time
multiRootlocation to write the multivar entries
materialNamesmaterial names

◆ writeMaterialDataField4d()

template<typename OUTTYPE , typename TYPE >
void geos::SiloFile::writeMaterialDataField4d ( string const &  meshName,
string const &  fieldName,
ElementRegionBase const &  elemRegion,
int const  centering,
int const  cycleNumber,
real64 const  problemTime,
string const &  multiRoot,
string_array const &  materialNames 
)
Todo:
Verify: documentation missing / incomplete
Parameters
meshNamethe name of the mesh attach this write to
fieldNamename of the field to write
elemRegionthe element region that holds the data to be written to the silo file
centeringthe silo centering to use for this operation (DB_NODECENT, DB_ZONECENT)
cycleNumberthe current cycle number
problemTimethe current problem time
multiRootlocation to write the multivar entries
materialNamesmaterial names

◆ writeMaterialMapsFullStorage()

void geos::SiloFile::writeMaterialMapsFullStorage ( ElementRegionBase const &  elementRegion,
string const &  meshName,
string_array const &  regionMaterialList,
int const  cycleNumber,
real64 const  problemTime 
)
Parameters
elementRegionthe element region that holds the data to be written to the silo file
meshNamename of the mesh to write
regionMaterialListregion material list
cycleNumbercurrent cycle number
problemTimecurrent problem time

◆ writeMaterialVarDefinition()

void geos::SiloFile::writeMaterialVarDefinition ( string const &  subDir,
string const &  matDir,
localIndex const  matIndex,
string const &  fieldName 
)
Todo:
Verify: documentation missing / incomplete
Parameters
subDir
matDir
matIndex
fieldName

◆ writeMeshLevel()

void geos::SiloFile::writeMeshLevel ( MeshLevel const &  meshLevel,
int const  cycleNum,
real64 const  problemTime,
bool const  isRestart 
)

write a mesh level out to the silo file

Parameters
meshLevelthe meshLevel to write out
cycleNumthe current cycle number
problemTimethe current problem time
isRestartwhether or not we want to write restart only data

◆ writeMeshObject()

void geos::SiloFile::writeMeshObject ( string const &  meshName,
const localIndex  nnodes,
real64 coords[3],
const globalIndex globalNodeNum,
char const *const  ghostNodeName,
char const *const  ghostZoneName,
int const  numShapes,
int const *  shapecnt,
const localIndex *const *const  meshConnectivity,
const globalIndex *const *const  globalElementNum,
int const *const  shapetype,
int const *const  shapesize,
int const  cycleNumber,
real64 const  problemTime 
)

Write out a single silo mesh object.

Parameters
meshNamename of the mesh in the silo db
nnodesnumber of nodes
coordsarray[3] of pointers to x, y, and z.
globalNodeNumarray to the global node numbers. This might be redundant as there is a field for this.
ghostNodeNameCharacter array for whether or not a node is a ghost. ( 0 = local, 1 = ghost )
ghostZoneNameCharacter array for whether or not a zone is a ghost. ( 0 = local, 1 = ghost )
numShapesnumber of element zone type (i.e. number of zone types with different topology)
shapecntpointer to array that contains the number of zones per shape type
meshConnectivitypointer to array that contains the zone to element map for each zone type
globalElementNumpointer to array of global zone numbers for each shape type
shapetypepointer to array containing the shape types
shapesizepointer to array containing the number of nodes in each zone in the shape types
cycleNumberthe current cycle number
problemTimethe current problem time

This function takes in the the required data to call a silo::DBPutUcdMesh() and a DBPutZonelist2, and calls those functions to create a silo mesh object. In addition the MultiVar is written in the root file.

◆ writeMultiXXXX()

template<typename CBF >
void geos::SiloFile::writeMultiXXXX ( const DBObjectType  type,
CBF  DBPutMultiCB,
int const  centering,
string const  name,
int const  cycleNumber,
string const &  multiRoot,
const DBoptlist *  optlist = nullptr 
)

write out a multi mesh or multivar object assocaited with a mesh or var object.

Parameters
typethe object type (DB_UCDVAR, ...)
DBPutMultiCBa callback function for the placement of the multi object. ( DBPutMultivar, DBPutMultimesh...)
centeringthe centering of the data (DB_NODECENT, DB_ZONECENT, ...)
namethe name of the multivar
cycleNumberthe current cycle number
multiRootthe location in the silo file to put hte multiXXXX
optlistthe option list assocaited with the multiXXXX

◆ writePointMesh()

void geos::SiloFile::writePointMesh ( string const &  meshName,
const localIndex  numPoints,
real64 coords[3],
int const  cycleNumber,
real64 const  problemTime 
)
Parameters
meshNamename of the mesh to write
numPointsnumber of points to write
coordsarray[3] of pointers to x, y, and z.
cycleNumbercurrent cycle number
problemTimecurrent problem time

◆ writePolygonMeshObject()

void geos::SiloFile::writePolygonMeshObject ( const string meshName,
const localIndex  nnodes,
real64 coords[3],
const globalIndex dummy1,
const int  numRegions,
const int *  shapecnt,
const localIndex *const *const  meshConnectivity,
const globalIndex *const *const  globalElementNum,
const int *const *const  dummy2,
const int *const  shapetype,
const int *const  shapesize,
const int  cycleNumber,
const real64  problemTime,
const int  lnodelist 
)
Todo:
Verify: documentation missing / incomplete. The TPL version of doxygen on CI cannot parse unnamed parameters, dummy parameter introduced to remove warning
Parameters
meshNamename of the mesh in the silo db
nnodesnumber of nodes
coordsarray[3] of pointers to x, y, and z.
dummy1unused parameter
numRegions
shapecntpointer to array that contains the number of zones per shape type
meshConnectivitypointer to array that contains the zone to element map for each zone type
globalElementNumpointer to array of global zone numbers for each shape type
dummy2unused parameter
shapetypepointer to array containing the shape types
shapesizepointer to array containing the number of nodes in each zone in the shape types
cycleNumberthe current cycle number
problemTimethe current problem time
lnodelist

◆ writeStressVarDefinition()

void geos::SiloFile::writeStressVarDefinition ( string const &  MatDir)
Todo:
Verify: documentation missing / incomplete
Parameters
MatDir

◆ writeVectorVarDefinition()

void geos::SiloFile::writeVectorVarDefinition ( string const &  fieldName,
string const &  subDirectory 
)
Todo:
Verify: documentation missing / incomplete
Parameters
fieldNamevector field name
subDirectory

◆ writeWrappersToSilo()

template<typename OUTPUTTYPE >
void geos::SiloFile::writeWrappersToSilo ( string const &  meshname,
const dataRepository::Group::wrapperMap wrappers,
int const  centering,
int const  cycleNum,
real64 const  problemTime,
bool const  isRestart,
string const &  multiRoot,
const localIndex_array mask 
)

Writes the contents of a group of Wrapper objects

Template Parameters
theoutput variable type
Parameters
meshnamethe name of the mesh attach this write to
wrappersa group of wrappers
centeringthe silo centering to use for this operation (DB_NODECENT, DB_ZONECENT)
cycleNumthe current cycle number
problemTimethe current problem time
isRestartwrite restart only data
multiRootlocation to write the multivar entries
maskindices to write out to the silo file

The documentation for this class was generated from the following file: