VTK  9.5.2
vtkIOSSCellGridReaderInternal Class Reference

Internal methods for the cell-grid version of the IOSS reader. More...

#include <vtkIOSSCellGridReaderInternal.h>

Inheritance diagram for vtkIOSSCellGridReaderInternal:
[legend]
Collaboration diagram for vtkIOSSCellGridReaderInternal:
[legend]

Public Member Functions

 vtkIOSSCellGridReaderInternal (vtkIOSSCellGridReader *self)
std::vector< vtkSmartPointer< vtkCellGrid > > GetCellGrids (const std::string &blockName, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle, int timestep, vtkIOSSCellGridReader *self)
std::vector< vtkSmartPointer< vtkCellGrid > > GetElementBlock (const std::string &blockName, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle, int timestep, vtkIOSSCellGridReader *self)
std::vector< vtkSmartPointer< vtkCellGrid > > GetElementBlock (const std::string &blockName, const Ioss::GroupingEntity *group_entity, const DatabaseHandle &handle, int timestep, vtkIOSSCellGridReader *self)
std::vector< vtkSmartPointer< vtkCellGrid > > GetSideSet (const std::string &blockName, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle, int timestep, vtkIOSSCellGridReader *self)
std::vector< vtkSmartPointer< vtkCellGrid > > GetNodeSet (const std::string &blockName, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle, int timestep, vtkIOSSCellGridReader *self)
vtkCellAttribute::CellTypeInfo GetCellGridInfoForBlock (int shape_conn_size, int shape_order, vtkDGCell *dg)
void GetNodalAttributes (vtkDataArraySelection *fieldSelection, vtkDataSetAttributes *arrayGroup, vtkCellGrid *grid, vtkDGCell *meta, const Ioss::GroupingEntity *group_entity, Ioss::Region *region, const DatabaseHandle &handle, int timestep, bool read_ioss_ids, const std::string &cache_key_suffix)
void GetElementAttributes (vtkDataArraySelection *fieldSelection, vtkDataSetAttributes *arrayGroup, vtkCellGrid *grid, vtkDGCell *meta, const Ioss::GroupingEntity *group_entity, Ioss::Region *region, const DatabaseHandle &handle, int timestep, bool read_ioss_ids, const std::string &cache_key_suffix)
bool ApplyDisplacements (vtkCellGrid *grid, Ioss::Region *region, const Ioss::GroupingEntity *group_entity, const DatabaseHandle &handle, int timestep)
Public Member Functions inherited from vtkIOSSReaderInternal
 vtkIOSSReaderInternal (vtkIOSSReader *reader)
virtual ~vtkIOSSReaderInternal ()=default
const std::vector< double > & GetTimeSteps () const
vtkIOSSUtilities::DatabaseFormatType GetFormat () const
void SetDisplacementMagnitude (double s)
double GetDisplacementMagnitude ()
bool UpdateDatabaseNames (vtkIOSSReader *self)
 Processes filenames to populate names for Ioss databases to read.
bool UpdateTimeInformation (vtkIOSSReader *self)
 Read Ioss databases to generate information about timesteps / times in the databases.
bool NeedToUpdateEntityAndFieldSelections (vtkIOSSReader *self, const std::vector< DatabaseHandle > &dbaseHandles)
 Checks if the entity and field selections have changed.
bool UpdateEntityAndFieldSelections (vtkIOSSReader *self)
 Populates various vtkDataArraySelection objects on the vtkIOSSReader with names for entity-blocks, -sets, and fields defined on them.
bool UpdateAssembly (vtkIOSSReader *self, int *tag)
 Populates the vtkDataAssembly used for block/set selection.
vtkDataAssemblyGetAssembly () const
bool GenerateOutput (vtkPartitionedDataSetCollection *output, vtkIOSSReader *self)
 Fills up the output data-structure based on the entity blocks/sets chosen and those available.
bool ReadAssemblies (vtkPartitionedDataSetCollection *output, const DatabaseHandle &handle)
 Fills up the vtkDataAssembly with ioss-assemblies, if present.
std::vector< vtkSmartPointer< vtkDataSet > > GetDataSets (const std::string &blockname, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle, int timestep, vtkIOSSReader *self)
 Reads datasets (meshes and fields) for the given block.
