 |
VTK
9.1.0
|
Go to the documentation of this file.
29 #ifndef vtkLagrangianParticle_h
30 #define vtkLagrangianParticle_h
32 #include "vtkFiltersFlowPathsModule.h"
69 PARTICLE_TERMINATION_NOT_TERMINATED = 0,
77 PARTICLE_TERMINATION_ABORTED
78 } ParticleTermination;
93 SURFACE_INTERACTION_NO_INTERACTION = 0,
98 SURFACE_INTERACTION_OTHER
112 int numberOfTrackedUserData);
121 double previousIntegrationTime = 0);
189 inline double*
GetPosition() {
return this->EquationVariables.data(); }
296 this->ThreadedData = threadedData;
double * GetNextEquationVariables()
Get a pointer to the particle variables array at its next position.
virtual void SetPManualShift(bool val)
Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming.
virtual vtkIdType GetSeedId()
Get the particle original seed index in the seed dataset.
static vtkLagrangianParticle * NewInstance(int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData, int numberOfTrackedUserData, vtkIdType numberOfSteps=0, double previousIntegrationTime=0)
Constructor wrapper to create a partially integrated particle in the domain.
std::vector< double > & GetTrackedUserData()
Get a reference to TrackedUserData.
double PrevIntegrationTime
@ PARTICLE_TERMINATION_OUT_OF_STEPS
represent and manipulate point attribute data
double * GetNextUserVariables()
Get a pointer to the next user variables.
double * GetPrevPosition()
Get a pointer to the previous particle position.
@ PARTICLE_TERMINATION_FLIGHT_TERMINATED
@ PARTICLE_TERMINATION_OUT_OF_TIME
virtual int GetTermination()
Set/Get particle termination.
virtual void SetParentId(vtkIdType parentId)
Set/Get parent particle id.
double * GetEquationVariables()
Get a pointer to the particle variables array.
vtkLagrangianParticle()=delete
vtkIdType LastSurfaceCellId
virtual double GetIntegrationTime()
Get the integration time.
@ PARTICLE_TERMINATION_OUT_OF_DOMAIN
vtkIdType GetLastSurfaceCellId()
Get the last intersected surface cell id.
std::vector< double > PrevTrackedUserData
std::vector< double > EquationVariables
@ PARTICLE_TERMINATION_TRANSFERRED
std::vector< double > & GetPrevTrackedUserData()
Get a reference to PrevTrackedUserData See GetTrackedUserData for an explanation on how to use it.
virtual vtkIdType GetNumberOfSteps()
Get particle current number of steps.
double * GetPrevEquationVariables()
Get a pointer to Particle variables at its previous position See GetEquationVariables for content des...
std::vector< double > NextEquationVariables
virtual void MoveToNextPosition()
Move the particle to its next position by putting next equation variable to equation variable and cle...
virtual int GetNumberOfVariables()
Get the number of variables used to initialize EquationVariables.
double * GetNextPosition()
Get a pointer to the next particle position.
double * GetNextVelocity()
Get a pointer to the next particle velocity.
vtkLagrangianParticle * NewParticle(vtkIdType particleId)
method to create a particle from a parent particle.
virtual void SetTermination(int termination)
Set/Get particle termination.
double GetPositionVectorMagnitude()
Compute and return the position vector magnitude.
virtual void SetIntegrationTime(double time)
Convenience setter for integration time, do not use unless manual particle shifting One using this me...
void SetLastSurfaceCell(vtkDataSet *dataset, vtkIdType cellId)
Set the last surface dataset and last surface cell id.
SurfaceInteraction
An enum to inform about a surface interaction SURFACE_INTERACTION_NO_INTERACTION = 0,...
virtual vtkIdType GetId()
Get particle id.
double * GetVelocity()
Get a pointer to the particle velocity.
double * GetPosition()
Get a pointer to the particle position.
void operator=(const vtkLagrangianParticle &)=delete
std::vector< double > & GetNextTrackedUserData()
Get a reference to NextTrackedUserData See GetTrackedUserData for an explanation on how to use it.
double * PrevUserVariables
std::vector< double > TrackedUserData
virtual vtkIdType GetSeedArrayTupleIndex() const
Get the index of the tuple for this particle in the point data returned by GetSeedData method.
virtual int GetNumberOfUserVariables()
Get the number of variables specific to the user.
virtual ~vtkLagrangianParticle()
Destructor.
@ PARTICLE_TERMINATION_SURF_TERMINATED
virtual bool GetPManualShift()
Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming.
a simple class to control print indentation
@ SURFACE_INTERACTION_BREAK
struct to hold a user data
virtual vtkIdType GetParentId()
Set/Get parent particle id.
@ PARTICLE_TERMINATION_SURF_BREAK
vtkLagrangianParticle * CloneParticle()
method to create an exact clone of a particle.
double * NextUserVariables
list of point or cell ids
virtual void SetPInsertPreviousPosition(bool val)
Set/Get parallel specific flag, indication to insert or not the previous position after streaming.
std::vector< double > PrevEquationVariables
virtual void SetUserFlag(int flag)
Set/Get user flag.
bool PInsertPreviousPosition
double * GetUserVariables()
Get a pointer to the user variables.
an abstract base class for locators which find cells
void SetThreadedData(vtkLagrangianThreadedData *threadedData)
Get/Set a pointer to a vtkLagrangianThreadedData that is considered to be local to the thread.
@ SURFACE_INTERACTION_TERMINATED
Basis class for Lagrangian particles.
double * GetPrevUserVariables()
Get a pointer to the previous user variables.
vtkDataSet * LastSurfaceDataSet
abstract class to specify dataset behavior
virtual void PrintSelf(ostream &os, vtkIndent indent)
Print information about the particle.
virtual int GetUserFlag()
Set/Get user flag.
virtual bool GetPInsertPreviousPosition()
Set/Get parallel specific flag, indication to insert or not the previous position after streaming.
virtual void SetInteraction(int interaction)
Set/Get particle interaction.
vtkDataSet * GetLastSurfaceDataSet()
Get the dataset containing the last intersected surface cell.
ParticleTermination
An enum to inform about a reason for termination PARTICLE_TERMINATION_NOT_TERMINATED = 0,...
provides thread-safe access to cells
double * GetPrevVelocity()
Get a pointer to the previous particle velocity.
@ SURFACE_INTERACTION_PASS
virtual double GetPrevIntegrationTime()
Get the integration time at previous position.
virtual int GetInteraction()
Set/Get particle interaction.
vtkLagrangianParticle(const vtkLagrangianParticle &)=delete
vtkLagrangianThreadedData * GetThreadedData()
Get/Set a pointer to a vtkLagrangianThreadedData that is considered to be local to the thread.
virtual double & GetStepTimeRef()
Get reference to step time of this particle.
std::vector< double > NextTrackedUserData
virtual vtkPointData * GetSeedData()
Get the particle seed data, for reading only.
@ SURFACE_INTERACTION_BOUNCE
vtkIdType SeedArrayTupleIndex
vtkLagrangianParticle(int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData, int numberOfTrackedUserData)
Constructor to create a particle from a seed.
Class to perform non planar quad intersection.