VTK
|
vtkFunctionSet abstract implementation to be used in the vtkLagrangianParticleTracker integrator. More...
#include <vtkLagrangianBasicIntegrationModel.h>
Classes | |
struct | ArrayVal |
struct | SurfaceArrayDescription |
Public Types | |
enum | SurfaceType { SURFACE_TYPE_MODEL = 0, SURFACE_TYPE_TERM = 1, SURFACE_TYPE_BOUNCE = 2, SURFACE_TYPE_BREAK = 3, SURFACE_TYPE_PASS = 4 } |
enum | VariableStep { VARIABLE_STEP_PREV = -1, VARIABLE_STEP_CURRENT = 0, VARIABLE_STEP_NEXT = 1 } |
typedef vtkFunctionSet | Superclass |
typedef enum vtkLagrangianBasicIntegrationModel::SurfaceType | SurfaceType |
typedef enum vtkLagrangianBasicIntegrationModel::VariableStep | VariableStep |
typedef std::pair< unsigned int, vtkLagrangianParticle * > | PassThroughParticlesItem |
typedef std::queue< PassThroughParticlesItem > | PassThroughParticlesType |
Public Types inherited from vtkFunctionSet | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
vtkLagrangianBasicIntegrationModel * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
int | FunctionValues (double *x, double *f) override |
Evaluate integration model velocity f at position x. More... | |
virtual void | SetTracker (vtkLagrangianParticleTracker *Tracker) |
Set the parent tracker. More... | |
virtual vtkLagrangianParticle * | ComputeSurfaceInteraction (vtkLagrangianParticle *particle, std::queue< vtkLagrangianParticle * > &particles, unsigned int &interactedSurfaceFlatIndex, PassThroughParticlesType &passThroughParticles) |
Interact the current particle with a surfaces Return a particle to record as interaction point if not nullptr Uses SurfaceType array from the intersected surface cell to compute the interaction. More... | |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
Set a input array to process at a specific index, identified by a port, connection, fieldAssociation and a name. More... | |
virtual void | InitializeVariablesParticleData (vtkPointData *vtkNotUsed(particleData), int vtkNotUsed(maxTuples)=0) |
Empty method to be reimplemented if necessary in inherited classes. More... | |
virtual void | InsertVariablesParticleData (vtkLagrangianParticle *vtkNotUsed(particle), vtkPointData *vtkNotUsed(particleData), int vtkNotUsed(stepEnum)) |
Empty method to be reimplemented if necessary in inherited classes. More... | |
virtual void | InitializeModelPathData (vtkFieldData *vtkNotUsed(data)) |
Empty method to be reimplemented if necessary in inherited classes. More... | |
virtual void | InsertModelPathData (vtkLagrangianParticle *vtkNotUsed(particle), vtkFieldData *vtkNotUsed(data)) |
Empty method to be reimplemented if necessary in inherited classes. More... | |
virtual void | InitializeParticle (vtkLagrangianParticle *vtkNotUsed(particle)) |
Initialize a particle by setting user variables and perform any user model specific operation. More... | |
virtual bool | CheckAdaptiveStepReintegration (vtkLagrangianParticle *vtkNotUsed(particle)) |
Method to be reimplemented if needed in inherited classes. More... | |
virtual bool | CheckFreeFlightTermination (vtkLagrangianParticle *vtkNotUsed(particle)) |
Method to be reimplemented if needed in inherited classes. More... | |
virtual vtkStringArray * | GetSeedArrayNames () |
Get the seed arrays expected name Used Only be the vtkLagrangianSeedHelper in ParaView plugins. More... | |
virtual vtkIntArray * | GetSeedArrayComps () |
Get the seed arrays expected number of components Used Only be the vtkLagrangianSeedHelper in ParaView plugins. More... | |
virtual vtkIntArray * | GetSeedArrayTypes () |
Get the seed arrays expected type Used Only be the vtkLagrangianSeedHelper in ParaView plugins. More... | |
virtual vtkStringArray * | GetSurfaceArrayNames () |
Get the surface arrays expected name Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins. More... | |
virtual vtkIntArray * | GetSurfaceArrayTypes () |
Get the surface arrays expected type Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins. More... | |
virtual vtkStringArray * | GetSurfaceArrayEnumValues () |
Get the surface arrays expected values and associated enums Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins. More... | |
virtual vtkDoubleArray * | GetSurfaceArrayDefaultValues () |
Get the surface arrays default values for each leaf Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins. More... | |
virtual vtkIntArray * | GetSurfaceArrayComps () |
Get the seed array expected number of components Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins. More... | |
virtual bool | ManualIntegration (double *xcur, double *xnext, double t, double &delT, double &delTActual, double minStep, double maxStep, double maxError, double &error, int &integrationResult) |
Let the model define it's own way to integrate Signature is very close to the integrator method signature output is expected to be the same, see vtkInitialValueProblemSolver::ComputeNextStep for reference xcur is the current particle variables xnext is the next particle variable t is the current integration time delT is the timeStep, which is also an output for adaptative algorithm delTActual is the time step output corresponding to the actual movement of the particle minStep is the minimum step time for adaptative algorithm maxStep is the maximum step time for adaptative algorithm maxError is the maximum acceptable error error is the output of actual error integrationResult is the result of the integration, see vtkInitialValueProblemSolver::ErrorCodes for error report otherwise it should be zero. More... | |
virtual void | ParallelManualShift (vtkLagrangianParticle *vtkNotUsed(particle)) |
Method called by parallel algorithm after receiving a particle from stream if PManualShift flag has been set to true on the particle. More... | |
virtual bool | FinalizeOutputs (vtkPolyData *vtkNotUsed(particlePathsOutput), vtkDataObject *vtkNotUsed(interractionOutput)) |
Enable model post process on output Return true if successful, false otherwise Empty and Always return true with basic model. More... | |
virtual void | PreIntegrate (std::queue< vtkLagrangianParticle * > &vtkNotUsed(particles)) |
Enable model to modify particle before integration. More... | |
virtual vtkAbstractArray * | GetSeedArray (int idx, vtkPointData *pointData) |
Get a seed array, as set in setInputArrayToProcess from the provided seed point data. More... | |
virtual void | SetLocator (vtkAbstractCellLocator *locator) |
Set/Get the locator used to locate cells in the datasets. More... | |
virtual vtkAbstractCellLocator * | GetLocator () |
Set/Get the locator used to locate cells in the datasets. More... | |
virtual bool | GetLocatorsBuilt () |
Get the state of the current locators. More... | |
virtual void | SetLocatorsBuilt (bool) |
Get the state of the current locators. More... | |
virtual void | AddDataSet (vtkDataSet *dataset, bool surface=false, unsigned int surfaceFlatIndex=0) |
Add a dataset to locate cells in This create a specific locator for the provided dataset using the Locator member of this class The surface flag allow to manage surfaces datasets for surface interaction instead of flow datasets surfaceFlatIndex, used only with composite surface, in order to identify the flatIndex of the surface for particle interaction. More... | |
virtual void | ClearDataSets (bool surface=false) |
Add a dataset to locate cells in This create a specific locator for the provided dataset using the Locator member of this class The surface flag allow to manage surfaces datasets for surface interaction instead of flow datasets surfaceFlatIndex, used only with composite surface, in order to identify the flatIndex of the surface for particle interaction. More... | |
virtual void | SetUseInitialIntegrationTime (bool) |
Set/Get the Use of initial integration input array to process. More... | |
virtual bool | GetUseInitialIntegrationTime () |
Set/Get the Use of initial integration input array to process. More... | |
virtual void | UseInitialIntegrationTimeOn () |
Set/Get the Use of initial integration input array to process. More... | |
virtual void | UseInitialIntegrationTimeOff () |
Set/Get the Use of initial integration input array to process. More... | |
virtual void | SetCurrentParticle (vtkLagrangianParticle *) |
Set the current particle. More... | |
virtual double | GetTolerance () |
Get the tolerance to use with this model. More... | |
virtual bool | FindInLocators (double *x, vtkDataSet *&dataset, vtkIdType &cellId, vtkAbstractCellLocator *&loc, double *&weights) |
Look for a dataset in this integration model containing the point x. More... | |
virtual bool | FindInLocators (double *x, vtkDataSet *&dataset, vtkIdType &cellId) |
Look for a dataset in this integration model containing the point x. More... | |
virtual bool | FindInLocators (double *x) |
Look for a dataset in this integration model containing the point x. More... | |
virtual void | SetNonPlanarQuadSupport (bool) |
Set/Get Non Planar Quad Support. More... | |
virtual bool | GetNonPlanarQuadSupport () |
Set/Get Non Planar Quad Support. More... | |
virtual void | NonPlanarQuadSupportOn () |
Set/Get Non Planar Quad Support. More... | |
virtual void | NonPlanarQuadSupportOff () |
Set/Get Non Planar Quad Support. More... | |
virtual int | GetWeightsSize () |
Get the maximum weights size necessary for calling FindInLocators with weights. More... | |
Public Member Functions inherited from vtkFunctionSet | |
vtkFunctionSet * | NewInstance () const |
virtual int | GetNumberOfFunctions () |
Return the number of functions. More... | |
virtual int | GetNumberOfIndependentVariables () |
Return the number of independent variables. More... | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
void | PrintRevisions (ostream &) |
Legacy. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkLagrangianBasicIntegrationModel * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkFunctionSet | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkFunctionSet * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Protected Types | |
typedef std::pair< ArrayVal, std::string > | ArrayMapVal |
typedef struct vtkLagrangianBasicIntegrationModel::SurfaceArrayDescription | SurfaceArrayDescription |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkLagrangianBasicIntegrationModel () | |
~vtkLagrangianBasicIntegrationModel () override | |
virtual int | FunctionValues (vtkDataSet *detaSet, vtkIdType cellId, double *weights, double *x, double *f)=0 |
Actually compute the integration model velocity field pure abstract, to be implemented in inherited class. More... | |
virtual vtkIdType | FindInLocator (vtkDataSet *dataSet, vtkAbstractCellLocator *locator, double *x, vtkGenericCell *cell, double *weights) |
Look in the given dataset and associated locator to see if it contains the point x, if so return the cellId and output the cell containing the point and the weights of the point in the cell. More... | |
virtual bool | TerminateParticle (vtkLagrangianParticle *particle) |
Terminate a particle, by positioning flags. More... | |
virtual bool | BounceParticle (vtkLagrangianParticle *particle, vtkDataSet *surface, vtkIdType cellId) |
Bounce a particle, using the normal of the cell it bounces on. More... | |
virtual bool | BreakParticle (vtkLagrangianParticle *particle, vtkDataSet *surface, vtkIdType cellId, std::queue< vtkLagrangianParticle * > &particles) |
Breakup a particle at intersection point, by terminating it and creating two new particle using the intersected cells normals Return true to record the interaction, false otherwise. More... | |
virtual bool | InteractWithSurface (int surfaceType, vtkLagrangianParticle *particle, vtkDataSet *surface, vtkIdType cellId, std::queue< vtkLagrangianParticle * > &particles) |
Call vtkLagrangianBasicIntegrationModel::Terminate This method is to be reimplemented in inherited classes willing to implement specific particle surface interactions Return true to record the interaction, false otherwise. More... | |
virtual bool | IntersectWithLine (vtkCell *cell, double p1[3], double p2[3], double tol, double &t, double x[3]) |
Call vtkCell::IntersectWithLine This method is to be reimplemented in inherited classes willing to implement specific line/surface intersection. More... | |
virtual void | InterpolateNextParticleVariables (vtkLagrangianParticle *particle, double interpolationFactor, bool forceInside=false) |
compute all particle variables using interpolation factor More... | |
virtual bool | CheckSurfacePerforation (vtkLagrangianParticle *particle, vtkDataSet *surface, vtkIdType cellId) |
Given a particle, check if it perforate a surface cell ie : interact with next step after interacting with it. More... | |
virtual vtkAbstractArray * | GetSeedArray (int idx, vtkLagrangianParticle *particle) |
Get a seed array, as set in setInputArrayToProcess from the provided particle seed data Access then the correct tuple using vtkLagrangianParticle::GetSeedArrayTupleIndex() More... | |
virtual bool | GetFlowOrSurfaceData (int idx, vtkDataSet *flowDataSet, vtkIdType tupleId, double *weights, double *&data, int &nComponents) |
Directly get a double value from flow or surface data as defined in SetInputArrayToProcess data pointer is valid until next call to this method. More... | |
virtual int | GetFlowOrSurfaceDataFieldAssociation (int idx) |
Recover a field association for a specified array index if it has been set using SetInputArrayToProcess. More... | |
virtual void | ComputeSurfaceDefaultValues (const char *arrayName, vtkDataSet *dataset, int nComponent, double *defaultValues) |
Methods used by ParaView surface helper to get default values for each leaf of each dataset of surface nComponents could be retrieved with arrayName but is given for simplication purposes. More... | |
Protected Member Functions inherited from vtkFunctionSet | |
vtkFunctionSet () | |
~vtkFunctionSet () override | |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
vtkFunctionSet abstract implementation to be used in the vtkLagrangianParticleTracker integrator.
This vtkFunctionSet abstract implementation is meant to be used as a parameter of vtkLagrangianParticleTracker. It manages multiples datasets locator in order to evaluate the vtkFunctionSet::FunctionValues method. The actual FunctionValues implementation should be found in class inheriting this class Input Array to process are expected as follows : Index 0 : "SurfaceType" array of surface input of the particle tracker
Inherited classes MUST implement int FunctionValues(vtkDataSet* detaSet, vtkIdType cellId, double* weights, double * x, double * f); to define how the integration works.
Inherited classes could reimplement SetCurrentParticle, InitializeVariablesParticleData, and InsertVariablesParticleData to add new UserVariables to integrate with
Inherited classes could reimplement InteractWithSurface or other surface interaction method to changes the way particle interact with surface
Inherited classes could reimplement IntersectWithLine to use a specific algorithm to intersect particles and surface cells.
Inherited class could reimplement CheckFreeFlightTermination to set the way particle terminate in free flight
Definition at line 85 of file vtkLagrangianBasicIntegrationModel.h.
Definition at line 89 of file vtkLagrangianBasicIntegrationModel.h.
typedef enum vtkLagrangianBasicIntegrationModel::SurfaceType vtkLagrangianBasicIntegrationModel::SurfaceType |
typedef enum vtkLagrangianBasicIntegrationModel::VariableStep vtkLagrangianBasicIntegrationModel::VariableStep |
typedef std::pair< unsigned int, vtkLagrangianParticle*> vtkLagrangianBasicIntegrationModel::PassThroughParticlesItem |
Definition at line 108 of file vtkLagrangianBasicIntegrationModel.h.
typedef std::queue< PassThroughParticlesItem > vtkLagrangianBasicIntegrationModel::PassThroughParticlesType |
Definition at line 109 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 520 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Enumerator | |
---|---|
SURFACE_TYPE_MODEL | |
SURFACE_TYPE_TERM | |
SURFACE_TYPE_BOUNCE | |
SURFACE_TYPE_BREAK | |
SURFACE_TYPE_PASS |
Definition at line 92 of file vtkLagrangianBasicIntegrationModel.h.
Enumerator | |
---|---|
VARIABLE_STEP_PREV | |
VARIABLE_STEP_CURRENT | |
VARIABLE_STEP_NEXT |
Definition at line 101 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
|
overrideprotected |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class.
Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkFunctionSet.
Reimplemented in vtkLagrangianMatidaIntegrationModel.
|
static |
|
protectedvirtual |
Reimplemented from vtkFunctionSet.
Reimplemented in vtkLagrangianMatidaIntegrationModel.
vtkLagrangianBasicIntegrationModel* vtkLagrangianBasicIntegrationModel::NewInstance | ( | ) | const |
|
overridevirtual |
Methods invoked by print to print information about the object including superclasses.
Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkFunctionSet.
Reimplemented in vtkLagrangianMatidaIntegrationModel.
Evaluate integration model velocity f at position x.
Look for the cell containing the position x in all it's added dataset in found this will call FunctionValues(vtkDataSet* detaSet, vtkIdType cellId, double* x, double* f)
Implements vtkFunctionSet.
|
virtual |
Set/Get the locator used to locate cells in the datasets.
Only the locator class matter here, as it is used only to create NewInstance of it. Default is a vtkCellLocator.
|
virtual |
Set/Get the locator used to locate cells in the datasets.
Only the locator class matter here, as it is used only to create NewInstance of it. Default is a vtkCellLocator.
|
virtual |
Get the state of the current locators.
|
virtual |
Get the state of the current locators.
|
virtual |
Set the parent tracker.
|
virtual |
Add a dataset to locate cells in This create a specific locator for the provided dataset using the Locator member of this class The surface flag allow to manage surfaces datasets for surface interaction instead of flow datasets surfaceFlatIndex, used only with composite surface, in order to identify the flatIndex of the surface for particle interaction.
|
virtual |
Add a dataset to locate cells in This create a specific locator for the provided dataset using the Locator member of this class The surface flag allow to manage surfaces datasets for surface interaction instead of flow datasets surfaceFlatIndex, used only with composite surface, in order to identify the flatIndex of the surface for particle interaction.
|
virtual |
Set/Get the Use of initial integration input array to process.
|
virtual |
Set/Get the Use of initial integration input array to process.
|
virtual |
Set/Get the Use of initial integration input array to process.
|
virtual |
Set/Get the Use of initial integration input array to process.
|
virtual |
Set the current particle.
|
virtual |
Get the tolerance to use with this model.
|
virtual |
Interact the current particle with a surfaces Return a particle to record as interaction point if not nullptr Uses SurfaceType array from the intersected surface cell to compute the interaction.
MODEL : vtkLagrangianBasicIntegrationModel::InteractWithSurface method will be used, usually defined in inherited classes TERM : vtkLagrangianBasicIntegrationModel::Terminate method will be used BOUNCE : vtkLagrangianBasicIntegrationModel::Bounce method will be used BREAK_UP : vtkLagrangianBasicIntegrationModel::BreakUp method will be used PASS : The interaction will be recorded with no effect on the particle
|
virtual |
Set a input array to process at a specific index, identified by a port, connection, fieldAssociation and a name.
Each inherited class can specify their own input array to process
|
virtual |
Look for a dataset in this integration model containing the point x.
return false if out of domain, return true and data to recover the cell if in domain. does not filter out ghost cells. convenience method with less outputs.
|
virtual |
Look for a dataset in this integration model containing the point x.
return false if out of domain, return true and data to recover the cell if in domain. does not filter out ghost cells. convenience method with less outputs.
|
virtual |
Look for a dataset in this integration model containing the point x.
return false if out of domain, return true and data to recover the cell if in domain. does not filter out ghost cells. convenience method with less outputs.
|
inlinevirtual |
Empty method to be reimplemented if necessary in inherited classes.
Allows a intehrited class to create Specific array in the output point data for storing variables.
Definition at line 231 of file vtkLagrangianBasicIntegrationModel.h.
|
inlinevirtual |
Empty method to be reimplemented if necessary in inherited classes.
Allows a inherited class to create specific array in the output point data for filling point data with variables.
Definition at line 239 of file vtkLagrangianBasicIntegrationModel.h.
|
inlinevirtual |
Empty method to be reimplemented if necessary in inherited classes.
Allows an inherited class to create specific array in the outputs field data associated with each particle path.
Definition at line 247 of file vtkLagrangianBasicIntegrationModel.h.
|
inlinevirtual |
Empty method to be reimplemented if necessary in inherited classes.
Allows a inherited class to insert data in initialized array in the outputs field data associated with each particle path.
Definition at line 254 of file vtkLagrangianBasicIntegrationModel.h.
|
inlinevirtual |
Initialize a particle by setting user variables and perform any user model specific operation.
empty in basic implementation.
Definition at line 261 of file vtkLagrangianBasicIntegrationModel.h.
|
inlinevirtual |
Method to be reimplemented if needed in inherited classes.
Allows a inherited class to check if adaptive step reintegration should be done or not, this method is called just before potentially performing adaptative step reintegration, the current particle is passed as an argument. This method always returns true in this basis class.
Definition at line 271 of file vtkLagrangianBasicIntegrationModel.h.
|
inlinevirtual |
Method to be reimplemented if needed in inherited classes.
Allows a inherited class to check if a particle should be terminated only based on particle parameters. This method should return true if the particle must be terminated, false otherwise. It always returns false in this basis class.
Definition at line 281 of file vtkLagrangianBasicIntegrationModel.h.
|
virtual |
Set/Get Non Planar Quad Support.
|
virtual |
Set/Get Non Planar Quad Support.
|
virtual |
Set/Get Non Planar Quad Support.
|
virtual |
Set/Get Non Planar Quad Support.
|
virtual |
Get the seed arrays expected name Used Only be the vtkLagrangianSeedHelper in ParaView plugins.
|
virtual |
Get the seed arrays expected number of components Used Only be the vtkLagrangianSeedHelper in ParaView plugins.
|
virtual |
Get the seed arrays expected type Used Only be the vtkLagrangianSeedHelper in ParaView plugins.
|
virtual |
Get the surface arrays expected name Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins.
|
virtual |
Get the surface arrays expected type Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins.
|
virtual |
Get the surface arrays expected values and associated enums Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins.
|
virtual |
Get the surface arrays default values for each leaf Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins.
|
virtual |
Get the seed array expected number of components Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins.
|
virtual |
Get the maximum weights size necessary for calling FindInLocators with weights.
|
virtual |
Let the model define it's own way to integrate Signature is very close to the integrator method signature output is expected to be the same, see vtkInitialValueProblemSolver::ComputeNextStep for reference xcur is the current particle variables xnext is the next particle variable t is the current integration time delT is the timeStep, which is also an output for adaptative algorithm delTActual is the time step output corresponding to the actual movement of the particle minStep is the minimum step time for adaptative algorithm maxStep is the maximum step time for adaptative algorithm maxError is the maximum acceptable error error is the output of actual error integrationResult is the result of the integration, see vtkInitialValueProblemSolver::ErrorCodes for error report otherwise it should be zero.
be aware that only stagnating OUT_OF_DOMAIN will be considered actual out of domain error. Return true if manual integration was used, false otherwise Simply return false in vtkLagrangianBasicIntegrationModel implementation
|
inlinevirtual |
Method called by parallel algorithm after receiving a particle from stream if PManualShift flag has been set to true on the particle.
Does nothing in base implementation
Definition at line 381 of file vtkLagrangianBasicIntegrationModel.h.
|
inlinevirtual |
Enable model post process on output Return true if successful, false otherwise Empty and Always return true with basic model.
Definition at line 388 of file vtkLagrangianBasicIntegrationModel.h.
|
inlinevirtual |
Enable model to modify particle before integration.
Definition at line 394 of file vtkLagrangianBasicIntegrationModel.h.
|
virtual |
Get a seed array, as set in setInputArrayToProcess from the provided seed point data.
|
protectedpure virtual |
Actually compute the integration model velocity field pure abstract, to be implemented in inherited class.
Implemented in vtkLagrangianMatidaIntegrationModel.
|
protectedvirtual |
Look in the given dataset and associated locator to see if it contains the point x, if so return the cellId and output the cell containing the point and the weights of the point in the cell.
|
protectedvirtual |
Terminate a particle, by positioning flags.
Return true to record the interaction, false otherwise
|
protectedvirtual |
Bounce a particle, using the normal of the cell it bounces on.
Return true to record the interaction, false otherwise
|
protectedvirtual |
Breakup a particle at intersection point, by terminating it and creating two new particle using the intersected cells normals Return true to record the interaction, false otherwise.
|
protectedvirtual |
Call vtkLagrangianBasicIntegrationModel::Terminate This method is to be reimplemented in inherited classes willing to implement specific particle surface interactions Return true to record the interaction, false otherwise.
|
protectedvirtual |
Call vtkCell::IntersectWithLine This method is to be reimplemented in inherited classes willing to implement specific line/surface intersection.
|
protectedvirtual |
compute all particle variables using interpolation factor
|
protectedvirtual |
Given a particle, check if it perforate a surface cell ie : interact with next step after interacting with it.
|
protectedvirtual |
Get a seed array, as set in setInputArrayToProcess from the provided particle seed data Access then the correct tuple using vtkLagrangianParticle::GetSeedArrayTupleIndex()
|
protectedvirtual |
Directly get a double value from flow or surface data as defined in SetInputArrayToProcess data pointer is valid until next call to this method.
|
protectedvirtual |
Recover a field association for a specified array index if it has been set using SetInputArrayToProcess.
|
protectedvirtual |
Methods used by ParaView surface helper to get default values for each leaf of each dataset of surface nComponents could be retrieved with arrayName but is given for simplication purposes.
it is your responsibility to initialize all components of defaultValues[nComponent]
|
protected |
Definition at line 505 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 506 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 507 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 508 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 510 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 511 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 512 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 513 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 514 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 521 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 529 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 531 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 532 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 534 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 535 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 537 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 539 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 540 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 541 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 543 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 544 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 545 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 546 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 547 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 548 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 549 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 550 of file vtkLagrangianBasicIntegrationModel.h.
|
protected |
Definition at line 552 of file vtkLagrangianBasicIntegrationModel.h.