VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkLagrangianParticle Class Reference

Basis class for Lagrangian particles. More...

#include <vtkLagrangianParticle.h>

Collaboration diagram for vtkLagrangianParticle:
[legend]

Public Types

enum  ParticleTermination {
  PARTICLE_TERMINATION_NOT_TERMINATED = 0, PARTICLE_TERMINATION_SURF_TERMINATED, PARTICLE_TERMINATION_FLIGHT_TERMINATED, PARTICLE_TERMINATION_SURF_BREAK,
  PARTICLE_TERMINATION_OUT_OF_DOMAIN, PARTICLE_TERMINATION_OUT_OF_STEPS, PARTICLE_TERMINATION_OUT_OF_TIME
}
 An enum to inform about a reason for termination PARTICLE_TERMINATION_NOT_TERMINATED = 0, means the particle have not yet been terminated PARTICLE_TERMINATION_SURF_TERMINATED = 1, means the particle have been terminated during a surface interaction PARTICLE_TERMINATION_FLIGHT_TERMINATED = 2, means the particle have been terminated by the model during a FreeFlightCheck() call PARTICLE_TERMINATION_SURF_BREAK = 3, means the particle have been terminated during a surface interaction by a break, meaning new particles have been created from it. More...
 
enum  SurfaceInteraction {
  SURFACE_INTERACTION_NO_INTERACTION = 0, SURFACE_INTERACTION_TERMINATED, SURFACE_INTERACTION_BREAK, SURFACE_INTERACTION_BOUNCE,
  SURFACE_INTERACTION_PASS, SURFACE_INTERACTION_OTHER
}
 An enum to inform about a surface interaction SURFACE_INTERACTION_NO_INTERACTION = 0, no interaction have taken place SURFACE_INTERACTION_TERMINATED = 1, a particle was terminated on interaction SURFACE_INTERACTION_BREAK = 2, a particle broke on interaction, hence terminating it and creating new particles from it SURFACE_INTERACTION_BOUNCE = 3, a particle bounced on interaction SURFACE_INTERACTION_PASS = 4, a particle passed through the surface, hence having no effect on the particle but actually recording it going through SURFACE_INTERACTION_OTHER = 5, another type of undefined interaction happened. More...
 
typedef enum vtkLagrangianParticle::ParticleTermination ParticleTermination
 An enum to inform about a reason for termination PARTICLE_TERMINATION_NOT_TERMINATED = 0, means the particle have not yet been terminated PARTICLE_TERMINATION_SURF_TERMINATED = 1, means the particle have been terminated during a surface interaction PARTICLE_TERMINATION_FLIGHT_TERMINATED = 2, means the particle have been terminated by the model during a FreeFlightCheck() call PARTICLE_TERMINATION_SURF_BREAK = 3, means the particle have been terminated during a surface interaction by a break, meaning new particles have been created from it. More...
 
typedef enum vtkLagrangianParticle::SurfaceInteraction SurfaceInteraction
 An enum to inform about a surface interaction SURFACE_INTERACTION_NO_INTERACTION = 0, no interaction have taken place SURFACE_INTERACTION_TERMINATED = 1, a particle was terminated on interaction SURFACE_INTERACTION_BREAK = 2, a particle broke on interaction, hence terminating it and creating new particles from it SURFACE_INTERACTION_BOUNCE = 3, a particle bounced on interaction SURFACE_INTERACTION_PASS = 4, a particle passed through the surface, hence having no effect on the particle but actually recording it going through SURFACE_INTERACTION_OTHER = 5, another type of undefined interaction happened. More...
 

Public Member Functions

 vtkLagrangianParticle (int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData, int weightsSize, int numberOfTrackedUserData)
 Constructor to create a particle from a seed. More...
 
vtkLagrangianParticleNewParticle (vtkIdType particleId)
 method to create a particle from a parent particle. More...
 
vtkLagrangianParticleCloneParticle ()
 method to create an exact clone of a particle. More...
 
virtual ~vtkLagrangianParticle ()=default
 Destructor. More...
 
double * GetPrevEquationVariables ()
 Get a pointer to Particle variables at its previous position See GetEquationVariables for content description. More...
 
double * GetEquationVariables ()
 Get a pointer to the particle variables array. More...
 
double * GetNextEquationVariables ()
 Get a pointer to the particle variables array at its next position. More...
 
