VTK-m  2.1
Private Member Functions | Private Attributes | List of all members
vtkm::filter::multi_block::AmrArrays Class Reference

Generate arrays describing the AMR structure in a partitioned data set. More...

#include <AmrArrays.h>

Inheritance diagram for vtkm::filter::multi_block::AmrArrays:
vtkm::filter::Filter

Private Member Functions

vtkm::cont::DataSet DoExecute (const vtkm::cont::DataSet &) override
 
vtkm::cont::PartitionedDataSet DoExecutePartitions (const vtkm::cont::PartitionedDataSet &input) override
 
void GenerateParentChildInformation ()
 the list of ids contains all amrIds of the level above/below that have an overlap More...
 
template<vtkm::IdComponent Dim>
void ComputeGenerateParentChildInformation ()
 the corresponding template function based on the dimension of this dataset More...
 
void GenerateGhostType ()
 generate the GhostType array based on the overlap analogously to vtk blanked cells: 8 normal cells: 0 More...
 
template<vtkm::IdComponent Dim>
void ComputeGenerateGhostType ()
 the corresponding template function based on the dimension of this dataset More...
 
void GenerateIndexArrays ()
 Add helper arrays like in ParaView. More...
 

Private Attributes

vtkm::cont::PartitionedDataSet AmrDataSet
 the input partitioned dataset More...
 
std::vector< std::vector< vtkm::Id > > PartitionIds
 per level contains the partitionIds of each level and blockId More...
 
std::vector< std::vector< vtkm::Id > > ParentsIdsVector
 per partitionId contains all PartitonIds of the level above that have an overlap More...
 
std::vector< std::vector< vtkm::Id > > ChildrenIdsVector
 per partitionId contains all PartitonIds of the level below that have an overlap More...
 

Additional Inherited Members

- Public Member Functions inherited from vtkm::filter::Filter
 Filter ()
 
virtual ~Filter ()
 
vtkm::cont::DataSet Execute (const vtkm::cont::DataSet &input)
 Executes the filter on the input and produces a result dataset. More...
 
vtkm::cont::PartitionedDataSet Execute (const vtkm::cont::PartitionedDataSet &input)
 Executes the filter on the input PartitionedDataSet and produces a result PartitionedDataSet. More...
 
void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (vtkm::filter::FieldSelection &&fieldsToPass)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass, vtkm::filter::FieldSelection::Mode mode)
 
