VTK  9.3.20240425
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 , PARTICLE_TERMINATION_TRANSFERRED ,
  PARTICLE_TERMINATION_ABORTED
}
 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.
 
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.
 

Public Member Functions

 vtkLagrangianParticle (int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData, int numberOfTrackedUserData)
 Constructor to create a particle from a seed.
 
vtkLagrangianParticleNewParticle (vtkIdType particleId)
 method to create a particle from a parent particle.
 
vtkLagrangianParticleCloneParticle ()
 method to create an exact clone of a particle.
 
virtual ~vtkLagrangianParticle ()
 Destructor.
 
virtual void MoveToNextPosition ()
 Move the particle to its next position by putting next equation variable to equation variable and clearing next equation variable.
 
virtual vtkIdType GetId ()
 Get particle id.
 
virtual vtkIdType GetSeedId ()
 Get the particle original seed index in the seed dataset.
 
virtual int GetNumberOfVariables ()
 Get the number of variables used to initialize EquationVariables.
 
virtual int GetNumberOfUserVariables ()
 Get the number of variables specific to the user.
 
virtual vtkPointDataGetSeedData ()
 Get the particle seed data, for reading only.
 
virtual vtkIdType GetSeedArrayTupleIndex () const
 Get the index of the tuple for this particle in the point data returned by GetSeedData method.
 
vtkIdType GetLastSurfaceCellId ()
 Get the last intersected surface cell id.
 
vtkDataSetGetLastSurfaceDataSet ()
 Get the dataset containing the last intersected surface cell.
 
void SetLastSurfaceCell (vtkDataSet *dataset, vtkIdType cellId)
 Set the last surface dataset and last surface cell id.
 
virtual vtkIdType GetNumberOfSteps ()
 Get particle current number of steps.
 
virtual double & GetStepTimeRef ()
 Get reference to step time of this particle.
 
virtual double GetIntegrationTime ()
 Get the integration time.
 
virtual double GetPrevIntegrationTime ()
 Get the integration time at previous position.
 
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.
 
double GetPositionVectorMagnitude ()
 Compute and return the position vector magnitude.
 
virtual void PrintSelf (ostream &os, vtkIndent indent)
 Print information about the particle.
 
double * GetPrevEquationVariables ()
 Get a pointer to Particle variables at its previous position See GetEquationVariables for content description.
 
double * GetEquationVariables ()
 Get a pointer to the particle variables array.
 
double * GetNextEquationVariables ()
 Get a pointer to the particle variables array at its next position.
 
double * GetPrevPosition ()
 Get a pointer to the previous particle position.
 
double * GetPosition ()
 Get a pointer to the particle position.
 
double * GetNextPosition ()
 Get a pointer to the next particle position.
 
double * GetPrevVelocity ()
 Get a pointer to the previous particle velocity.
 
double * GetVelocity ()
 Get a pointer to the particle velocity.
 
double * GetNextVelocity ()
 Get a pointer to the next particle velocity.
 
double * GetPrevUserVariables ()
 Get a pointer to the previous user variables.
 
double * GetUserVariables ()
 Get a pointer to the user variables.
 
double * GetNextUserVariables ()
 Get a pointer to the next user variables.
 
std::vector< double > & GetPrevTrackedUserData ()
 Get a reference to PrevTrackedUserData See GetTrackedUserData for an explanation on how to use it.
 
std::vector< double > & GetTrackedUserData ()
 Get a reference to TrackedUserData.
 
std::vector< double > & GetNextTrackedUserData ()
 Get a reference to NextTrackedUserData See GetTrackedUserData for an explanation on how to use it.
 
vtkLagrangianThreadedDataGetThreadedData ()
 Get/Set a pointer to a vtkLagrangianThreadedData that is considered to be local to the thread.
 
void SetThreadedData (vtkLagrangianThreadedData *threadedData)
 Get/Set a pointer to a vtkLagrangianThreadedData that is considered to be local to the thread.
 
virtual void SetParentId (vtkIdType parentId)
 Set/Get parent particle id.
 
virtual vtkIdType GetParentId ()
 Set/Get parent particle id.
 
virtual void SetTermination (int termination)
 Set/Get particle termination.
 
virtual int GetTermination ()
 Set/Get particle termination.
 
virtual void SetInteraction (int interaction)
 Set/Get particle interaction.
 
virtual int GetInteraction ()
 Set/Get particle interaction.
 
virtual void SetUserFlag (int flag)
 Set/Get user flag.
 