double * GetPrevPosition ()
 Get a pointer to the previous particle position. More...
 
double * GetPosition ()
 Get a pointer to the particle position. More...
 
double * GetNextPosition ()
 Get a pointer to the next particle position. More...
 
double * GetPrevVelocity ()
 Get a pointer to the previous particle velocity. More...
 
double * GetVelocity ()
 Get a pointer to the particle velocity. More...
 
double * GetNextVelocity ()
 Get a pointer to the next particle velocity. More...
 
double * GetPrevUserVariables ()
 Get a pointer to the previous user variables. More...
 
double * GetUserVariables ()
 Get a pointer to the user variables. More...
 
double * GetNextUserVariables ()
 Get a pointer to the next user variables. More...
 
std::vector< double > & GetPrevTrackedUserData ()
 Get a reference to PrevTrackedUserData See GetTrackedUserData for an explanation on how to use it. More...
 
std::vector< double > & GetTrackedUserData ()
 Get a reference to TrackedUserData. More...
 
std::vector< double > & GetNextTrackedUserData ()
 Get a reference to NextTrackedUserData See GetTrackedUserData for an explanation on how to use it. More...
 
void * GetTemporaryUserData ()
 Get/Set a pointer to TemporaryUserData This data is not tracked and not transferred nor copied This can be used to store any kind of data, structure, class instance that you may need. More...
 
void SetTemporaryUserData (void *tempUserData)
 
virtual void MoveToNextPosition ()
 Move the particle to its next position by putting next equation variable to equation variable and clearing next equation variable. More...
 
virtual vtkIdType GetId ()
 Get particle id. More...
 
virtual void SetParentId (vtkIdType parentId)
 Set/Get parent particle id. More...
 
virtual vtkIdType GetParentId ()
 
virtual vtkIdType GetSeedId ()
 Get the particle original seed index in the seed dataset. More...
 
virtual vtkIdType GetSeedArrayTupleIndex ()
 Get the particle data tuple in a seed array. More...
 
virtual int GetNumberOfVariables ()
 Get the number of variables used to initialize EquationVariables. More...
 
virtual int GetNumberOfUserVariables ()
 Get the number of variables specific to the user. More...
 
virtual vtkPointDataGetSeedData ()
 Get the particle data. More...
 
double * GetLastWeights ()
 Get the last weights computed when locating the particle in the last traversed cell. More...
 
vtkIdType GetLastCellId ()
 Get the last traversed cell id. More...
 
vtkDataSetGetLastDataSet ()
 Get the dataset containing the last traversed cell. More...
 
vtkAbstractCellLocatorGetLastLocator ()
 Get the locator used to find the last traversed cell. More...
 
vtkIdType GetLastSurfaceCellId ()
 Get the last intersected surface cell id. More...
 
vtkDataSetGetLastSurfaceDataSet ()
 Get the dataset containing the last intersected surface cell. More...
 
void SetLastCell (vtkAbstractCellLocator *locator, vtkDataSet *dataset, vtkIdType cellId)
 Set the last dataset and last cell id. More...
 
void SetLastSurfaceCell (vtkDataSet *dataset, vtkIdType cellId)
 Set the last surface dataset and last surface cell id. More...
 
virtual vtkIdType GetNumberOfSteps ()
 Get particle current number of steps. More...
 
virtual void SetTermination (int termination)
 Set/Get particle termination. More...
 
virtual int GetTermination ()
 
virtual void SetInteraction (int interaction)
 Set/Get particle interaction. More...
 
virtual int GetInteraction ()
 
virtual void SetUserFlag (int flag)
 Set/Get user flag. More...
 
virtual int GetUserFlag ()
 
virtual void SetPInsertPreviousPosition (bool val)
 Set/Get parallel specific flag, indication to insert or not the previous position after streaming. More...
 
virtual bool GetPInsertPreviousPosition ()
 
virtual void SetPManualShift (bool val)
 Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming. More...
 
virtual bool GetPManualShift ()
 
virtual double & GetStepTimeRef ()
 Get reference to step time of this particle. More...
 
virtual double GetIntegrationTime ()
 Get the integration time. More...
 
virtual double GetPrevIntegrationTime ()
 Get the integration time at previous position. More...
 
virtual void SetIntegrationTime (double time)
 Convenience setter for integration time, do not use unless manual particle shifting One using this method may want to consider modifying EquationVariable[numVals] which contain integrationTime as well, if it matters in their model. More...
 
