VTK
|
Basis class for Lagrangian particles. More...
#include <vtkLagrangianParticle.h>
Public Member Functions | |
vtkLagrangianParticle (int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData) | |
Constructor to create a particle from a seed. More... | |
vtkLagrangianParticle * | NewParticle (vtkIdType particleId) |
method to create a particle from a parent particle. More... | |
vtkLagrangianParticle * | CloneParticle () |
method to create an exact clone of a particle. More... | |
virtual | ~vtkLagrangianParticle () |
Destructor. More... | |
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 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 vtkPointData * | GetSeedData () |
Get the particle data. More... | |
vtkIdType | GetLastCellId () |
Get the last traversed cell id. More... | |
vtkDataSet * | GetLastDataSet () |
Get the dataset containing the last traversed cell. More... | |
vtkIdType | GetLastSurfaceCellId () |
Get the last intersected surface cell id. More... | |
vtkDataSet * | GetLastSurfaceDataSet () |
Get the dataset containing the last intersected surface cell. More... | |
void | SetLastCell (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 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) |
Convienience setter for integration time, do not use unless manual particle shifting One using this method may want ot consider modifing 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... | |
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... | |
virtual void | SetParentId (vtkIdType parentId) |
Set/Get parent particle id. More... | |
virtual vtkIdType | GetParentId () |
Set/Get parent particle id. More... | |
virtual void | SetTermination (int termination) |
Set/Get particle termination. More... | |
virtual int | GetTermination () |
Set/Get particle termination. More... | |
virtual void | SetInteraction (int interaction) |
Set/Get particle interaction. More... | |
virtual int | GetInteraction () |
Set/Get particle interaction. More... | |
virtual void | SetUserFlag (int flag) |
Set/Get user flag. More... | |
virtual int | GetUserFlag () |
Set/Get user flag. More... | |
virtual void | SetPInsertPreviousPosition (bool val) |
Set/Get parallel specific flag, indication to insert or not the previous position after streaming. More... | |
virtual bool | GetPInsertPreviousPosition () |
Set/Get parallel specific flag, indication to insert or not the previous position after streaming. More... | |
virtual void | SetPManualShift (bool val) |
Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming. More... | |
virtual bool | GetPManualShift () |
Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming. More... | |
Static Public Member Functions | |
static vtkLagrangianParticle * | NewInstance (int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData, vtkIdType numberOfSteps, double previousIntegrationTime) |
Constructor wrapper to create a partially integrated particle in the domain. More... | |
Protected Member Functions | |
vtkLagrangianParticle * | NewInstance (int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData) |
Constructor wrapper for internal convenience. More... | |
vtkLagrangianParticle (const vtkLagrangianParticle &) | |
vtkLagrangianParticle () | |
void | operator= (const vtkLagrangianParticle &) |
Protected Attributes | |
double * | PrevEquationVariables |
double * | PrevVelocity |
double * | PrevUserVariables |
double * | EquationVariables |
double * | Velocity |
double * | UserVariables |
double * | NextEquationVariables |
double * | NextVelocity |
double * | NextUserVariables |
vtkIdType | Id |
vtkIdType | ParentId |
vtkIdType | SeedId |
vtkIdType | SeedArrayTupleIndex |
vtkIdType | NumberOfSteps |
vtkPointData * | SeedData |
vtkDataSet * | LastDataSet |
vtkIdType | LastCellId |
double | StepTime |
double | IntegrationTime |
double | PrevIntegrationTime |
int | Termination |
int | Interaction |
int | UserFlag |
vtkDataSet * | LastSurfaceDataSet |
vtkIdType | LastSurfaceCellId |
int | NumberOfVariables |
bool | PInsertPreviousPosition |
bool | PManualShift |
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.
Definition at line 38 of file vtkLagrangianParticle.h.
Definition at line 42 of file vtkLagrangianParticle.h.
Enumerator | |
---|---|
SURFACE_INTERACTION_NO_INTERACTION | |
SURFACE_INTERACTION_TERMINATED | |
SURFACE_INTERACTION_BREAK | |
SURFACE_INTERACTION_BOUNCE | |
SURFACE_INTERACTION_PASS | |
SURFACE_INTERACTION_OTHER |
Definition at line 52 of file vtkLagrangianParticle.h.
vtkLagrangianParticle::vtkLagrangianParticle | ( | int | numberOfVariables, |
vtkIdType | seedId, | ||
vtkIdType | particleId, | ||
vtkIdType | seedArrayTupleIndex, | ||
double | integrationTime, | ||
vtkPointData * | seedData | ||
) |
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.
|
virtual |
Destructor.
|
protected |
|
protected |
|
static |
Constructor wrapper to create a partially integrated particle in the domain.
It uses the constructor while setting NumberOfSteps and PreviousIntegrationTime
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
vtkLagrangianParticle* vtkLagrangianParticle::CloneParticle | ( | ) |
method to create an exact clone of a particle.
|
inline |
Get a pointer to Particle variables at its previous position See GetEquationVariables for content description.
Definition at line 105 of file vtkLagrangianParticle.h.
|
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 124 of file vtkLagrangianParticle.h.
|
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 136 of file vtkLagrangianParticle.h.
|
inline |
Get a pointer to the previous particle position.
Convenience method, giving the same results as GetPrevEquationVariables().
Definition at line 148 of file vtkLagrangianParticle.h.
|
inline |
Get a pointer to the particle position.
Convenience method, giving the same results as GetEquationVariables().
Definition at line 160 of file vtkLagrangianParticle.h.
|
inline |
Get a pointer to the next particle position.
Convenience method, giving the same results as GetNextEquationVariables();
Definition at line 172 of file vtkLagrangianParticle.h.
|
inline |
Get a pointer to the previous particle velocity.
Convenience method, giving the result: GetPrevEquationVariables() + 3;
Definition at line 184 of file vtkLagrangianParticle.h.
|
inline |
Get a pointer to the particle velocity.
Convenience method, giving the result: GetEquationVariables() + 3;
Definition at line 196 of file vtkLagrangianParticle.h.
|
inline |
Get a pointer to the next particle velocity.
Convenience method, giving the result: GetNextEquationVariables() + 3;
Definition at line 208 of file vtkLagrangianParticle.h.
|
inline |
Get a pointer to the previous user variables.
Convenience method, giving the result: GetPrevEquationVariables() + 6;
Definition at line 220 of file vtkLagrangianParticle.h.
|
inline |
Get a pointer to the user variables.
Convenience method, giving the result: GetEquationVariables() + 6;
Definition at line 232 of file vtkLagrangianParticle.h.
|
inline |
Get a pointer to the next user variables.
Convenience method, giving the result: GetNextEquationVariables() + 6;
Definition at line 244 of file vtkLagrangianParticle.h.
|
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
|
virtual |
Get particle id.
|
virtual |
Set/Get parent particle id.
Allow to find the seed particle of any particle.
|
virtual |
Set/Get parent particle id.
Allow to find the seed particle of any particle.
|
virtual |
Get the particle original seed index in the seed dataset.
Allows to track a specific seed along the tracks.
|
virtual |
Get the particle data tuple in a seed array.
To be used on the output of vtkLagrangianBasicIntegrationModel::GetSeedArray
|
virtual |
Get the number of variables used to initialize EquationVariables.
|
virtual |
Get the number of variables specific to the user.
|
virtual |
Get the particle data.
vtkIdType vtkLagrangianParticle::GetLastCellId | ( | ) |
Get the last traversed cell id.
vtkDataSet* vtkLagrangianParticle::GetLastDataSet | ( | ) |
Get the dataset containing the last traversed cell.
vtkIdType vtkLagrangianParticle::GetLastSurfaceCellId | ( | ) |
Get the last intersected surface cell id.
vtkDataSet* vtkLagrangianParticle::GetLastSurfaceDataSet | ( | ) |
Get the dataset containing the last intersected surface cell.
void vtkLagrangianParticle::SetLastCell | ( | vtkDataSet * | dataset, |
vtkIdType | cellId | ||
) |
Set the last dataset and last cell id.
void vtkLagrangianParticle::SetLastSurfaceCell | ( | vtkDataSet * | dataset, |
vtkIdType | cellId | ||
) |
Set the last surface dataset and last surface cell id.
|
virtual |
Get particle current number of steps.
|
virtual |
Set/Get particle termination.
Values out of enum range are accepted Values < 100 are system reserved and should not be used
|
virtual |
Set/Get particle termination.
Values out of enum range are accepted Values < 100 are system reserved and should not be used
|
virtual |
Set/Get particle interaction.
Values out of enum range are accepted Values < 100 are system reserved and should not be used
|
virtual |
Set/Get particle interaction.
Values out of enum range are accepted Values < 100 are system reserved and should not be used
|
virtual |
Set/Get user flag.
|
virtual |
Set/Get user flag.
|
virtual |
Set/Get parallel specific flag, indication to insert or not the previous position after streaming.
No effect in serial.
|
virtual |
Set/Get parallel specific flag, indication to insert or not the previous position after streaming.
No effect in serial.
|
virtual |
Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming.
No effect in serial.
|
virtual |
Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming.
No effect in serial.
|
virtual |
Get reference to step time of this particle.
|
virtual |
Get the integration time.
|
virtual |
Get the integration time at previous position.
|
virtual |
Convienience setter for integration time, do not use unless manual particle shifting One using this method may want ot consider modifing EquationVariable[numVals] which contain integrationTime as well, if it matters in their model.
double vtkLagrangianParticle::GetPositionVectorMagnitude | ( | ) |
Compute and return the position vector magnitude.
|
virtual |
Print information about the particle.
|
protected |
Constructor wrapper for internal convenience.
|
protected |
|
protected |
Definition at line 431 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 432 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 433 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 435 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 436 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 437 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 439 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 440 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 441 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 443 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 444 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 445 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 446 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 447 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 448 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 449 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 450 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 451 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 452 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 453 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 454 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 455 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 456 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 457 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 458 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 459 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 462 of file vtkLagrangianParticle.h.
|
protected |
Definition at line 463 of file vtkLagrangianParticle.h.