Go to the documentation of this file.
11 #ifndef vtk_m_filter_flow_FilterParticleAdvection_h
12 #define vtk_m_filter_flow_FilterParticleAdvection_h
59 template <
typename ParticleType>
66 template <
typename ParticleType>
75 this->BlockIds = blockIds;
76 this->BlockIdsSet =
true;
96 void SetUseAsynchronousCommunication() {}
100 bool GetUseAsynchronousCommunication() {
return true; }
104 void SetUseSynchronousCommunication() {}
108 bool GetUseSynchronousCommunication() {
return false; }
112 VTKM_CONT virtual void ValidateOptions()
const;
114 bool BlockIdsSet =
false;
122 bool UseThreadedAlgorithm =
false;
134 #endif // vtk_m_filter_flow_FilterParticleAdvection_h
Manages an array-worth of data.
Definition: ArrayHandle.h:300
Groups connected points that have the same field value.
Definition: Atomic.h:19
void SetSeeds(const std::vector< ParticleType > &seeds, vtkm::CopyFlag copyFlag=vtkm::CopyFlag::On)
Specify the seed locations for the particle advection.
Definition: FilterParticleAdvection.h:67
An ArrayHandle of an unknown value type and storage.
Definition: UnknownArrayHandle.h:430
Contains and manages the geometric data structures that VTK-m operates on.
Definition: DataSet.h:57
bool CanThread() const override
Returns whether the filter can execute on partitions in concurrent threads.
Definition: FilterParticleAdvection.h:38
vtkm::cont::UnknownArrayHandle Seeds
Definition: FilterParticleAdvection.h:118
void SetUseThreadedAlgorithm(bool val)
Definition: FilterParticleAdvection.h:92
std::vector< vtkm::Id > BlockIds
Definition: FilterParticleAdvection.h:115
void SetSolverEuler()
Definition: FilterParticleAdvection.h:83
void SetNumberOfSteps(vtkm::Id n)
Specifies the maximum number of integration steps for each particle.
Definition: FilterParticleAdvection.h:52
IntegrationSolverType
Definition: FlowTypes.h:19
Base class for all filters.
Definition: Filter.h:163
VectorFieldType
Definition: FlowTypes.h:25
bool GetUseThreadedAlgorithm()
Definition: FilterParticleAdvection.h:89
#define VTKM_CONT
Definition: ExportMacros.h:57
vtkm::Int64 Id
Base type to use to index arrays.
Definition: Types.h:227
base class for advecting particles in a vector field.
Definition: FilterParticleAdvection.h:34
#define VTKM_FILTER_FLOW_EXPORT
Definition: vtkm_filter_flow_export.h:44
void SetSeeds(vtkm::cont::ArrayHandle< ParticleType > &seeds)
Specify the seed locations for the particle advection.
Definition: FilterParticleAdvection.h:60
vtkm::Float32 FloatDefault
The floating point type to use when no other precision is specified.
Definition: Types.h:236
void SetStepSize(vtkm::FloatDefault s)
Specifies the step size used for the numerical integrator.
Definition: FilterParticleAdvection.h:46
vtkm::filter::flow::internal::BoundsMap BoundsMap
Definition: FilterParticleAdvection.h:116
CopyFlag
Identifier used to specify whether a function should deep copy data.
Definition: Flags.h:17
vtkm::cont::ArrayHandleBasic< T > make_ArrayHandle(const T *array, vtkm::Id numberOfValues, vtkm::CopyFlag copy)
A convenience function for creating an ArrayHandle from a standard C array.
Definition: ArrayHandleBasic.h:270
void SetBlockIDs(const std::vector< vtkm::Id > &blockIds)
Definition: FilterParticleAdvection.h:73
void SetSolverRK4()
Definition: FilterParticleAdvection.h:80
#define VTKM_DEPRECATED(...)
Definition: Deprecated.h:145