double GetPositionVectorMagnitude ()
 Compute and return the position vector magnitude. More...
 
virtual void PrintSelf (ostream &os, vtkIndent indent)
 Print information about the particle. More...
 

Static Public Member Functions

static vtkLagrangianParticleNewInstance (int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData, int weightsSize, int numberOfTrackedUserData, vtkIdType numberOfSteps, double previousIntegrationTime)
 Constructor wrapper to create a partially integrated particle in the domain. More...
 

Protected Member Functions

vtkLagrangianParticleNewInstance (int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData, int weightsSize, int numberOfTrackedUserData)
 Constructor wrapper for internal convenience. More...
 
 vtkLagrangianParticle (const vtkLagrangianParticle &)=delete
 
 vtkLagrangianParticle ()=delete
 
void operator= (const vtkLagrangianParticle &)=delete
 

Protected Attributes

std::vector< double > PrevEquationVariables
 
double * PrevVelocity
 
double * PrevUserVariables
 
std::vector< double > EquationVariables
 
double * Velocity
 
double * UserVariables
 
std::vector< double > NextEquationVariables
 
double * NextVelocity
 
double * NextUserVariables
 
std::vector< double > PrevTrackedUserData
 
std::vector< double > TrackedUserData
 
std::vector< double > NextTrackedUserData
 
void * TemporaryUserData = nullptr
 
vtkIdType Id
 
vtkIdType ParentId
 
vtkIdType SeedId
 
vtkIdType SeedArrayTupleIndex
 
vtkIdType NumberOfSteps
 
vtkPointDataSeedData
 
vtkAbstractCellLocatorLastLocator
 
vtkDataSetLastDataSet
 
vtkIdType LastCellId
 
int WeightsSize
 
std::vector< double > LastWeights
 
double StepTime
 
double IntegrationTime
 
double PrevIntegrationTime
 
int Termination
 
int Interaction
 
int UserFlag
 
vtkDataSetLastSurfaceDataSet
 
vtkIdType LastSurfaceCellId
 
int NumberOfVariables
 
bool PInsertPreviousPosition
 
bool PManualShift
 

Detailed Description

Basis class for Lagrangian particles.

Particle to inject and integrate in the vtkLagrangianParticleTracker. This class does NOT inherit from vtkObject in order to increase performance and reduce memory usage.

See also
vtkLagrangianParticleTracker vtkLagrangianBasicIntegrationModel vtkLagrangianMatidaIntegrationModel

Definition at line 41 of file vtkLagrangianParticle.h.

Member Typedef Documentation

◆ ParticleTermination

An enum to inform about a reason for termination PARTICLE_TERMINATION_NOT_TERMINATED = 0, means the particle have not yet been terminated PARTICLE_TERMINATION_SURF_TERMINATED = 1, means the particle have been terminated during a surface interaction PARTICLE_TERMINATION_FLIGHT_TERMINATED = 2, means the particle have been terminated by the model during a FreeFlightCheck() call PARTICLE_TERMINATION_SURF_BREAK = 3, means the particle have been terminated during a surface interaction by a break, meaning new particles have been created from it.

PARTICLE_TERMINATION_OUT_OF_DOMAIN = 4, means the particle was terminated when going out of domain, if the surface is watertight this should not happen. PARTICLE_TERMINATION_OUT_OF_STEPS = 5, means the particle was terminated because maximum number of steps was reached PARTICLE_TERMINATION_OUT_OF_TIME = 6, means the particle was terminated because maximum integration time was reached

◆ SurfaceInteraction

An enum to inform about a surface interaction SURFACE_INTERACTION_NO_INTERACTION = 0, no interaction have taken place SURFACE_INTERACTION_TERMINATED = 1, a particle was terminated on interaction SURFACE_INTERACTION_BREAK = 2, a particle broke on interaction, hence terminating it and creating new particles from it SURFACE_INTERACTION_BOUNCE = 3, a particle bounced on interaction SURFACE_INTERACTION_PASS = 4, a particle passed through the surface, hence having no effect on the particle but actually recording it going through SURFACE_INTERACTION_OTHER = 5, another type of undefined interaction happened.

Member Enumeration Documentation

◆ ParticleTermination

