27 #ifndef vtkTemporalStreamTracer_h
28 #define vtkTemporalStreamTracer_h
30 #include "vtkFiltersFlowPathsModule.h"
53 namespace vtkTemporalStreamTracerNamespace
59 int CachedDataSetId[2];
103 vtkGetMacro(TimeStep,
unsigned int);
112 vtkGetMacro(IgnorePipelineTime,
int);
125 vtkGetMacro(TimeStepResolution,
double);
139 vtkGetMacro(ForceReinjectionEveryNSteps,
int);
145 TERMINATION_STEP_UNIT
156 vtkGetMacro(TerminationTime,
double);
165 vtkGetMacro(TerminationTimeUnit,
int);
167 {this->SetTerminationTimeUnit(TERMINATION_TIME_UNIT);};
169 {this->SetTerminationTimeUnit(TERMINATION_STEP_UNIT);};
182 vtkGetMacro(StaticSeeds,
int);
196 vtkGetMacro(StaticMesh,
int);
216 vtkSetStringMacro(ParticleFileName);
226 vtkGetMacro(EnableParticleWriting,
int);
235 void RemoveAllSources();
288 int InitializeInterpolator();
308 virtual
void AssignSeedsToProcessors(
310 vtkTemporalStreamTracerNamespace::
ParticleVector &LocalSeedPoints,
311 int &LocalAssignedCount);
317 virtual
void AssignUniqueIds(
318 vtkTemporalStreamTracerNamespace::
ParticleVector &LocalSeedPoints);
324 void UpdateParticleList(
331 virtual
void TransmitReceiveParticles(
339 void IntegrateParticle(
341 double currenttime,
double terminationtime,
351 vtkTemporalStreamTracerNamespace::ParticleInformation &
info,
352 double velocity[3],
double delT);
356 bool SendParticleToAnotherProcess(
357 vtkTemporalStreamTracerNamespace::ParticleInformation &info,
358 double point1[4],
double delT);
360 void AddParticleToMPISendList(
361 vtkTemporalStreamTracerNamespace::ParticleInformation &info);
368 bool ComputeDomainExitLocation(
369 double pos[4],
double p2[4],
double intersection[4],
383 int AllFixedGeometry;
388 unsigned int TimeStep;
389 unsigned int ActualTimeStep;
390 int IgnorePipelineTime;
391 unsigned int NumberOfInputTimeSteps;
398 double CurrentTimeSteps[2];
399 double TimeStepResolution;
402 double TerminationTime;
403 int TerminationTimeUnit;
406 int ForceReinjectionEveryNSteps;
407 bool ReinjectionFlag;
408 int ReinjectionCounter;
413 char *ParticleFileName;
414 int EnableParticleWriting;
417 unsigned int NumberOfParticles;
435 int InterpolationCount;
455 std::vector<bounds> CachedBounds[2];
458 bool InsideBounds(
double point[]);
A helper class for interpolating between times during particle tracing.
abstract class to write particle data to file
represent and manipulate point attribute data
vtkIdType UniqueIdCounterMPI
vtkIdType UniqueIdCounter
abstract class to specify dataset behavior
record modification and/or execution time
dynamic, self-adjusting array of float
An abstract class for obtaining the interpolated velocity values at a point.
std::list< ParticleInformation > ParticleDataList
Hold a reference to a vtkObjectBase instance.
ParticleVector::iterator ParticleIterator
void SetTerminationTimeUnitToStepUnit()
The units of TerminationTime may be actual 'Time' units as described by the data, or just TimeSteps o...
provides thread-safe access to cells
Proxy object to connect input/output ports.
dynamic, self-adjusting array of double
dynamic, self-adjusting array of char
dynamic, self-adjusting array of int
static vtkStreamTracer * New()
Construct object to start from position (0,0,0), with forward integration, terminal speed 1...
a simple class to control print indentation
abstract superclass for arrays of numeric data
A Parallel Particle tracer for unsteady vector fields.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
std::list< ParticleInformation > ParticleDataList
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
object to represent cell connectivity
Composite dataset that organizes datasets into blocks.
void SetInterpolatorPrototype(vtkAbstractInterpolatedVelocityField *ivf)
The object used to interpolate the velocity field during integration is of the same class as this pro...
ParticleDataList::iterator ParticleListIterator
std::vector< ParticleInformation > ParticleVector
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
ParticleDataList::iterator ParticleListIterator
general representation of visualization data
std::vector< ParticleInformation > ParticleVector
represent and manipulate 3D points
void SetTerminationTimeUnitToTimeUnit()
The units of TerminationTime may be actual 'Time' units as described by the data, or just TimeSteps o...
Integrate a set of ordinary differential equations (initial value problem) in time.
Multiprocessing communication superclass.