 |
VTK
9.0.1
|
Go to the documentation of this file.
28 #ifndef vtkParticleTracerBase_h
29 #define vtkParticleTracerBase_h
31 #include "vtkFiltersFlowPathsModule.h"
67 int CachedDataSetId[2];
113 void PrintParticleHistories();
121 vtkGetMacro(ComputeVorticity,
bool);
122 void SetComputeVorticity(
bool);
129 vtkGetMacro(TerminalSpeed,
double);
130 void SetTerminalSpeed(
double);
138 vtkGetMacro(RotationScale,
double);
139 void SetRotationScale(
double);
162 vtkGetMacro(ForceReinjectionEveryNSteps,
int);
163 void SetForceReinjectionEveryNSteps(
int);
173 void SetTerminationTime(
double t);
174 vtkGetMacro(TerminationTime,
double);
180 void SetIntegratorType(
int type);
181 int GetIntegratorType();
188 vtkGetMacro(StartTime,
double);
189 void SetStartTime(
double t);
202 vtkSetMacro(StaticSeeds,
int);
203 vtkGetMacro(StaticSeeds,
int);
216 vtkSetMacro(StaticMesh,
int);
217 vtkGetMacro(StaticMesh,
int);
236 vtkSetStringMacro(ParticleFileName);
237 vtkGetStringMacro(ParticleFileName);
247 vtkBooleanMacro(EnableParticleWriting,
vtkTypeBool);
266 void RemoveAllSources();
335 virtual int OutputParticles(
vtkPolyData* poly) = 0;
342 virtual std::vector<vtkDataSet*> GetSeedSources(
vtkInformationVector* inputVector,
int timeStep);
347 int InitializeInterpolator();
408 bool ComputeDomainExitLocation(
409 double pos[4],
double p2[4],
double intersection[4],
vtkGenericCell* cell);
427 bool InsideBounds(
double point[]);
429 void CalculateVorticity(
434 double GetCacheDataTime(
int i);
435 double GetCacheDataTime();
437 virtual void ResetCache();
448 void GetPointDataArrayNames(
vtkDataSet* input, std::vector<std::string>& names);
451 vtkGetMacro(ReinjectionCounter,
int);
452 vtkGetMacro(CurrentTimeValue,
double);
486 double delT,
int subSteps);
488 bool SetTerminationTimeNoModify(
double t);
492 double IntegrationStep;
494 bool ComputeVorticity;
495 double RotationScale;
496 double TerminalSpeed;
499 int ReinjectionCounter;
502 int AllFixedGeometry;
506 std::vector<double> InputTimeValues;
508 double TerminationTime;
509 double CurrentTimeValue;
514 int TerminationTimeStep;
518 int ForceReinjectionEveryNSteps;
524 char* ParticleFileName;
542 std::vector<bounds> CachedBounds[2];
565 unsigned int NumberOfParticles();
570 static const double Epsilon;
represent and manipulate 3D points
A particle tracer for vector fields.
vtkSmartPointer< vtkPolyData > Output
represent and manipulate point attribute data
virtual void InitializeExtraPointDataArrays(vtkPointData *vtkNotUsed(outputPD))
Methods to append values to existing point data arrays that may only be desired on specific concrete ...
dynamic, self-adjusting array of float
record modification and/or execution time
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
vtkSmartPointer< vtkPointData > ParticlePointData
std::list< ParticleInformation > ParticleDataList
vtkTypeBool DisableResetCache
virtual void AddRestartSeeds(vtkInformationVector **)
For restarts of particle paths, we add in the ability to add in particles from a previous computation...
virtual void Initialize()
std::vector< ParticleInformation > ParticleVector
abstract superclass for arrays of numeric data
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Composite dataset that organizes datasets into blocks.
abstract superclass for composite (multi-block or AMR) datasets
vtkParticleTracerBaseNamespace::ParticleDataList ParticleHistories
vtkIdType UniqueIdCounter
dynamic, self-adjusting array of char
vtkTypeBool IgnorePipelineTime
vtkTypeBool ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
ParticleDataList::iterator ParticleListIterator
vtkSmartPointer< vtkPointData > ProtoPD
ProtoPD is used just to keep track of the input array names and number of components for copy allocat...
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Multiprocessing communication superclass.
a simple class to control print indentation
object to represent cell connectivity
dynamic, self-adjusting array of int
abstract class to write particle data to file
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
abstract class to specify dataset behavior
An abstract class for obtaining the interpolated velocity values at a point.
virtual bool SendParticleToAnotherProcess(vtkParticleTracerBaseNamespace::ParticleInformation &, vtkParticleTracerBaseNamespace::ParticleInformation &, vtkPointData *)
virtual void AppendToExtraPointDataArrays(vtkParticleTracerBaseNamespace::ParticleInformation &)
virtual bool UpdateParticleListFromOtherProcesses()
this is used during classification of seed points and also between iterations of the main loop as par...
Proxy object to connect input/output ports.
A helper class for interpolating between times during particle tracing.
concrete dataset represents vertices, lines, polygons, and triangle strips
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 *)
Integrate a set of ordinary differential equations (initial value problem) in time.
ParticleVector::iterator ParticleIterator
general representation of visualization data
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Superclass for algorithms that produce only polydata as output.