An enum to inform about a reason for termination PARTICLE_TERMINATION_NOT_TERMINATED = 0, means the particle have not yet been terminated PARTICLE_TERMINATION_SURF_TERMINATED = 1, means the particle have been terminated during a surface interaction PARTICLE_TERMINATION_FLIGHT_TERMINATED = 2, means the particle have been terminated by the model during a FreeFlightCheck() call PARTICLE_TERMINATION_SURF_BREAK = 3, means the particle have been terminated during a surface interaction by a break, meaning new particles have been created from it.

PARTICLE_TERMINATION_OUT_OF_DOMAIN = 4, means the particle was terminated when going out of domain, if the surface is watertight this should not happen. PARTICLE_TERMINATION_OUT_OF_STEPS = 5, means the particle was terminated because maximum number of steps was reached PARTICLE_TERMINATION_OUT_OF_TIME = 6, means the particle was terminated because maximum integration time was reached

Enumerator
PARTICLE_TERMINATION_NOT_TERMINATED 
PARTICLE_TERMINATION_SURF_TERMINATED 
PARTICLE_TERMINATION_FLIGHT_TERMINATED 
PARTICLE_TERMINATION_SURF_BREAK 
PARTICLE_TERMINATION_OUT_OF_DOMAIN 
PARTICLE_TERMINATION_OUT_OF_STEPS 
PARTICLE_TERMINATION_OUT_OF_TIME 

Definition at line 60 of file vtkLagrangianParticle.h.

◆ SurfaceInteraction

An enum to inform about a surface interaction SURFACE_INTERACTION_NO_INTERACTION = 0, no interaction have taken place SURFACE_INTERACTION_TERMINATED = 1, a particle was terminated on interaction SURFACE_INTERACTION_BREAK = 2, a particle broke on interaction, hence terminating it and creating new particles from it SURFACE_INTERACTION_BOUNCE = 3, a particle bounced on interaction SURFACE_INTERACTION_PASS = 4, a particle passed through the surface, hence having no effect on the particle but actually recording it going through SURFACE_INTERACTION_OTHER = 5, another type of undefined interaction happened.

Enumerator
SURFACE_INTERACTION_NO_INTERACTION 
SURFACE_INTERACTION_TERMINATED 
SURFACE_INTERACTION_BREAK 
SURFACE_INTERACTION_BOUNCE 
SURFACE_INTERACTION_PASS 
SURFACE_INTERACTION_OTHER 

Definition at line 82 of file vtkLagrangianParticle.h.

Constructor & Destructor Documentation

◆ vtkLagrangianParticle() [1/3]

vtkLagrangianParticle::vtkLagrangianParticle ( int  numberOfVariables,
vtkIdType  seedId,
vtkIdType  particleId,
vtkIdType  seedArrayTupleIndex,
double  integrationTime,
vtkPointData seedData,
int  weightsSize,
int  numberOfTrackedUserData 
)

Constructor to create a particle from a seed.

numberOfVariable correspond to the result of vtkLagrangianBasicIntegrationModel::GetNumberOfIndependantVariable() and defines the size of the allocated memory for equation variables. seedId is the index of the seed used to generate the particle seedArrayTupleIndex is the index of the tuple to use to recover associated seed data particle data is a pointer to the pointData associated to all particles.

◆ ~vtkLagrangianParticle()

virtual vtkLagrangianParticle::~vtkLagrangianParticle ( )
virtualdefault

Destructor.

◆ vtkLagrangianParticle() [2/3]

vtkLagrangianParticle::vtkLagrangianParticle ( const vtkLagrangianParticle )
protecteddelete

◆ vtkLagrangianParticle() [3/3]

vtkLagrangianParticle::vtkLagrangianParticle ( )
protecteddelete

Member Function Documentation

◆ NewInstance() [1/2]

static vtkLagrangianParticle* vtkLagrangianParticle::NewInstance ( int  numberOfVariables,
vtkIdType  seedId,
vtkIdType  particleId,
vtkIdType  seedArrayTupleIndex,
double  integrationTime,
vtkPointData seedData,
int  weightsSize,
int  numberOfTrackedUserData,
vtkIdType  numberOfSteps,
double  previousIntegrationTime 
)
static

Constructor wrapper to create a partially integrated particle in the domain.

It uses the constructor while setting NumberOfSteps and PreviousIntegrationTime

◆ NewParticle()

vtkLagrangianParticle* vtkLagrangianParticle::NewParticle ( vtkIdType  particleId)

method to create a particle from a parent particle.

