VTK
|
A particle tracer for vector fields. More...
#include <vtkParticleTracerBase.h>
Public Types | |
enum | Solvers { RUNGE_KUTTA2, RUNGE_KUTTA4, RUNGE_KUTTA45, NONE, UNKNOWN } |
typedef vtkPolyDataAlgorithm | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkParticleTracerBase * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | PrintParticleHistories () |
void | SetIntegrator (vtkInitialValueProblemSolver *) |
virtual vtkInitialValueProblemSolver * | GetIntegrator () |
void | SetIntegratorType (int type) |
int | GetIntegratorType () |
virtual bool | GetComputeVorticity () |
void | SetComputeVorticity (bool) |
virtual double | GetTerminalSpeed () |
void | SetTerminalSpeed (double) |
void | SetRotationScale (double) |
virtual double | GetRotationScale () |
virtual void | SetIgnorePipelineTime (int) |
virtual int | GetIgnorePipelineTime () |
virtual void | IgnorePipelineTimeOn () |
virtual void | IgnorePipelineTimeOff () |
void | SetForceReinjectionEveryNSteps (int) |
virtual int | GetForceReinjectionEveryNSteps () |
void | SetTerminationTime (double t) |
virtual double | GetTerminationTime () |
void | SetStartTime (double t) |
virtual double | GetStartTime () |
virtual int | GetStaticSeeds () |
virtual int | GetStaticMesh () |
virtual void | SetParticleWriter (vtkAbstractParticleWriter *pw) |
virtual vtkAbstractParticleWriter * | GetParticleWriter () |
virtual void | SetParticleFileName (const char *) |
virtual char * | GetParticleFileName () |
virtual void | SetEnableParticleWriting (int) |
virtual int | GetEnableParticleWriting () |
virtual void | EnableParticleWritingOn () |
virtual void | EnableParticleWritingOff () |
virtual void | SetDisableResetCache (int) |
virtual int | GetDisableResetCache () |
virtual void | DisableResetCacheOn () |
virtual void | DisableResetCacheOff () |
void | AddSourceConnection (vtkAlgorithmOutput *input) |
void | RemoveAllSources () |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkParticleTracerBase * | SafeDownCast (vtkObjectBase *o) |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkParticleTracerBase () | |
virtual | ~vtkParticleTracerBase () |
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
virtual int | ProcessRequest (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual int | RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual int | RequestUpdateExtent (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
virtual int | ProcessInput (vtkInformationVector **inputVector) |
virtual vtkPolyData * | Execute (vtkInformationVector **inputVector) |
virtual void | Initialize () |
virtual int | OutputParticles (vtkPolyData *poly)=0 |
virtual void | Finalize () |
int | InitializeInterpolator () |
int | UpdateDataCache (vtkDataObject *td) |
void | TestParticles (vtkParticleTracerBaseNamespace::ParticleVector &candidates, std::vector< int > &passed) |
virtual void | UpdateParticleListFromOtherProcesses () |
virtual bool | SendParticleToAnotherProcess (vtkParticleTracerBaseNamespace::ParticleInformation &, vtkParticleTracerBaseNamespace::ParticleInformation &, vtkPointData *) |
void | CreateProtoPD (vtkDataObject *input) |
vtkFloatArray * | GetParticleAge (vtkPointData *) |
vtkIntArray * | GetParticleIds (vtkPointData *) |
vtkCharArray * | GetParticleSourceIds (vtkPointData *) |
vtkIntArray * | GetInjectedPointIds (vtkPointData *) |
vtkIntArray * | GetInjectedStepIds (vtkPointData *) |
vtkIntArray * | GetErrorCodeArr (vtkPointData *) |
vtkFloatArray * | GetParticleVorticity (vtkPointData *) |
vtkFloatArray * | GetParticleRotation (vtkPointData *) |
vtkFloatArray * | GetParticleAngularVel (vtkPointData *) |
bool | InsideBounds (double point[]) |
void | CalculateVorticity (vtkGenericCell *cell, double pcoords[3], vtkDoubleArray *cellVectors, double vorticity[3]) |
double | GetCacheDataTime (int i) |
double | GetCacheDataTime () |
virtual void | ResetCache () |
void | AddParticle (vtkParticleTracerBaseNamespace::ParticleInformation &info, double *velocity) |
void | TestParticles (vtkParticleTracerBaseNamespace::ParticleVector &candidates, vtkParticleTracerBaseNamespace::ParticleVector &passed, int &count) |
virtual void | AssignSeedsToProcessors (double time, vtkDataSet *source, int sourceID, int ptId, vtkParticleTracerBaseNamespace::ParticleVector &LocalSeedPoints, int &LocalAssignedCount) |
virtual void | AssignUniqueIds (vtkParticleTracerBaseNamespace::ParticleVector &LocalSeedPoints) |
void | UpdateParticleList (vtkParticleTracerBaseNamespace::ParticleVector &candidates) |
void | IntegrateParticle (vtkParticleTracerBaseNamespace::ParticleListIterator &it, double currenttime, double terminationtime, vtkInitialValueProblemSolver *integrator) |
bool | ComputeDomainExitLocation (double pos[4], double p2[4], double intersection[4], vtkGenericCell *cell) |
virtual bool | IsPointDataValid (vtkDataObject *input) |
bool | IsPointDataValid (vtkCompositeDataSet *input, std::vector< std::string > &arrayNames) |
void | GetPointDataArrayNames (vtkDataSet *input, std::vector< std::string > &names) |
Protected Attributes | |
vtkSmartPointer< vtkPolyData > | Output |
vtkSmartPointer< vtkPointData > | ProtoPD |
vtkIdType | UniqueIdCounter |
vtkParticleTracerBaseNamespace::ParticleDataList | ParticleHistories |
vtkSmartPointer< vtkPointData > | ParticlePointData |
int | ReinjectionCounter |
int | IgnorePipelineTime |
int | DisableResetCache |
Friends | |
class | ParticlePathFilterInternal |
class | StreaklineFilterInternal |
A particle tracer for vector fields.
A parallel particle tracer for vector fields.
vtkParticleTracerBase is the base class for filters that advect particles in a vector field. Note that the input vtkPointData structure must be identical on all datasets.
vtkPParticleTracerBase is the base class for parallel filters that advect particles in a vector field. Note that the input vtkPointData structure must be identical on all datasets.
Definition at line 92 of file vtkParticleTracerBase.h.
typedef vtkPolyDataAlgorithm vtkParticleTracerBase::Superclass |
Definition at line 104 of file vtkParticleTracerBase.h.
Enumerator | |
---|---|
RUNGE_KUTTA2 | |
RUNGE_KUTTA4 | |
RUNGE_KUTTA45 | |
NONE | |
UNKNOWN |
Definition at line 95 of file vtkParticleTracerBase.h.
|
protected |
|
protectedvirtual |
|
static |
|
virtual |
|
static |
|
protectedvirtual |
vtkParticleTracerBase* vtkParticleTracerBase::NewInstance | ( | ) | const |
void vtkParticleTracerBase::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) |
void vtkParticleTracerBase::PrintParticleHistories | ( | ) |
|
virtual |
Turn on/off vorticity computation at streamline points (necessary for generating proper stream-ribbons using the vtkRibbonFilter.
void vtkParticleTracerBase::SetComputeVorticity | ( | bool | ) |
Turn on/off vorticity computation at streamline points (necessary for generating proper stream-ribbons using the vtkRibbonFilter.
|
virtual |
Specify the terminal speed value, below which integration is terminated.
void vtkParticleTracerBase::SetTerminalSpeed | ( | double | ) |
Specify the terminal speed value, below which integration is terminated.
void vtkParticleTracerBase::SetRotationScale | ( | double | ) |
This can be used to scale the rate with which the streamribbons twist. The default is 1.
|
virtual |
This can be used to scale the rate with which the streamribbons twist. The default is 1.
|
virtual |
To get around problems with the Paraview Animation controls we can just animate the time step and ignore the TIME_ requests
|
virtual |
To get around problems with the Paraview Animation controls we can just animate the time step and ignore the TIME_ requests
|
virtual |
To get around problems with the Paraview Animation controls we can just animate the time step and ignore the TIME_ requests
|
virtual |
To get around problems with the Paraview Animation controls we can just animate the time step and ignore the TIME_ requests
void vtkParticleTracerBase::SetForceReinjectionEveryNSteps | ( | int | ) |
When animating particles, it is nice to inject new ones every Nth step to produce a continuous flow. Setting ForceReinjectionEveryNSteps to a non zero value will cause the particle source to reinject particles every Nth step even if it is otherwise unchanged. Note that if the particle source is also animated, this flag will be redundant as the particles will be reinjected whenever the source changes anyway
|
virtual |
When animating particles, it is nice to inject new ones every Nth step to produce a continuous flow. Setting ForceReinjectionEveryNSteps to a non zero value will cause the particle source to reinject particles every Nth step even if it is otherwise unchanged. Note that if the particle source is also animated, this flag will be redundant as the particles will be reinjected whenever the source changes anyway
void vtkParticleTracerBase::SetTerminationTime | ( | double | t | ) |
Setting TerminationTime to a positive value will cause particles to terminate when the time is reached. Use a vlue of zero to diable termination. The units of time should be consistent with the primary time variable.
|
virtual |
Setting TerminationTime to a positive value will cause particles to terminate when the time is reached. Use a vlue of zero to diable termination. The units of time should be consistent with the primary time variable.
void vtkParticleTracerBase::SetIntegrator | ( | vtkInitialValueProblemSolver * | ) |
|
virtual |
void vtkParticleTracerBase::SetIntegratorType | ( | int | type | ) |
int vtkParticleTracerBase::GetIntegratorType | ( | ) |
void vtkParticleTracerBase::SetStartTime | ( | double | t | ) |
Setting TerminationTime to a positive value will cause particles to terminate when the time is reached. Use a vlue of zero to diable termination. The units of time should be consistent with the primary time variable.
|
virtual |
Setting TerminationTime to a positive value will cause particles to terminate when the time is reached. Use a vlue of zero to diable termination. The units of time should be consistent with the primary time variable.
|
virtual |
if StaticSeeds is set and the mesh is static, then every time particles are injected we can re-use the same injection information. We classify particles according to processor just once before start. If StaticSeeds is set and a moving seed source is specified the motion will be ignored and results will not be as expected. vtkSetMacro(StaticSeeds,int);
|
virtual |
if StaticMesh is set, many optimizations for cell caching can be assumed. if StaticMesh is not set, the algorithm will attempt to find out if optimizations can be used, but setting it to true will force all optimizations. Do not Set StaticMesh to true if a dynamic mesh is being used as this will invalidate all results. vtkSetMacro(StaticMesh,int);
|
virtual |
Set/Get the Writer associated with this Particle Tracer Ideally a parallel IO capable vtkH5PartWriter should be used which will collect particles from all parallel processes and write them to a single HDF5 file.
|
virtual |
Set/Get the Writer associated with this Particle Tracer Ideally a parallel IO capable vtkH5PartWriter should be used which will collect particles from all parallel processes and write them to a single HDF5 file.
|
virtual |
Set/Get the filename to be used with the particle writer when dumping particles to disk
|
virtual |
Set/Get the filename to be used with the particle writer when dumping particles to disk
|
virtual |
Set/Get the filename to be used with the particle writer when dumping particles to disk
|
virtual |
Set/Get the filename to be used with the particle writer when dumping particles to disk
|
virtual |
Set/Get the filename to be used with the particle writer when dumping particles to disk
|
virtual |
Set/Get the filename to be used with the particle writer when dumping particles to disk
|
virtual |
Set/Get the flag to disable cache This is off by default and turned on in special circumstances such as in a coprocessing workflow
|
virtual |
Set/Get the flag to disable cache This is off by default and turned on in special circumstances such as in a coprocessing workflow
|
virtual |
Set/Get the flag to disable cache This is off by default and turned on in special circumstances such as in a coprocessing workflow
|
virtual |
Set/Get the flag to disable cache This is off by default and turned on in special circumstances such as in a coprocessing workflow
void vtkParticleTracerBase::AddSourceConnection | ( | vtkAlgorithmOutput * | input | ) |
Provide support for multiple see sources
void vtkParticleTracerBase::RemoveAllSources | ( | ) |
Provide support for multiple see sources
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in vtkPParticleTracerBase.
|
protectedvirtual |
Reimplemented in vtkPParticleTracerBase.
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in vtkPParticleTracerBase.
|
inlineprotectedvirtual |
Definition at line 298 of file vtkParticleTracerBase.h.
|
protectedpure virtual |
Implemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPStreaklineFilter, vtkParticleTracer, vtkPParticlePathFilter, and vtkPParticleTracer.
|
inlineprotectedvirtual |
Reimplemented in vtkParticlePathFilter, vtkStreaklineFilter, vtkPStreaklineFilter, and vtkPParticlePathFilter.
Definition at line 300 of file vtkParticleTracerBase.h.
|
protected |
|
protected |
|
protected |
inside our data. Add good ones to passed list and set count to the number that passed
|
protected |
|
protectedvirtual |
all the injection/seed points according to which processor they belong to. This saves us retesting at every injection time providing 1) The volumes are static, 2) the seed points are static If either are non static, then this step is skipped.
Reimplemented in vtkPParticleTracerBase.
|
protectedvirtual |
give each one a uniqu ID. We need to use MPI to find out who is using which numbers.
Reimplemented in vtkPParticleTracerBase.
|
protected |
and sending between processors, into a list, which is used as the master list on this processor
|
inlineprotectedvirtual |
this is used during classification of seed points and also between iterations of the main loop as particles leave each processor domain
Reimplemented in vtkPParticleTracerBase.
Definition at line 348 of file vtkParticleTracerBase.h.
|
protected |
particle between the two times supplied.
|
inlineprotectedvirtual |
Reimplemented in vtkPParticleTracerBase.
Definition at line 360 of file vtkParticleTracerBase.h.
|
protected |
This is an old routine kept for possible future use. In dynamic meshes, particles might leave the domain and need to be extrapolated across a gap between the meshes before they re-renter another domain dodgy rotating meshes need special care....
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protectedvirtual |
Reimplemented in vtkParticlePathFilter, and vtkPParticlePathFilter.
|
protected |
|
protectedvirtual |
Methods that check that the input arrays are ordered the same on all data sets. This needs to be true for all blocks in a composite data set as well as across all processes.
Reimplemented in vtkPParticleTracerBase.
|
protected |
Methods that check that the input arrays are ordered the same on all data sets. This needs to be true for all blocks in a composite data set as well as across all processes.
|
protected |
Methods that check that the input arrays are ordered the same on all data sets. This needs to be true for all blocks in a composite data set as well as across all processes.
|
friend |
Definition at line 507 of file vtkParticleTracerBase.h.
|
friend |
Definition at line 508 of file vtkParticleTracerBase.h.
|
protected |
Definition at line 234 of file vtkParticleTracerBase.h.
|
protected |
Definition at line 235 of file vtkParticleTracerBase.h.
|
protected |
Definition at line 236 of file vtkParticleTracerBase.h.
|
protected |
Definition at line 237 of file vtkParticleTracerBase.h.
|
protected |
Definition at line 238 of file vtkParticleTracerBase.h.
|
protected |
Definition at line 240 of file vtkParticleTracerBase.h.
|
protected |
Definition at line 243 of file vtkParticleTracerBase.h.
|
protected |
Definition at line 244 of file vtkParticleTracerBase.h.