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[]);
A helper class for interpolating between times during particle tracing.
vtkSmartPointer< vtkDoubleArray > cellVectors
abstract class to write particle data to file
unsigned int NumberOfParticles
vtkIdType UniqueIdCounterMPI
vtkIdType UniqueIdCounter
int ForceReinjectionEveryNSteps
abstract class to specify dataset behavior
vtkSmartPointer< vtkTemporalInterpolatedVelocityField > Interpolator
vtkSmartPointer< vtkFloatArray > ParticleAge
record modification and/or execution time
dynamic, self-adjusting array of float
An abstract class for obtaining the interpolated velocity values at a point.
vtkSmartPointer< vtkPointData > OutputPointData
std::list< ParticleInformation > ParticleDataList
vtkTemporalStreamTracerNamespace::ParticleDataList ParticleHistories
std::vector< double > InputTimeValues
vtkSmartPointer< vtkIntArray > InjectedStepIds
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
double TimeStepResolution
vtkTimeStamp ParticleInjectionTime
Proxy object to connect input/output ports.
dynamic, self-adjusting array of double
unsigned int ActualTimeStep
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
dynamic, self-adjusting array of char
dynamic, self-adjusting array of int
unsigned int NumberOfInputTimeSteps
vtkTypeBool IgnorePipelineTime
vtkSmartPointer< vtkIntArray > InjectedPointIds
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
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
abstract superclass for arrays of numeric data
A Parallel Particle tracer for unsteady vector fields.
vtkAbstractParticleWriter * ParticleWriter
vtkTypeBool EnableParticleWriting
vtkSmartPointer< vtkFloatArray > ParticleVorticity
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
vtkSmartPointer< vtkCellArray > ParticleCells
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
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
vtkSmartPointer< vtkCharArray > ParticleSourceIds
vtkSmartPointer< vtkPoints > OutputCoordinates
vtkTemporalStreamTracerNamespace::ParticleVector MPISendList
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...
vtkSmartPointer< vtkFloatArray > ParticleAngularVel
ParticleDataList::iterator ParticleListIterator
std::vector< double > OutputTimeValues
vtkSmartPointer< vtkIntArray > ErrorCodeArray
vtkSmartPointer< vtkIntArray > ParticleIds
vtkTemporalStreamTracerNamespace::ParticleVector LocalSeeds
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...
vtkSmartPointer< vtkFloatArray > ParticleRotation
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
Integrate a set of ordinary differential equations (initial value problem) in time.
Multiprocessing communication superclass.