This method should not be used until all particles from seeds have been created. Copy all data from the parentParticle into the particle but take a step to move the particle one step further than the parent

◆ CloneParticle()

vtkLagrangianParticle* vtkLagrangianParticle::CloneParticle ( )

method to create an exact clone of a particle.

◆ GetPrevEquationVariables()

double* vtkLagrangianParticle::GetPrevEquationVariables ( )
inline

Get a pointer to Particle variables at its previous position See GetEquationVariables for content description.

Definition at line 137 of file vtkLagrangianParticle.h.

◆ GetEquationVariables()

double* vtkLagrangianParticle::GetEquationVariables ( )
inline

Get a pointer to the particle variables array.

To be used with vtkInitialValueProblemSolver::ComputeNextStep. returned pointer contains the following: x y z u v w k0 .. kn t x y z is the position of the particle u v w is the velocity of the particle k0 .. kn are user variables t is the time, always the last variables. the number of user variables can be recovered by GetNumberOfUserVariables, but it is always NumberOfVariables - 7.

Definition at line 153 of file vtkLagrangianParticle.h.

◆ GetNextEquationVariables()

double* vtkLagrangianParticle::GetNextEquationVariables ( )
inline

Get a pointer to the particle variables array at its next position.

To be used with vtkInitialValueProblemSolver::ComputeNextStep. See GetEquationVariables for content description

Definition at line 162 of file vtkLagrangianParticle.h.

◆ GetPrevPosition()

double* vtkLagrangianParticle::GetPrevPosition ( )
inline

Get a pointer to the previous particle position.

Convenience method, giving the same results as GetPrevEquationVariables().

Definition at line 171 of file vtkLagrangianParticle.h.

◆ GetPosition()

double* vtkLagrangianParticle::GetPosition ( )
inline

Get a pointer to the particle position.

Convenience method, giving the same results as GetEquationVariables().

Definition at line 180 of file vtkLagrangianParticle.h.

◆ GetNextPosition()

double* vtkLagrangianParticle::GetNextPosition ( )
inline

Get a pointer to the next particle position.

Convenience method, giving the same results as GetNextEquationVariables();

Definition at line 189 of file vtkLagrangianParticle.h.

◆ GetPrevVelocity()

double* vtkLagrangianParticle::GetPrevVelocity ( )
inline

Get a pointer to the previous particle velocity.

Convenience method, giving the result: GetPrevEquationVariables() + 3;

Definition at line 198 of file vtkLagrangianParticle.h.

◆ GetVelocity()

double* vtkLagrangianParticle::GetVelocity ( )
inline

Get a pointer to the particle velocity.

Convenience method, giving the result: GetEquationVariables() + 3;

Definition at line 207 of file vtkLagrangianParticle.h.

◆ GetNextVelocity()

double* vtkLagrangianParticle::GetNextVelocity ( )
inline

Get a pointer to the next particle velocity.

Convenience method, giving the result: GetNextEquationVariables() + 3;

Definition at line 216 of file vtkLagrangianParticle.h.

◆ GetPrevUserVariables()

double* vtkLagrangianParticle::GetPrevUserVariables ( )
inline

Get a pointer to the previous user variables.

Convenience method, giving the result: GetPrevEquationVariables() + 6;

Definition at line 225 of file vtkLagrangianParticle.h.

◆ GetUserVariables()

double* vtkLagrangianParticle::GetUserVariables ( )
inline

Get a pointer to the user variables.

Convenience method, giving the result: GetEquationVariables() + 6;

Definition at line 234 of file vtkLagrangianParticle.h.

◆ GetNextUserVariables()

double* vtkLagrangianParticle::GetNextUserVariables ( )
inline

Get a pointer to the next user variables.

Convenience method, giving the result: GetNextEquationVariables() + 6;

Definition at line 243 of file vtkLagrangianParticle.h.

◆ GetPrevTrackedUserData()

std::vector<double>& vtkLagrangianParticle::GetPrevTrackedUserData ( )
inline

Get a reference to PrevTrackedUserData See GetTrackedUserData for an explanation on how to use it.

Definition at line 251 of file vtkLagrangianParticle.h.

◆ GetTrackedUserData()

std::vector<double>& vtkLagrangianParticle::GetTrackedUserData ( )
inline

Get a reference to TrackedUserData.

