VTK-m  2.0
Public Member Functions | List of all members
vtkm::filter::flow::FilterParticleAdvection Class Referenceabstract

base class for advecting particles in a vector field. More...

#include <FilterParticleAdvection.h>

Inheritance diagram for vtkm::filter::flow::FilterParticleAdvection:
vtkm::filter::FilterField vtkm::filter::Filter vtkm::filter::flow::FilterParticleAdvectionSteadyState vtkm::filter::flow::FilterParticleAdvectionUnsteadyState vtkm::filter::flow::ParticleAdvection vtkm::filter::flow::Streamline vtkm::filter::flow::Pathline vtkm::filter::flow::PathParticle

Public Member Functions

VTKM_CONT bool CanThread () const override
 
VTKM_CONT void SetStepSize (vtkm::FloatDefault s)
 
VTKM_CONT void SetNumberOfSteps (vtkm::Id n)
 
template<typename ParticleType >
VTKM_CONT void SetSeeds (vtkm::cont::ArrayHandle< ParticleType > &seeds)
 
template<typename ParticleType >
VTKM_CONT void SetSeeds (const std::vector< ParticleType > &seeds, vtkm::CopyFlag copyFlag=vtkm::CopyFlag::On)
 
VTKM_CONT void SetSolverRK4 ()
 
VTKM_CONT void SetSolverEuler ()
 
VTKM_CONT void SetVectorFieldType (vtkm::filter::flow::VectorFieldType vecFieldType)
 
- Public Member Functions inherited from vtkm::filter::FilterField
 FilterField ()
 
VTKM_CONT void SetOutputFieldName (const std::string &name)
 
const VTKM_CONT std::string & GetOutputFieldName () const
 
VTKM_CONT void SetActiveField (const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 
void SetActiveField (vtkm::IdComponent index, const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 
const VTKM_CONT std::string & GetActiveFieldName (vtkm::IdComponent index=0) const
 
VTKM_CONT vtkm::cont::Field::Association GetActiveFieldAssociation (vtkm::IdComponent index=0) const
 
VTKM_CONT void SetActiveCoordinateSystem (vtkm::Id coord_idx)
 
VTKM_CONT void SetActiveCoordinateSystem (vtkm::IdComponent index, vtkm::Id coord_idx)
 
VTKM_CONT vtkm::Id GetActiveCoordinateSystemIndex () const
 
VTKM_CONT vtkm::Id GetActiveCoordinateSystemIndex (vtkm::IdComponent index) const
 
VTKM_CONT void SetUseCoordinateSystemAsField (bool val)
 
VTKM_CONT void SetUseCoordinateSystemAsField (vtkm::IdComponent index, bool val)
 
VTKM_CONT bool GetUseCoordinateSystemAsField (vtkm::IdComponent index=0) const
 
- Public Member Functions inherited from vtkm::filter::Filter
virtual VTKM_CONT ~Filter ()
 
VTKM_CONT void SetThreadsPerCPU (vtkm::Id numThreads)
 
VTKM_CONT void SetThreadsPerGPU (vtkm::Id numThreads)
 
VTKM_CONT vtkm::Id GetThreadsPerCPU () const
 
VTKM_CONT vtkm::Id GetThreadsPerGPU () const
 
VTKM_CONT bool GetRunMultiThreadedFilter () const
 
VTKM_CONT 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...
 
VTKM_CONT void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass)
 Specify which fields get passed from input to output. More...
 
VTKM_CONT void SetFieldsToPass (vtkm::filter::FieldSelection &&fieldsToPass)
 Specify which fields get passed from input to output. More...
 
VTKM_CONT void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass, vtkm::filter::FieldSelection::Mode mode)
 Specify which fields get passed from input to output. More...
 
VTKM_CONT 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...
 
VTKM_CONT 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...
 
VTKM_CONT 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...
 
VTKM_CONT void SetFieldsToPass (const std::string &fieldname, vtkm::filter::FieldSelection::Mode mode)
 Specify which fields get passed from input to output. More...
 
const VTKM_CONT vtkm::filter::FieldSelectionGetFieldsToPass () const
 Specify which fields get passed from input to output. More...
 
VTKM_CONT vtkm::filter::FieldSelectionGetFieldsToPass ()
 Specify which fields get passed from input to output. More...
 
VTKM_CONT void SetPassCoordinateSystems (bool flag)
 Specify whether to always pass coordinate systems. More...
 
VTKM_CONT bool GetPassCoordinateSystems () const
 Specify whether to always pass coordinate systems. More...
 
VTKM_CONT vtkm::cont::DataSet Execute (const vtkm::cont::DataSet &input)
 
VTKM_CONT vtkm::cont::PartitionedDataSet Execute (const vtkm::cont::PartitionedDataSet &input)
 
vtkm::Id NumberOfSteps = 0
 
vtkm::cont::UnknownArrayHandle Seeds
 
vtkm::filter::flow::IntegrationSolverType SolverType
 
vtkm::FloatDefault StepSize = 0
 
bool UseThreadedAlgorithm = false
 
vtkm::filter::flow::VectorFieldType VecFieldType
 
VTKM_CONT void SetEField (const std::string &name)
 
VTKM_CONT void SetBField (const std::string &name)
 
VTKM_CONT std::string GetEField () const
 
VTKM_CONT std::string GetBField () const
 
VTKM_CONT bool GetUseThreadedAlgorithm ()
 
VTKM_CONT void SetUseThreadedAlgorithm (bool val)
 
virtual VTKM_CONT void ValidateOptions () const
 
virtual VTKM_CONT vtkm::filter::flow::FlowResultType GetResultType () const =0
 