vtkSmartPointer< vtkDataSetGetExodusEntityDataSet (const std::vector< std::string > &blockNames, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle, int timestep, vtkIOSSReader *self)
 Reads datasets (meshes and fields) for the given exodus entity.
bool GetQAAndInformationRecords (vtkFieldData *fd, const DatabaseHandle &handle)
 Read quality assurance and information data from the file.
bool GetGlobalFields (vtkFieldData *fd, const DatabaseHandle &handle, int timestep)
 Read global fields.
bool HaveRestartFiles () const
 Get if there are restart files available.
std::vector< DatabaseHandleGetDatabaseHandles (int piece, int npieces, int timestep) const
 Returns the list of fileids, if any to be read for a given "piece" for the chosen timestep.
std::string GetRawFileName (const DatabaseHandle &handle, bool shortname=false) const
 Useful for printing error messages etc.
int GetFileProcessor (const DatabaseHandle &handle) const
 For spatially partitioned files, this returns the partition identifier for the file identified by the handle.
bool HaveCreatedRegions (const std::vector< DatabaseHandle > &dbaseHandles)
 Returns if the given database handles have regions already created.
void ReleaseHandles ()
 Releases any open file handles.
void ReleaseRegions ()
 Little more aggressive than ReleaseHandles but less intense than Reset, releases all IOSS regions and thus all the meta-data IOSS may have cached as well.
void Reset ()
 Clear all regions, databases etc.
void ResetDatabaseNamesMTime ()
void ClearCache ()
 Cache related API.
void ResetCacheAccessCounts ()
 Cache related API.
void ClearCacheUnused ()
 Cache related API.

Public Attributes

vtkNew< vtkUnstructuredGridFieldAnnotationsAnnotations
Public Attributes inherited from vtkIOSSReaderInternal
Ioss::PropertyManager DatabaseProperties
std::set< std::string > FileNames
vtkTimeStamp FileNamesMTime
std::set< std::string > Selectors

Additional Inherited Members

Public Types inherited from vtkIOSSReaderInternal
using EntityType = vtkIOSSReader::EntityType
Protected Types inherited from vtkIOSSReaderInternal
using DatabaseNamesType = std::map<std::string, DatabasePartitionInfo>
Protected Member Functions inherited from vtkIOSSReaderInternal
std::vector< int > GetFileIds (const std::string &dbasename, int myrank, int numRanks) const
Ioss::Region * GetRegion (const std::string &dbasename, int fileid)
Ioss::Region * GetRegion (const DatabaseHandle &handle)
std::vector< std::pair< int, vtkSmartPointer< vtkCellArray > > > GetTopology (const std::string &blockname, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle)
 Get a vector of cell arrays and their cell type for the entity block (or set) with the given name (blockname) and type (vtk_entity_type).
std::pair< vtkSmartPointer< vtkUnsignedCharArray >, vtkSmartPointer< vtkCellArray > > CombineTopologies (const std::vector< std::pair< int, vtkSmartPointer< vtkCellArray > > > &topologies)
 Combine a vector cell types, cell arrays pairs into a single vtkUnsignedCharArray of cell types and a vtkCellArray.
bool GetTopology (vtkUnstructuredGrid *grid, const std::string &blockname, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle)
 Fill up the grid with connectivity information for the entity block (or set) with the given name (blockname) and type (vtk_entity_type).
vtkSmartPointer< vtkPointsGetGeometry (const std::string &blockname, const DatabaseHandle &handle)
 Get with point coordinates aka geometry read from the block with the given name (blockname).
bool GetGeometry (vtkUnstructuredGrid *grid, const std::string &blockname, const DatabaseHandle &handle)
 Fill up grid with point coordinates aka geometry read from the block with the given name (blockname).
bool GetGeometry (vtkStructuredGrid *grid, const Ioss::StructuredBlock *groupEntity)
 GetGeometry for vtkStructuredGrid i.e.
bool GetMesh (vtkUnstructuredGrid *grid, const std::string &blockname, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle, bool remove_unused_points)
 Adds geometry (points) and topology (cell) information to the grid for the entity block or set chosen using the name (blockname) and type (vtk_entity_type).
bool GetEntityMesh (vtkUnstructuredGrid *grid, const std::vector< std::string > &blockNames, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle)
 Adds geometry (points) and topology (cell) information to the grid for all the entity blocks or sets chosen using the names (blockNames) and type (vtk_entity_type).