The tracked user data is a vector of double associated with each position of the particle, but it is not integrated contrary to the UserVariables and EquationVariables. It is, however, automatically tracked from one position to the next, copied when creating new particles with NewInstance and CloneParticle and transferred from one node to the next when particles move from one domain to the another in parallel. If you are using these, you are supposed to compute and set the next tracked user data your implementation of FunctionValues in your model.

Definition at line 265 of file vtkLagrangianParticle.h.

◆ GetNextTrackedUserData()

std::vector<double>& vtkLagrangianParticle::GetNextTrackedUserData ( )
inline

Get a reference to NextTrackedUserData See GetTrackedUserData for an explanation on how to use it.

Definition at line 273 of file vtkLagrangianParticle.h.

◆ GetTemporaryUserData()

void* vtkLagrangianParticle::GetTemporaryUserData ( )
inline

Get/Set a pointer to TemporaryUserData This data is not tracked and not transferred nor copied This can be used to store any kind of data, structure, class instance that you may need.

Be cautious if the pointer is shared as particle integration can be multithreaded.

Definition at line 283 of file vtkLagrangianParticle.h.

◆ SetTemporaryUserData()

void vtkLagrangianParticle::SetTemporaryUserData ( void *  tempUserData)
inline

Definition at line 284 of file vtkLagrangianParticle.h.

◆ MoveToNextPosition()

virtual void vtkLagrangianParticle::MoveToNextPosition ( )
virtual

Move the particle to its next position by putting next equation variable to equation variable and clearing next equation variable.

Be sure to have set the StepTime first for accurate IntegrationTime computation

◆ GetId()

virtual vtkIdType vtkLagrangianParticle::GetId ( )
virtual

Get particle id.

◆ SetParentId()

virtual void vtkLagrangianParticle::SetParentId ( vtkIdType  parentId)
virtual

Set/Get parent particle id.

Allow to find the seed particle of any particle.

◆ GetParentId()

virtual vtkIdType vtkLagrangianParticle::GetParentId ( )
virtual

◆ GetSeedId()

virtual vtkIdType vtkLagrangianParticle::GetSeedId ( )
virtual

Get the particle original seed index in the seed dataset.

Allows to track a specific seed along the tracks.

◆ GetSeedArrayTupleIndex()

virtual vtkIdType vtkLagrangianParticle::GetSeedArrayTupleIndex ( )
virtual

Get the particle data tuple in a seed array.

To be used on the output of vtkLagrangianBasicIntegrationModel::GetSeedArray

◆ GetNumberOfVariables()

virtual int vtkLagrangianParticle::GetNumberOfVariables ( )
virtual

Get the number of variables used to initialize EquationVariables.

◆ GetNumberOfUserVariables()

virtual int vtkLagrangianParticle::GetNumberOfUserVariables ( )
virtual

Get the number of variables specific to the user.

◆ GetSeedData()

virtual vtkPointData* vtkLagrangianParticle::GetSeedData ( )
virtual

Get the particle data.

◆ GetLastWeights()

double* vtkLagrangianParticle::GetLastWeights ( )

Get the last weights computed when locating the particle in the last traversed cell.

◆ GetLastCellId()

vtkIdType vtkLagrangianParticle::GetLastCellId ( )

Get the last traversed cell id.

◆ GetLastDataSet()

vtkDataSet* vtkLagrangianParticle::GetLastDataSet ( )

Get the dataset containing the last traversed cell.

◆ GetLastLocator()

vtkAbstractCellLocator* vtkLagrangianParticle::GetLastLocator ( )

Get the locator used to find the last traversed cell.

◆ GetLastSurfaceCellId()

vtkIdType vtkLagrangianParticle::GetLastSurfaceCellId ( )

Get the last intersected surface cell id.

◆ GetLastSurfaceDataSet()

vtkDataSet* vtkLagrangianParticle::GetLastSurfaceDataSet ( )

Get the dataset containing the last intersected surface cell.

◆ SetLastCell()

void vtkLagrangianParticle::SetLastCell ( vtkAbstractCellLocator locator,
vtkDataSet dataset,
vtkIdType  cellId 
)

Set the last dataset and last cell id.

◆ SetLastSurfaceCell()

void vtkLagrangianParticle::SetLastSurfaceCell ( vtkDataSet dataset,
vtkIdType  cellId 
)

Set the last surface dataset and last surface cell id.

◆ GetNumberOfSteps()

