An In Situ Particle tracer for unsteady vector fields.
More...
#include <vtkInSituPParticlePathFilter.h>
Inherits vtkPParticlePathFilter.
|
| vtkInSituPParticlePathFilter () |
|
| ~vtkInSituPParticlePathFilter () |
|
virtual std::vector< vtkDataSet * > | GetSeedSources (vtkInformationVector *inputVector, int timeStep) |
| Overriding this method allows us to inject the seeds as some point other than the first time step. More...
|
|
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
| We add in a third, optional port for adding in particles for a restarted simulation. More...
|
|
int | RequestUpdateExtent (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
|
virtual void | AddRestartSeeds (vtkInformationVector **) |
| For restarts of particle paths, we add in the ability to add in particles from a previous computation that we will still advect. More...
|
|
virtual void | AssignSeedsToProcessors (double time, vtkDataSet *source, int sourceID, int ptId, vtkParticleTracerBaseNamespace::ParticleVector &localSeedPoints, int &localAssignedCount) |
| Before starting the particle trace, classify all the injection/seed points according to which processor they belong to. More...
|
|
An In Situ Particle tracer for unsteady vector fields.
vtkInSituPParticlePathFilter is a filter that integrates a vector field to generate particle paths. It is intended for in situ use. The additions to the parallel particle path filter is that the particle locations at previous time steps can be cleared out (ClearCache data member) and restarted connection can be used to continue advecting particles from a restarted simulation.
- See also
- vtkPParticlePathFilterBase has the details of the algorithms
Definition at line 35 of file vtkInSituPParticlePathFilter.h.
◆ Superclass
◆ vtkInSituPParticlePathFilter()
vtkInSituPParticlePathFilter::vtkInSituPParticlePathFilter |
( |
| ) |
|
|
protected |
◆ ~vtkInSituPParticlePathFilter()
vtkInSituPParticlePathFilter::~vtkInSituPParticlePathFilter |
( |
| ) |
|
|
protected |
◆ GetClassName()
virtual const char* vtkInSituPParticlePathFilter::GetClassName |
( |
| ) |
|
|
virtual |
◆ IsTypeOf()
static int vtkInSituPParticlePathFilter::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
◆ IsA()
virtual int vtkInSituPParticlePathFilter::IsA |
( |
const char * |
type | ) |
|
|
virtual |
◆ SafeDownCast()
◆ PrintSelf()
void vtkInSituPParticlePathFilter::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
◆ New()
◆ SetClearCache()
void vtkInSituPParticlePathFilter::SetClearCache |
( |
bool |
| ) |
|
Set whether or not to clear out cache of previous time steps.
Default value is false. Clearing the cache is aimed towards in situ use.
◆ AddRestartConnection()
void vtkInSituPParticlePathFilter::AddRestartConnection |
( |
vtkAlgorithmOutput * |
input | ) |
|
Provide support pre-pending previously computed particle paths.
◆ RemoveAllRestarts()
void vtkInSituPParticlePathFilter::RemoveAllRestarts |
( |
| ) |
|
Provide support pre-pending previously computed particle paths.
◆ SetRestartedSimulation()
virtual void vtkInSituPParticlePathFilter::SetRestartedSimulation |
( |
bool |
| ) |
|
|
virtual |
Set/Get if the simulation has been restarted.
If it is a restarted simulation we may not necessarily want to inject/reinject particles on the first time step. The default is False.
◆ GetRestartedSimulation()
virtual bool vtkInSituPParticlePathFilter::GetRestartedSimulation |
( |
| ) |
|
|
virtual |
Set/Get if the simulation has been restarted.
If it is a restarted simulation we may not necessarily want to inject/reinject particles on the first time step. The default is False.
◆ SetFirstTimeStep()
virtual void vtkInSituPParticlePathFilter::SetFirstTimeStep |
( |
int |
| ) |
|
|
virtual |
Specify the first time step that particle paths are computed.
This is useful for restarted simulations or when the simulation's first time step isn't 0. The default is 0.
◆ GetFirstTimeStep()
virtual int vtkInSituPParticlePathFilter::GetFirstTimeStep |
( |
| ) |
|
|
virtual |
Specify the first time step that particle paths are computed.
This is useful for restarted simulations or when the simulation's first time step isn't 0. The default is 0.
◆ GetSeedSources()
virtual std::vector<vtkDataSet*> vtkInSituPParticlePathFilter::GetSeedSources |
( |
vtkInformationVector * |
inputVector, |
|
|
int |
timeStep |
|
) |
| |
|
protectedvirtual |
Overriding this method allows us to inject the seeds as some point other than the first time step.
This is needed for restarted simulations where the restart step may not coincide with an injection step. Even if it did, the seeds probably were already reinjected before the restart files were written.
◆ FillInputPortInformation()
virtual int vtkInSituPParticlePathFilter::FillInputPortInformation |
( |
int |
port, |
|
|
vtkInformation * |
info |
|
) |
| |
|
protectedvirtual |
We add in a third, optional port for adding in particles for a restarted simulation.
These particles are only added at the first time step.
◆ RequestUpdateExtent()
int vtkInSituPParticlePathFilter::RequestUpdateExtent |
( |
vtkInformation * |
request, |
|
|
vtkInformationVector ** |
inputVector, |
|
|
vtkInformationVector * |
outputVector |
|
) |
| |
|
protected |
◆ AddRestartSeeds()
virtual void vtkInSituPParticlePathFilter::AddRestartSeeds |
( |
vtkInformationVector ** |
| ) |
|
|
protectedvirtual |
For restarts of particle paths, we add in the ability to add in particles from a previous computation that we will still advect.
◆ AssignSeedsToProcessors()
virtual void vtkInSituPParticlePathFilter::AssignSeedsToProcessors |
( |
double |
time, |
|
|
vtkDataSet * |
source, |
|
|
int |
sourceID, |
|
|
int |
ptId, |
|
|
vtkParticleTracerBaseNamespace::ParticleVector & |
localSeedPoints, |
|
|
int & |
localAssignedCount |
|
) |
| |
|
protectedvirtual |
Before starting the particle trace, classify 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. This takes into account that the "seeds" may just be restarted particles.
The documentation for this class was generated from the following file: