27 #ifndef vtkTemporalStreamTracer_h
28 #define vtkTemporalStreamTracer_h
30 #include "vtkFiltersFlowPathsModule.h"
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(
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
int EnableParticleWriting
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
abstract class to write particle data to file
unsigned int NumberOfParticles
vtkIdType UniqueIdCounterMPI
vtkIdType UniqueIdCounter
int ForceReinjectionEveryNSteps
abstract class to specify dataset behavior
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
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
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.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkAbstractParticleWriter * ParticleWriter
vtkSmartPointer< vtkFloatArray > ParticleVorticity
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
vtkSmartPointer< vtkCellArray > ParticleCells
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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
vtkSmartPointer< vtkIntArray > ErrorCode
std::vector< double > OutputTimeValues
vtkSmartPointer< vtkIntArray > ParticleIds
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkTemporalStreamTracerNamespace::ParticleVector LocalSeeds
general representation of visualization data
std::vector< ParticleInformation > ParticleVector
virtual int FillInputPortInformation(int, vtkInformation *)
Fill the input port information objects for this algorithm.
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
Integrate a set of ordinary differential equations (initial value problem) in time.
Multiprocessing communication superclass.