virtual vtkIdType vtkLagrangianParticle::GetNumberOfSteps ( )
virtual

Get particle current number of steps.

◆ SetTermination()

virtual void vtkLagrangianParticle::SetTermination ( int  termination)
virtual

Set/Get particle termination.

Values out of enum range are accepted Values < 100 are system reserved and should not be used

◆ GetTermination()

virtual int vtkLagrangianParticle::GetTermination ( )
virtual

◆ SetInteraction()

virtual void vtkLagrangianParticle::SetInteraction ( int  interaction)
virtual

Set/Get particle interaction.

Values out of enum range are accepted Values < 100 are system reserved and should not be used

◆ GetInteraction()

virtual int vtkLagrangianParticle::GetInteraction ( )
virtual

◆ SetUserFlag()

virtual void vtkLagrangianParticle::SetUserFlag ( int  flag)
virtual

Set/Get user flag.

◆ GetUserFlag()

virtual int vtkLagrangianParticle::GetUserFlag ( )
virtual

◆ SetPInsertPreviousPosition()

virtual void vtkLagrangianParticle::SetPInsertPreviousPosition ( bool  val)
virtual

Set/Get parallel specific flag, indication to insert or not the previous position after streaming.

No effect in serial.

◆ GetPInsertPreviousPosition()

virtual bool vtkLagrangianParticle::GetPInsertPreviousPosition ( )
virtual

◆ SetPManualShift()

virtual void vtkLagrangianParticle::SetPManualShift ( bool  val)
virtual

Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming.

No effect in serial.

◆ GetPManualShift()

virtual bool vtkLagrangianParticle::GetPManualShift ( )
virtual

◆ GetStepTimeRef()

virtual double& vtkLagrangianParticle::GetStepTimeRef ( )
virtual

Get reference to step time of this particle.

◆ GetIntegrationTime()

virtual double vtkLagrangianParticle::GetIntegrationTime ( )
virtual

Get the integration time.

◆ GetPrevIntegrationTime()

virtual double vtkLagrangianParticle::GetPrevIntegrationTime ( )
virtual

Get the integration time at previous position.

◆ SetIntegrationTime()

virtual void vtkLagrangianParticle::SetIntegrationTime ( double  time)
virtual

Convenience setter for integration time, do not use unless manual particle shifting One using this method may want to consider modifying EquationVariable[numVals] which contain integrationTime as well, if it matters in their model.

◆ GetPositionVectorMagnitude()

double vtkLagrangianParticle::GetPositionVectorMagnitude ( )

Compute and return the position vector magnitude.

◆ PrintSelf()

virtual void vtkLagrangianParticle::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Print information about the particle.

◆ NewInstance() [2/2]

vtkLagrangianParticle* vtkLagrangianParticle::NewInstance ( int  numberOfVariables,
vtkIdType  seedId,
vtkIdType  particleId,
vtkIdType  seedArrayTupleIndex,
double  integrationTime,
vtkPointData seedData,
int  weightsSize,
int  numberOfTrackedUserData 
)
protected

Constructor wrapper for internal convenience.

◆ operator=()

void vtkLagrangianParticle::operator= ( const vtkLagrangianParticle )
protecteddelete

Member Data Documentation

◆ PrevEquationVariables

std::vector<double> vtkLagrangianParticle::PrevEquationVariables
protected

Definition at line 478 of file vtkLagrangianParticle.h.

◆ PrevVelocity

double* vtkLagrangianParticle::PrevVelocity
protected

Definition at line 479 of file vtkLagrangianParticle.h.

◆ PrevUserVariables

double* vtkLagrangianParticle::PrevUserVariables
protected

Definition at line 480 of file vtkLagrangianParticle.h.

◆ EquationVariables

std::vector<double> vtkLagrangianParticle::EquationVariables
protected

Definition at line 482 of file vtkLagrangianParticle.h.

◆ Velocity

double* vtkLagrangianParticle::Velocity
protected

Definition at line 483 of file vtkLagrangianParticle.h.

◆ UserVariables

double* vtkLagrangianParticle::UserVariables
protected

Definition at line 484 of file vtkLagrangianParticle.h.

◆ NextEquationVariables

std::vector<double> vtkLagrangianParticle::NextEquationVariables
protected

Definition at line 486 of file vtkLagrangianParticle.h.

◆ NextVelocity

double* vtkLagrangianParticle::NextVelocity
protected