virtual int GetUserFlag ()
 Set/Get user flag.
 
virtual void SetPInsertPreviousPosition (bool val)
 Set/Get parallel specific flag, indication to insert or not the previous position after streaming.
 
virtual bool GetPInsertPreviousPosition ()
 Set/Get parallel specific flag, indication to insert or not the previous position after streaming.
 
virtual void SetPManualShift (bool val)
 Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming.
 
virtual bool GetPManualShift ()
 Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming.
 

Static Public Member Functions

static vtkLagrangianParticleNewInstance (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.
 

Protected Member Functions

 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
 
vtkLagrangianThreadedDataThreadedData = nullptr
 
vtkIdType Id
 
vtkIdType ParentId
 
vtkIdType SeedId
 
vtkIdType NumberOfSteps
 
vtkIdType SeedArrayTupleIndex
 
vtkPointDataSeedData
 
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
Tests:
vtkLagrangianParticle (Tests)

Definition at line 38 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 PARTICLE_TERMINATION_TRANSFERRED = 7, means the particle was terminated because it was transferred to another process to continue the integration

◆ 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 PARTICLE_TERMINATION_TRANSFERRED = 7, means the particle was terminated because it was transferred to another process to continue the integration

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 
PARTICLE_TERMINATION_TRANSFERRED 
PARTICLE_TERMINATION_ABORTED 

Definition at line 59 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 83 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  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 ( )
virtual

Destructor.

◆ vtkLagrangianParticle() [2/3]

vtkLagrangianParticle::vtkLagrangianParticle ( const vtkLagrangianParticle )
protecteddelete

◆ vtkLagrangianParticle() [3/3]

vtkLagrangianParticle::vtkLagrangianParticle ( )
protecteddelete

Member Function Documentation

◆ NewInstance()

static vtkLagrangianParticle * vtkLagrangianParticle::NewInstance ( int  numberOfVariables,
vtkIdType  seedId,
vtkIdType  particleId,
vtkIdType  seedArrayTupleIndex,
double  integrationTime,
vtkPointData seedData,
int  numberOfTrackedUserData,
vtkIdType  numberOfSteps = 0,
double  previousIntegrationTime = 0 
)
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 138 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 154 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 163 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 172 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 181 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 190 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 199 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 208 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 217 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 226 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 235 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 244 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 252 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 266 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 274 of file vtkLagrangianParticle.h.

◆ GetThreadedData()

vtkLagrangianThreadedData * vtkLagrangianParticle::GetThreadedData ( )
inline

Get/Set a pointer to a vtkLagrangianThreadedData that is considered to be local to the thread.

This structure contains multiple objects to be used by the tracker and the model, it also contains a user data that can be used to store any kind of data, structure, class instance that you may need. This is set by the vtkLagrangianParticleTracker and can be initialized/finalized in the model

Definition at line 285 of file vtkLagrangianParticle.h.

◆ SetThreadedData()

void vtkLagrangianParticle::SetThreadedData ( vtkLagrangianThreadedData threadedData)
inline

Get/Set a pointer to a vtkLagrangianThreadedData that is considered to be local to the thread.

This structure contains multiple objects to be used by the tracker and the model, it also contains a user data that can be used to store any kind of data, structure, class instance that you may need. This is set by the vtkLagrangianParticleTracker and can be initialized/finalized in the model

Definition at line 286 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

Set/Get parent particle id.

Allow to find the seed particle of any particle.

◆ 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.

◆ 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 seed data, for reading only.

◆ GetSeedArrayTupleIndex()

virtual vtkIdType vtkLagrangianParticle::GetSeedArrayTupleIndex ( ) const
virtual

Get the index of the tuple for this particle in the point data returned by GetSeedData method.

◆ GetLastSurfaceCellId()

vtkIdType vtkLagrangianParticle::GetLastSurfaceCellId ( )

Get the last intersected surface cell id.

◆ GetLastSurfaceDataSet()

vtkDataSet * vtkLagrangianParticle::GetLastSurfaceDataSet ( )

Get the dataset containing the last intersected surface cell.

◆ 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

Set/Get particle termination.

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

◆ 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

Set/Get particle interaction.

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

◆ SetUserFlag()

virtual void vtkLagrangianParticle::SetUserFlag ( int  flag)
virtual

Set/Get user flag.

◆ GetUserFlag()

virtual int vtkLagrangianParticle::GetUserFlag ( )
virtual

Set/Get user flag.

◆ 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

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

No effect in serial.

◆ 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

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

No effect in serial.

◆ 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.

◆ operator=()

void vtkLagrangianParticle::operator= ( const vtkLagrangianParticle )
protecteddelete

Member Data Documentation

◆ PrevEquationVariables

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

Definition at line 449 of file vtkLagrangianParticle.h.

◆ PrevVelocity

double* vtkLagrangianParticle::PrevVelocity
protected

Definition at line 450 of file vtkLagrangianParticle.h.

◆ PrevUserVariables

double* vtkLagrangianParticle::PrevUserVariables
protected

Definition at line 451 of file vtkLagrangianParticle.h.

◆ EquationVariables

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

Definition at line 453 of file vtkLagrangianParticle.h.

◆ Velocity

double* vtkLagrangianParticle::Velocity
protected

Definition at line 454 of file vtkLagrangianParticle.h.

◆ UserVariables

double* vtkLagrangianParticle::UserVariables
protected

Definition at line 455 of file vtkLagrangianParticle.h.

◆ NextEquationVariables

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

Definition at line 457 of file vtkLagrangianParticle.h.

◆ NextVelocity

double* vtkLagrangianParticle::NextVelocity
protected

Definition at line 458 of file vtkLagrangianParticle.h.

◆ NextUserVariables

double* vtkLagrangianParticle::NextUserVariables
protected

Definition at line 459 of file vtkLagrangianParticle.h.

◆ PrevTrackedUserData

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

Definition at line 461 of file vtkLagrangianParticle.h.

◆ TrackedUserData

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

Definition at line 462 of file vtkLagrangianParticle.h.

◆ NextTrackedUserData

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

Definition at line 463 of file vtkLagrangianParticle.h.

◆ ThreadedData

vtkLagrangianThreadedData* vtkLagrangianParticle::ThreadedData = nullptr
protected

Definition at line 465 of file vtkLagrangianParticle.h.

◆ Id

vtkIdType vtkLagrangianParticle::Id
protected

Definition at line 467 of file vtkLagrangianParticle.h.

◆ ParentId

vtkIdType vtkLagrangianParticle::ParentId
protected

Definition at line 468 of file vtkLagrangianParticle.h.

◆ SeedId

vtkIdType vtkLagrangianParticle::SeedId
protected

Definition at line 469 of file vtkLagrangianParticle.h.

◆ NumberOfSteps

vtkIdType vtkLagrangianParticle::NumberOfSteps
protected

Definition at line 470 of file vtkLagrangianParticle.h.

◆ SeedArrayTupleIndex

vtkIdType vtkLagrangianParticle::SeedArrayTupleIndex
protected

Definition at line 471 of file vtkLagrangianParticle.h.

◆ SeedData

vtkPointData* vtkLagrangianParticle::SeedData
protected

Definition at line 472 of file vtkLagrangianParticle.h.

◆ StepTime

double vtkLagrangianParticle::StepTime
protected

Definition at line 474 of file vtkLagrangianParticle.h.

◆ IntegrationTime

double vtkLagrangianParticle::IntegrationTime
protected

Definition at line 475 of file vtkLagrangianParticle.h.

◆ PrevIntegrationTime

double vtkLagrangianParticle::PrevIntegrationTime
protected

Definition at line 476 of file vtkLagrangianParticle.h.

◆ Termination

int vtkLagrangianParticle::Termination
protected

Definition at line 477 of file vtkLagrangianParticle.h.

◆ Interaction

int vtkLagrangianParticle::Interaction
protected

Definition at line 478 of file vtkLagrangianParticle.h.

◆ UserFlag

int vtkLagrangianParticle::UserFlag
protected

Definition at line 479 of file vtkLagrangianParticle.h.

◆ LastSurfaceDataSet

vtkDataSet* vtkLagrangianParticle::LastSurfaceDataSet
protected

Definition at line 480 of file vtkLagrangianParticle.h.

◆ LastSurfaceCellId

vtkIdType vtkLagrangianParticle::LastSurfaceCellId
protected

Definition at line 481 of file vtkLagrangianParticle.h.

◆ NumberOfVariables

int vtkLagrangianParticle::NumberOfVariables
protected

Definition at line 482 of file vtkLagrangianParticle.h.

◆ PInsertPreviousPosition

bool vtkLagrangianParticle::PInsertPreviousPosition
protected

Definition at line 485 of file vtkLagrangianParticle.h.

◆ PManualShift

bool vtkLagrangianParticle::PManualShift
protected

Definition at line 486 of file vtkLagrangianParticle.h.


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