VTKM_CONT vtkm::cont::DataSet DoExecute (const vtkm::cont::DataSet &inData) override
 

Additional Inherited Members

- Protected Member Functions inherited from vtkm::filter::FilterField
const VTKM_CONT vtkm::cont::FieldGetFieldFromDataSet (const vtkm::cont::DataSet &input) const
 
const VTKM_CONT vtkm::cont::FieldGetFieldFromDataSet (vtkm::IdComponent index, const vtkm::cont::DataSet &input) const
 
template<typename Functor , typename... Args>
VTKM_CONT void CastAndCallScalarField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 
template<typename Functor , typename... Args>
VTKM_CONT void CastAndCallScalarField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
VTKM_CONT void CastAndCallVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
VTKM_CONT void CastAndCallVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 
VTKM_CONT 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 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 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 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...
 
- Protected Member Functions inherited from vtkm::filter::Filter
VTKM_CONT vtkm::cont::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet) const
 Create the output data set for DoExecute. More...
 
VTKM_CONT 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 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 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...
 
virtual VTKM_CONT vtkm::cont::PartitionedDataSet DoExecutePartitions (const vtkm::cont::PartitionedDataSet &inData)
 
template<typename FieldMapper >
VTKM_CONT 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 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...
 
- Protected Attributes inherited from vtkm::filter::Filter
vtkm::cont::Invoker Invoke
 

Detailed Description

base class for advecting particles in a vector field.

Takes as input a vector field and seed locations and advects the seeds through the flow field.

Member Function Documentation

◆ CanThread()

VTKM_CONT bool vtkm::filter::flow::FilterParticleAdvection::CanThread ( ) const
inlineoverridevirtual

Reimplemented from vtkm::filter::Filter.

◆ DoExecute()

VTKM_CONT vtkm::cont::DataSet vtkm::filter::flow::FilterParticleAdvection::DoExecute ( const vtkm::cont::DataSet inData)
overrideprivatevirtual

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

Implements vtkm::filter::Filter.

◆ GetBField()

VTKM_CONT std::string vtkm::filter::flow::FilterParticleAdvection::GetBField ( ) const
inline

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ GetEField()

VTKM_CONT std::string vtkm::filter::flow::FilterParticleAdvection::GetEField ( ) const
inline

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ GetResultType()

virtual VTKM_CONT vtkm::filter::flow::FlowResultType vtkm::filter::flow::FilterParticleAdvection::GetResultType ( ) const
protectedpure virtual

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

Implemented in vtkm::filter::flow::ParticleAdvection, vtkm::filter::flow::Pathline, vtkm::filter::flow::PathParticle, and vtkm::filter::flow::Streamline.

◆ GetUseThreadedAlgorithm()

VTKM_CONT bool vtkm::filter::flow::FilterParticleAdvection::GetUseThreadedAlgorithm ( )
inline

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ SetBField()

VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::SetBField ( const std::string &  name)
inline

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ SetEField()

VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::SetEField ( const std::string &  name)
inline

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ SetNumberOfSteps()

VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::SetNumberOfSteps ( vtkm::Id  n)
inline

◆ SetSeeds() [1/2]

template<typename ParticleType >
VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::SetSeeds ( const std::vector< ParticleType > &  seeds,
vtkm::CopyFlag  copyFlag = vtkm::CopyFlag::On 
)
inline

◆ SetSeeds() [2/2]

template<typename ParticleType >
VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::SetSeeds ( vtkm::cont::ArrayHandle< ParticleType > &  seeds)
inline

◆ SetSolverEuler()

VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::SetSolverEuler ( )
inline

◆ SetSolverRK4()

VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::SetSolverRK4 ( )
inline

◆ SetStepSize()

VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::SetStepSize ( vtkm::FloatDefault  s)
inline

◆ SetUseThreadedAlgorithm()

VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::SetUseThreadedAlgorithm ( bool  val)
inline

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ SetVectorFieldType()

VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::SetVectorFieldType ( vtkm::filter::flow::VectorFieldType  vecFieldType)
inline

◆ ValidateOptions()

virtual VTKM_CONT void vtkm::filter::flow::FilterParticleAdvection::ValidateOptions ( ) const
protectedvirtual

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

Reimplemented in vtkm::filter::flow::FilterParticleAdvectionUnsteadyState.

Member Data Documentation

◆ NumberOfSteps

vtkm::Id vtkm::filter::flow::FilterParticleAdvection::NumberOfSteps = 0
protected

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ Seeds

vtkm::cont::UnknownArrayHandle vtkm::filter::flow::FilterParticleAdvection::Seeds
protected

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ SolverType

vtkm::filter::flow::IntegrationSolverType vtkm::filter::flow::FilterParticleAdvection::SolverType
protected
Initial value:

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ StepSize

vtkm::FloatDefault vtkm::filter::flow::FilterParticleAdvection::StepSize = 0
protected

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ UseThreadedAlgorithm

bool vtkm::filter::flow::FilterParticleAdvection::UseThreadedAlgorithm = false
protected

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.

◆ VecFieldType

vtkm::filter::flow::VectorFieldType vtkm::filter::flow::FilterParticleAdvection::VecFieldType
protected
Initial value:

Choose the field to operate on. Note, if this->UseCoordinateSystemAsField is true, then the active field is not used.


The documentation for this class was generated from the following file:
vtkm::filter::flow::IntegrationSolverType::RK4_TYPE
@ RK4_TYPE
vtkm::filter::flow::VectorFieldType::VELOCITY_FIELD_TYPE
@ VELOCITY_FIELD_TYPE