void SetFieldsToPass (std::initializer_list< std::string > fields, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (std::initializer_list< std::pair< std::string, vtkm::cont::Field::Association >> fields, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (const std::string &fieldname, vtkm::cont::Field::Association association, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (const std::string &fieldname, vtkm::filter::FieldSelection::Mode mode)
 Specify which fields get passed from input to output. More...
 
const vtkm::filter::FieldSelectionGetFieldsToPass () const
 Specify which fields get passed from input to output. More...
 
vtkm::filter::FieldSelectionGetFieldsToPass ()
 Specify which fields get passed from input to output. More...
 
void SetPassCoordinateSystems (bool flag)
 Specify whether to always pass coordinate systems. More...
 
bool GetPassCoordinateSystems () const
 Specify whether to always pass coordinate systems. More...
 
void SetOutputFieldName (const std::string &name)
 Specifies the name of the output field generated. More...
 
const std::string & GetOutputFieldName () const
 Specifies the name of the output field generated. More...
 
void SetActiveField (const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 Specifies a field to operate on. More...
 
void SetActiveField (vtkm::IdComponent index, const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 Specifies a field to operate on. More...
 
const std::string & GetActiveFieldName (vtkm::IdComponent index=0) const
 Specifies a field to operate on. More...
 
vtkm::cont::Field::Association GetActiveFieldAssociation (vtkm::IdComponent index=0) const
 Specifies a field to operate on. More...
 
void SetActiveCoordinateSystem (vtkm::Id coord_idx)
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
void SetActiveCoordinateSystem (vtkm::IdComponent index, vtkm::Id coord_idx)
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
vtkm::Id GetActiveCoordinateSystemIndex (vtkm::IdComponent index=0) const
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
void SetUseCoordinateSystemAsField (bool val)
 Specifies whether to use point coordinates as the input field. More...
 
void SetUseCoordinateSystemAsField (vtkm::IdComponent index, bool val)
 Specifies whether to use point coordinates as the input field. More...
 
bool GetUseCoordinateSystemAsField (vtkm::IdComponent index=0) const
 Specifies whether to use point coordinates as the input field. More...
 
vtkm::IdComponent GetNumberOfActiveFields () const
 Return the number of active fields currently set. More...
 
virtual bool CanThread () const
 Returns whether the filter can execute on partitions in concurrent threads. More...
 
void SetThreadsPerCPU (vtkm::Id numThreads)
 
void SetThreadsPerGPU (vtkm::Id numThreads)
 
vtkm::Id GetThreadsPerCPU () const
 
vtkm::Id GetThreadsPerGPU () const
 
bool GetRunMultiThreadedFilter () const
 
void SetRunMultiThreadedFilter (bool val)
 
void SetInvoker (vtkm::cont::Invoker inv)
 Specify the vtkm::cont::Invoker to be used to execute worklets by this filter instance. More...
 
- Protected Member Functions inherited from vtkm::filter::Filter
vtkm::cont::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet) const
 Create the output data set for DoExecute. More...
 
vtkm::cont::DataSet CreateResultField (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::Field &resultField) const
 Create the output data set for DoExecute More...
 
vtkm::cont::DataSet CreateResultField (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, vtkm::cont::Field::Association resultFieldAssociation, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const
 Create the output data set for DoExecute More...
 
vtkm::cont::DataSet CreateResultFieldPoint (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const
 Create the output data set for DoExecute More...
 
vtkm::cont::DataSet CreateResultFieldCell (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const
 Create the output data set for DoExecute More...
 
vtkm::cont::PartitionedDataSet CreateResult (const vtkm::cont::PartitionedDataSet &input, const vtkm::cont::PartitionedDataSet &resultPartitions) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
vtkm::cont::PartitionedDataSet CreateResult (const vtkm::cont::PartitionedDataSet &input, const vtkm::cont::PartitionedDataSet &resultPartitions, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
vtkm::cont::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
vtkm::cont::DataSet CreateResultCoordinateSystem (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, const vtkm::cont::CoordinateSystem &resultCoordSystem, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
vtkm::cont::DataSet CreateResultCoordinateSystem (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, const std::string &coordsName, const vtkm::cont::UnknownArrayHandle &coordsData, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
const vtkm::cont::FieldGetFieldFromDataSet (const vtkm::cont::DataSet &input) const
 Retrieve an input field from a vtkm::cont::DataSet object. More...
 
const vtkm::cont::FieldGetFieldFromDataSet (vtkm::IdComponent index, const vtkm::cont::DataSet &input) const
 Retrieve an input field from a vtkm::cont::DataSet object. More...
 
template<typename Functor , typename... Args>
void CastAndCallScalarField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input scalar field. More...
 
template<typename Functor , typename... Args>
void CastAndCallScalarField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input scalar field. More...
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
void CastAndCallVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input vector field. More...
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
void CastAndCallVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input vector field. More...
 
template<typename Functor , typename... Args>
void CastAndCallVariableVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 This method is like CastAndCallVecField except that it can be used for a field of unknown vector size (or scalars). More...
 
template<typename Functor , typename... Args>
void CastAndCallVariableVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 This method is like CastAndCallVecField except that it can be used for a field of unknown vector size (or scalars). More...
 
- Protected Attributes inherited from vtkm::filter::Filter
vtkm::cont::Invoker Invoke
 

Detailed Description

Generate arrays describing the AMR structure in a partitioned data set.

AMR grids are represented by vtkm::cont::PartitionedDataSet, but this class does not explicitly store the hierarchical structure of the mesh refinement. This hierarchical arrangement needs to be captured in fields that describe where blocks reside in the hierarchy. This filter analyses the arrangement of partitions in a vtkm::cont::PartitionedDataSet and generates the following field arrays.

These arrays are stored as cell fields in the partitions.

This filter only operates on partitioned data sets where all the partitions have cell sets of type vtkm::cont::CellSetStructured. This is characteristic of AMR data sets.

Member Function Documentation

◆ ComputeGenerateGhostType()

template<vtkm::IdComponent Dim>
void vtkm::filter::multi_block::AmrArrays::ComputeGenerateGhostType ( )
private

the corresponding template function based on the dimension of this dataset

◆ ComputeGenerateParentChildInformation()

template<vtkm::IdComponent Dim>
void vtkm::filter::multi_block::AmrArrays::ComputeGenerateParentChildInformation ( )
private

the corresponding template function based on the dimension of this dataset

◆ DoExecute()

vtkm::cont::DataSet vtkm::filter::multi_block::AmrArrays::DoExecute ( const vtkm::cont::DataSet )
inlineoverrideprivatevirtual

Implements vtkm::filter::Filter.

◆ DoExecutePartitions()

vtkm::cont::PartitionedDataSet vtkm::filter::multi_block::AmrArrays::DoExecutePartitions ( const vtkm::cont::PartitionedDataSet input)
overrideprivatevirtual

Reimplemented from vtkm::filter::Filter.

◆ GenerateGhostType()

void vtkm::filter::multi_block::AmrArrays::GenerateGhostType ( )
private

generate the GhostType array based on the overlap analogously to vtk blanked cells: 8 normal cells: 0

◆ GenerateIndexArrays()

void vtkm::filter::multi_block::AmrArrays::GenerateIndexArrays ( )
private

Add helper arrays like in ParaView.

◆ GenerateParentChildInformation()

void vtkm::filter::multi_block::AmrArrays::GenerateParentChildInformation ( )
private

the list of ids contains all amrIds of the level above/below that have an overlap

Member Data Documentation

◆ AmrDataSet

vtkm::cont::PartitionedDataSet vtkm::filter::multi_block::AmrArrays::AmrDataSet
private

the input partitioned dataset

◆ ChildrenIdsVector

std::vector<std::vector<vtkm::Id> > vtkm::filter::multi_block::AmrArrays::ChildrenIdsVector
private

per partitionId contains all PartitonIds of the level below that have an overlap

◆ ParentsIdsVector

std::vector<std::vector<vtkm::Id> > vtkm::filter::multi_block::AmrArrays::ParentsIdsVector
private

per partitionId contains all PartitonIds of the level above that have an overlap

◆ PartitionIds

std::vector<std::vector<vtkm::Id> > vtkm::filter::multi_block::AmrArrays::PartitionIds
private

per level contains the partitionIds of each level and blockId


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