Definition at line 487 of file vtkLagrangianParticle.h.

◆ NextUserVariables

double* vtkLagrangianParticle::NextUserVariables
protected

Definition at line 488 of file vtkLagrangianParticle.h.

◆ PrevTrackedUserData

std::vector<double> vtkLagrangianParticle::PrevTrackedUserData
protected

Definition at line 490 of file vtkLagrangianParticle.h.

◆ TrackedUserData

std::vector<double> vtkLagrangianParticle::TrackedUserData
protected

Definition at line 491 of file vtkLagrangianParticle.h.

◆ NextTrackedUserData

std::vector<double> vtkLagrangianParticle::NextTrackedUserData
protected

Definition at line 492 of file vtkLagrangianParticle.h.

◆ TemporaryUserData

void* vtkLagrangianParticle::TemporaryUserData = nullptr
protected

Definition at line 494 of file vtkLagrangianParticle.h.

◆ Id

vtkIdType vtkLagrangianParticle::Id
protected

Definition at line 496 of file vtkLagrangianParticle.h.

◆ ParentId

vtkIdType vtkLagrangianParticle::ParentId
protected

Definition at line 497 of file vtkLagrangianParticle.h.

◆ SeedId

vtkIdType vtkLagrangianParticle::SeedId
protected

Definition at line 498 of file vtkLagrangianParticle.h.

◆ SeedArrayTupleIndex

vtkIdType vtkLagrangianParticle::SeedArrayTupleIndex
protected

Definition at line 499 of file vtkLagrangianParticle.h.

◆ NumberOfSteps

vtkIdType vtkLagrangianParticle::NumberOfSteps
protected

Definition at line 500 of file vtkLagrangianParticle.h.

◆ SeedData

vtkPointData* vtkLagrangianParticle::SeedData
protected

Definition at line 501 of file vtkLagrangianParticle.h.

◆ LastLocator

vtkAbstractCellLocator* vtkLagrangianParticle::LastLocator
protected

Definition at line 503 of file vtkLagrangianParticle.h.

◆ LastDataSet

vtkDataSet* vtkLagrangianParticle::LastDataSet
protected

Definition at line 504 of file vtkLagrangianParticle.h.

◆ LastCellId

vtkIdType vtkLagrangianParticle::LastCellId
protected

Definition at line 505 of file vtkLagrangianParticle.h.

◆ WeightsSize

int vtkLagrangianParticle::WeightsSize
protected

Definition at line 506 of file vtkLagrangianParticle.h.

◆ LastWeights

std::vector<double> vtkLagrangianParticle::LastWeights
protected

Definition at line 507 of file vtkLagrangianParticle.h.

◆ StepTime

double vtkLagrangianParticle::StepTime
protected

Definition at line 509 of file vtkLagrangianParticle.h.

◆ IntegrationTime

double vtkLagrangianParticle::IntegrationTime
protected

Definition at line 510 of file vtkLagrangianParticle.h.

◆ PrevIntegrationTime

double vtkLagrangianParticle::PrevIntegrationTime
protected

Definition at line 511 of file vtkLagrangianParticle.h.

◆ Termination

int vtkLagrangianParticle::Termination
protected

Definition at line 512 of file vtkLagrangianParticle.h.

◆ Interaction

int vtkLagrangianParticle::Interaction
protected

Definition at line 513 of file vtkLagrangianParticle.h.

◆ UserFlag

int vtkLagrangianParticle::UserFlag
protected

Definition at line 514 of file vtkLagrangianParticle.h.

◆ LastSurfaceDataSet

vtkDataSet* vtkLagrangianParticle::LastSurfaceDataSet
protected

Definition at line 515 of file vtkLagrangianParticle.h.

◆ LastSurfaceCellId

vtkIdType vtkLagrangianParticle::LastSurfaceCellId
protected

Definition at line 516 of file vtkLagrangianParticle.h.

◆ NumberOfVariables

int vtkLagrangianParticle::NumberOfVariables
protected

Definition at line 517 of file vtkLagrangianParticle.h.

◆ PInsertPreviousPosition

bool vtkLagrangianParticle::PInsertPreviousPosition
protected

Definition at line 520 of file vtkLagrangianParticle.h.

◆ PManualShift

bool vtkLagrangianParticle::PManualShift
protected

Definition at line 521 of file vtkLagrangianParticle.h.


The documentation for this class was generated from the following file: