VTK  9.4.20250129
Public Member Functions | Public Attributes | List of all members
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: