 |
VTK
9.1.0
|
Go to the documentation of this file.
32 #ifndef vtkTemporalStreamTracer_h
33 #define vtkTemporalStreamTracer_h
36 #include "vtkFiltersFlowPathsModule.h"
98 "vtkParticlePathFilter, or vtkStreaklineFilter")
116 vtkSetMacro(TimeStep,
unsigned int);
117 vtkGetMacro(TimeStep,
unsigned int);
138 vtkSetMacro(TimeStepResolution,
double);
139 vtkGetMacro(TimeStepResolution,
double);
152 vtkSetMacro(ForceReinjectionEveryNSteps,
int);
153 vtkGetMacro(ForceReinjectionEveryNSteps,
int);
159 TERMINATION_STEP_UNIT
169 vtkSetMacro(TerminationTime,
double);
170 vtkGetMacro(TerminationTime,
double);
178 vtkSetMacro(TerminationTimeUnit,
int);
179 vtkGetMacro(TerminationTimeUnit,
int);
364 double pos[4],
double p2[4],
double intersection[4],
vtkGenericCell* cell);
392 double CurrentTimeSteps[2];
451 std::vector<bounds> CachedBounds[2];
represent and manipulate 3D points
virtual void AssignUniqueIds(vtkTemporalStreamTracerNamespace::ParticleVector &LocalSeedPoints)
give each one a unique ID.
virtual void AssignSeedsToProcessors(vtkDataSet *source, int sourceID, int ptId, vtkTemporalStreamTracerNamespace::ParticleVector &LocalSeedPoints, int &LocalAssignedCount)
all the injection/seed points according to which processor they belong to.
vtkGetFilePathMacro(ParticleFileName)
Set/Get the filename to be used with the particle writer when dumping particles to disk.
vtkSmartPointer< vtkPointData > OutputPointData
int ForceReinjectionEveryNSteps
virtual void TransmitReceiveParticles(vtkTemporalStreamTracerNamespace::ParticleVector &outofdomain, vtkTemporalStreamTracerNamespace::ParticleVector &received, bool removeself)
this is used during classification of seed points and also between iterations of the main loop as par...
void AddSourceConnection(vtkAlgorithmOutput *input)
Provide support for multiple see sources.
dynamic, self-adjusting array of float
vtkTemporalStreamTracerNamespace::ParticleDataList ParticleHistories
std::vector< double > InputTimeValues
unsigned int NumberOfParticles
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
vtkIdType UniqueIdCounterMPI
record modification and/or execution time
void SetTerminationTimeUnitToStepUnit()
The units of TerminationTime may be actual 'Time' units as described by the data, or just TimeSteps o...
~vtkTemporalStreamTracer() override
vtkIdType UniqueIdCounter
double TimeStepResolution
vtkSmartPointer< vtkFloatArray > ParticleAge
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
A Parallel Particle tracer for unsteady vector fields.
dynamic, self-adjusting array of signed char
abstract superclass for arrays of numeric data
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
virtual int GenerateOutput(vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Composite dataset that organizes datasets into blocks.
vtkSmartPointer< vtkTemporalInterpolatedVelocityField > Interpolator
vtkSmartPointer< vtkIntArray > InjectedStepIds
void AddParticleToMPISendList(vtkTemporalStreamTracerNamespace::ParticleInformation &info)
vtkSetFilePathMacro(ParticleFileName)
Set/Get the filename to be used with the particle writer when dumping particles to disk.
unsigned int ActualTimeStep
vtkSmartPointer< vtkFloatArray > ParticleVorticity
unsigned int NumberOfInputTimeSteps
void UpdateParticleList(vtkTemporalStreamTracerNamespace::ParticleVector &candidates)
and sending between processors, into a list, which is used as the master list on this processor
Multiprocessing communication superclass.
vtkTimeStamp ParticleInjectionTime
bool SendParticleToAnotherProcess(vtkTemporalStreamTracerNamespace::ParticleInformation &info, double point1[4], double delT)
vtkTemporalStreamTracer()
a simple class to control print indentation
bool ComputeDomainExitLocation(double pos[4], double p2[4], double intersection[4], vtkGenericCell *cell)
In dnamic meshes, particles might leave the domain and need to be extrapolated across a gap between t...
object to represent cell connectivity
dynamic, self-adjusting array of int
#define VTK_DEPRECATED_IN_9_0_0(reason)
int SetTemporalInput(vtkDataObject *td, int index)
abstract class to write particle data to file
void RemoveAllSources()
Provide support for multiple see sources.
vtkTypeBool IgnorePipelineTime
vtkIdType CachedCellId[2]
vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
see vtkAlgorithm for details
virtual void SetParticleWriter(vtkAbstractParticleWriter *pw)
Set/Get the Writer associated with this Particle Tracer Ideally a parallel IO capable vtkH5PartWriter...
static vtkTemporalStreamTracer * New()
Construct object using 2nd order Runge Kutta.
vtkTemporalStreamTracerNamespace::ParticleVector MPISendList
vtkSmartPointer< vtkIntArray > InjectedPointIds
void IntegrateParticle(vtkTemporalStreamTracerNamespace::ParticleListIterator &it, double currenttime, double terminationtime, vtkInitialValueProblemSolver *integrator)
particle between the two times supplied.
vtkAbstractParticleWriter * ParticleWriter
vtkTypeBool EnableParticleWriting
abstract class to specify dataset behavior
An abstract class for obtaining the interpolated velocity values at a point.
virtual int ProcessInput(vtkInformationVector **inputVector)
vtkSmartPointer< vtkIntArray > ParticleIds
vtkSmartPointer< vtkCellArray > ParticleCells
std::vector< ParticleInformation > ParticleVector
vtkSmartPointer< vtkFloatArray > ParticleAngularVel
ParticleDataList::iterator ParticleListIterator
int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
bool InsideBounds(double point[])
std::vector< double > OutputTimeValues
void TestParticles(vtkTemporalStreamTracerNamespace::ParticleVector &candidates, vtkTemporalStreamTracerNamespace::ParticleVector &passed, int &count)
inside our data.
Proxy object to connect input/output ports.
vtkSmartPointer< vtkPoints > OutputCoordinates
A helper class for interpolating between times during particle tracing.
void SetTerminationTimeUnitToTimeUnit()
The units of TerminationTime may be actual 'Time' units as described by the data, or just TimeSteps o...
std::list< ParticleInformation > ParticleDataList
provides thread-safe access to cells
dynamic, self-adjusting array of double
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
vtkSmartPointer< vtkSignedCharArray > ParticleSourceIds
Integrate a set of ordinary differential equations (initial value problem) in time.
vtkSmartPointer< vtkDoubleArray > cellVectors
general representation of visualization data
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
ParticleVector::iterator ParticleIterator
vtkTemporalStreamTracerNamespace::ParticleVector LocalSeeds
vtkSmartPointer< vtkFloatArray > ParticleRotation
vtkSmartPointer< vtkIntArray > ErrorCodeArray
int InitializeInterpolator()
bool RetryWithPush(vtkTemporalStreamTracerNamespace::ParticleInformation &info, double velocity[3], double delT)
and sent to the other processors for possible continuation.