bool GetMesh (vtkStructuredGrid *grid, const std::string &blockname, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle)
 Reads a structured block.
bool GenerateEntityIdArray (vtkCellData *cd, vtkIdType numberOfCells, const std::string &blockname, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle)
 Add "id" array to the dataset using the id for the grouping entity, if any.
bool GetFields (vtkDataSetAttributes *dsa, vtkDataArraySelection *selection, Ioss::Region *region, Ioss::GroupingEntity *group_entity, const DatabaseHandle &handle, int timestep, bool read_ioss_ids, vtkIdTypeArray *ids_to_extract=nullptr, const std::string &cache_key_suffix=std::string())
 Reads selected field arrays for the given entity block or set.
bool GetNodeFields (vtkDataSetAttributes *dsa, vtkDataArraySelection *selection, Ioss::Region *region, Ioss::GroupingEntity *group_entity, const DatabaseHandle &handle, int timestep, bool read_ioss_ids, bool mergeExodusEntityBlocks=false)
 This reads node fields for an entity block or set.
bool ApplyDisplacements (vtkPointSet *grid, Ioss::Region *region, Ioss::GroupingEntity *group_entity, const DatabaseHandle &handle, int timestep, bool mergeExodusEntityBlocks=false)
 Reads node block array with displacements and then transforms the points in the grid using those displacements.
bool GenerateFileId (vtkDataSetAttributes *cellData, vtkIdType numberOfCells, Ioss::GroupingEntity *group_entity, const DatabaseHandle &handle)
 Adds 'file_id' array to indicate which file the dataset was read from.
vtkSmartPointer< vtkAbstractArrayConvertFieldForVTK (vtkAbstractArray *array)
 Fields like "ids" have to be vtkIdTypeArray in VTK.
unsigned int GetDataSetIndexForEntity (const Ioss::GroupingEntity *entity) const
void GenerateElementAndSideIds (vtkDataSet *dataset, Ioss::SideSet *sideSet, const DatabaseHandle &handle, const std::string &blockname, vtkIOSSReader::EntityType vtk_entity_type)
 Add field-data arrays holding side-set specifications (i.e., (cell-id, side-id) tuples) for use by the UnstructuredGridToCellGrid conversion filter.
bool BuildAssembly (Ioss::Region *region, vtkDataAssembly *assembly, int root, bool add_leaves)
DatabaseNamesType GenerateSubset (const DatabaseNamesType &databases, vtkIOSSReader *self)
 Generate a subset based the readers current settings for FileRange and FileStride.
vtkSmartPointer< vtkAbstractArrayGetField (const std::string &fieldname, Ioss::Region *region, const Ioss::GroupingEntity *group_entity, const DatabaseHandle &handle, int timestep, vtkIdTypeArray *ids_to_extract=nullptr, const std::string &cache_key_suffix=std::string())
 Reads a field with name fieldname from entity block or set with chosen name (blockname) and type (vtk_entity_type).
std::vector< vtkSmartPointer< vtkDataSet > > GetExodusDataSets (const std::string &blockname, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle, int timestep, vtkIOSSReader *self)
 Called by GetDataSets to process each type of dataset.
std::vector< vtkSmartPointer< vtkDataSet > > GetCGNSDataSets (const std::string &blockname, vtkIOSSReader::EntityType vtk_entity_type, const DatabaseHandle &handle, int timestep, vtkIOSSReader *self)
 Called by GetDataSets to process each type of dataset.
Protected Attributes inherited from vtkIOSSReaderInternal
Ioss::Init::Initializer io
double DisplacementMagnitude = 1.
DatabaseNamesType UnfilteredDatabaseNames
DatabaseNamesType DatabaseNames
vtkTimeStamp DatabaseNamesMTime
std::map< std::string, std::vector< std::pair< int, double > > > DatabaseTimes
std::vector< double > TimestepValues
vtkTimeStamp TimestepValuesMTime
std::array< std::set< vtkIOSSUtilities::EntityNameType >, vtkIOSSReader::NUMBER_OF_ENTITY_TYPESEntityNames
vtkTimeStamp SelectionsMTime
std::map< std::pair< Ioss::EntityType, std::string >, unsigned int > DatasetIndexMap
std::map< DatabaseHandle, std::shared_ptr< Ioss::Region > > RegionMap
vtkIOSSUtilities::Cache Cache
vtkIOSSUtilities::DatabaseFormatType Format = vtkIOSSUtilities::DatabaseFormatType::UNKNOWN
vtkIOSSReaderIOSSReader = nullptr
vtkSmartPointer< vtkDataAssemblyAssembly
vtkTimeStamp AssemblyMTime

