Go to the documentation of this file.
27 #ifndef vtkTemporalStreamTracer_h
28 #define vtkTemporalStreamTracer_h
30 #include "vtkFiltersFlowPathsModule.h"
59 int CachedDataSetId[2];
102 vtkSetMacro(TimeStep,
unsigned int);
103 vtkGetMacro(TimeStep,
unsigned int);
124 vtkSetMacro(TimeStepResolution,
double);
125 vtkGetMacro(TimeStepResolution,
double);
138 vtkSetMacro(ForceReinjectionEveryNSteps,
int);
139 vtkGetMacro(ForceReinjectionEveryNSteps,
int);
145 TERMINATION_STEP_UNIT
155 vtkSetMacro(TerminationTime,
double);
156 vtkGetMacro(TerminationTime,
double);
164 vtkSetMacro(TerminationTimeUnit,
int);
165 vtkGetMacro(TerminationTimeUnit,
int);
167 {this->SetTerminationTimeUnit(TERMINATION_TIME_UNIT);};
169 {this->SetTerminationTimeUnit(TERMINATION_STEP_UNIT);};
216 vtkSetStringMacro(ParticleFileName);
217 vtkGetStringMacro(ParticleFileName);
227 vtkBooleanMacro(EnableParticleWriting,
vtkTypeBool);
235 void RemoveAllSources();
288 int InitializeInterpolator();
308 virtual void AssignSeedsToProcessors(
311 int &LocalAssignedCount);
317 virtual void AssignUniqueIds(
324 void UpdateParticleList(
331 virtual void TransmitReceiveParticles(
339 void IntegrateParticle(
341 double currenttime,
double terminationtime,
352 double velocity[3],
double delT);
356 bool SendParticleToAnotherProcess(
358 double point1[4],
double delT);
360 void AddParticleToMPISendList(
368 bool ComputeDomainExitLocation(
369 double pos[4],
double p2[4],
double intersection[4],
398 double CurrentTimeSteps[2];
455 std::vector<bounds> CachedBounds[2];
458 bool InsideBounds(
double point[]);
represent and manipulate 3D points
vtkSmartPointer< vtkPointData > OutputPointData
int ForceReinjectionEveryNSteps
dynamic, self-adjusting array of float
vtkTemporalStreamTracerNamespace::ParticleDataList ParticleHistories
std::vector< double > InputTimeValues
unsigned int NumberOfParticles
vtkIdType UniqueIdCounterMPI
record modification and/or execution time
void SetTerminationTimeUnitToStepUnit()
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
vtkIdType UniqueIdCounter
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
double TimeStepResolution
vtkSmartPointer< vtkFloatArray > ParticleAge
A Parallel Particle tracer for unsteady vector fields.
abstract superclass for arrays of numeric data
Composite dataset that organizes datasets into blocks.
vtkSmartPointer< vtkTemporalInterpolatedVelocityField > Interpolator
vtkSmartPointer< vtkIntArray > InjectedStepIds
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
dynamic, self-adjusting array of char
unsigned int ActualTimeStep
vtkSmartPointer< vtkFloatArray > ParticleVorticity
unsigned int NumberOfInputTimeSteps
Multiprocessing communication superclass.
vtkTimeStamp ParticleInjectionTime
a simple class to control print indentation
object to represent cell connectivity
dynamic, self-adjusting array of int
abstract class to write particle data to file
vtkTypeBool IgnorePipelineTime
vtkTemporalStreamTracerNamespace::ParticleVector MPISendList
vtkSmartPointer< vtkIntArray > InjectedPointIds
vtkAbstractParticleWriter * ParticleWriter
vtkTypeBool EnableParticleWriting
abstract class to specify dataset behavior
An abstract class for obtaining the interpolated velocity values at a point.
vtkSmartPointer< vtkIntArray > ParticleIds
vtkSmartPointer< vtkCellArray > ParticleCells
std::vector< ParticleInformation > ParticleVector
vtkSmartPointer< vtkFloatArray > ParticleAngularVel
ParticleDataList::iterator ParticleListIterator
std::vector< double > OutputTimeValues
Proxy object to connect input/output ports.
vtkSmartPointer< vtkPoints > OutputCoordinates
A helper class for interpolating between times during particle tracing.
void SetTerminationTimeUnitToTimeUnit()
std::list< ParticleInformation > ParticleDataList
provides thread-safe access to cells
dynamic, self-adjusting array of double
vtkSmartPointer< vtkCharArray > ParticleSourceIds
Integrate a set of ordinary differential equations (initial value problem) in time.
vtkSmartPointer< vtkDoubleArray > cellVectors
general representation of visualization data
ParticleVector::iterator ParticleIterator
vtkTemporalStreamTracerNamespace::ParticleVector LocalSeeds
vtkSmartPointer< vtkFloatArray > ParticleRotation
static vtkStreamTracer * New()
Construct object to start from position (0,0,0), with forward integration, terminal speed 1....
void SetInterpolatorPrototype(vtkAbstractInterpolatedVelocityField *ivf)
The object used to interpolate the velocity field during integration is of the same class as this pro...
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkSmartPointer< vtkIntArray > ErrorCodeArray