Detailed Description

Internal methods for the cell-grid version of the IOSS reader.

Note that this class is not part of the public API of VTK and thus has no export macros.

Definition at line 22 of file vtkIOSSCellGridReaderInternal.h.

Constructor & Destructor Documentation

◆ vtkIOSSCellGridReaderInternal()

vtkIOSSCellGridReaderInternal::vtkIOSSCellGridReaderInternal ( vtkIOSSCellGridReader * self)

Member Function Documentation

◆ GetCellGrids()

std::vector< vtkSmartPointer< vtkCellGrid > > vtkIOSSCellGridReaderInternal::GetCellGrids ( const std::string & blockName,
vtkIOSSReader::EntityType vtk_entity_type,
const DatabaseHandle & handle,
int timestep,
vtkIOSSCellGridReader * self )

◆ GetElementBlock() [1/2]

std::vector< vtkSmartPointer< vtkCellGrid > > vtkIOSSCellGridReaderInternal::GetElementBlock ( const std::string & blockName,
vtkIOSSReader::EntityType vtk_entity_type,
const DatabaseHandle & handle,
int timestep,
vtkIOSSCellGridReader * self )

◆ GetElementBlock() [2/2]

std::vector< vtkSmartPointer< vtkCellGrid > > vtkIOSSCellGridReaderInternal::GetElementBlock ( const std::string & blockName,
const Ioss::GroupingEntity * group_entity,
const DatabaseHandle & handle,
int timestep,
vtkIOSSCellGridReader * self )

◆ GetSideSet()

std::vector< vtkSmartPointer< vtkCellGrid > > vtkIOSSCellGridReaderInternal::GetSideSet ( const std::string & blockName,
vtkIOSSReader::EntityType vtk_entity_type,
const DatabaseHandle & handle,
int timestep,
vtkIOSSCellGridReader * self )

◆ GetNodeSet()

std::vector< vtkSmartPointer< vtkCellGrid > > vtkIOSSCellGridReaderInternal::GetNodeSet ( const std::string & blockName,
vtkIOSSReader::EntityType vtk_entity_type,
const DatabaseHandle & handle,
int timestep,
vtkIOSSCellGridReader * self )

◆ GetCellGridInfoForBlock()

vtkCellAttribute::CellTypeInfo vtkIOSSCellGridReaderInternal::GetCellGridInfoForBlock ( int shape_conn_size,
int shape_order,
vtkDGCell * dg )

◆ GetNodalAttributes()

void vtkIOSSCellGridReaderInternal::GetNodalAttributes ( vtkDataArraySelection * fieldSelection,
vtkDataSetAttributes * arrayGroup,
vtkCellGrid * grid,
vtkDGCell * meta,
const Ioss::GroupingEntity * group_entity,
Ioss::Region * region,
const DatabaseHandle & handle,
int timestep,
bool read_ioss_ids,
const std::string & cache_key_suffix )

◆ GetElementAttributes()

void vtkIOSSCellGridReaderInternal::GetElementAttributes ( vtkDataArraySelection * fieldSelection,
vtkDataSetAttributes * arrayGroup,
vtkCellGrid * grid,
vtkDGCell * meta,
const Ioss::GroupingEntity * group_entity,
Ioss::Region * region,
const DatabaseHandle & handle,
int timestep,
bool read_ioss_ids,
const std::string & cache_key_suffix )

◆ ApplyDisplacements()

bool vtkIOSSCellGridReaderInternal::ApplyDisplacements ( vtkCellGrid * grid,
Ioss::Region * region,
const Ioss::GroupingEntity * group_entity,
const DatabaseHandle & handle,
int timestep )

Member Data Documentation

◆ Annotations

vtkNew<vtkUnstructuredGridFieldAnnotations> vtkIOSSCellGridReaderInternal::Annotations

Definition at line 63 of file vtkIOSSCellGridReaderInternal.h.


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