VTK  9.3.20240721
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkLagrangianMatidaIntegrationModel Class Reference

vtkLagrangianBasicIntegrationModel implementation More...

#include <vtkLagrangianMatidaIntegrationModel.h>

Inheritance diagram for vtkLagrangianMatidaIntegrationModel:
[legend]
Collaboration diagram for vtkLagrangianMatidaIntegrationModel:
[legend]

Public Types

typedef vtkLagrangianBasicIntegrationModel Superclass
 
- Public Types inherited from vtkLagrangianBasicIntegrationModel
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< PassThroughParticlesItemPassThroughParticlesType
 
- 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.
 
vtkLagrangianMatidaIntegrationModelNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
int FunctionValues (vtkLagrangianParticle *particle, vtkDataSet *dataSet, vtkIdType cellId, double *weights, double *x, double *f) override
 Evaluate the integration model velocity field f at position x, using data from cell in dataSet with index cellId.
 
int FunctionValues (double *x, double *f, void *userData) override
 Evaluate integration model velocity f at position x.
 
virtual int FunctionValues (vtkLagrangianParticle *particle, vtkDataSet *dataSet, vtkIdType cellId, double *weights, double *x, double *f)=0
 Actually compute the integration model velocity field pure abstract, to be implemented in inherited class This method implementation should be thread-safe.
 
virtual int FunctionValues (double *x, double *f)
 Evaluate functions at x_j.
 
virtual int FunctionValues (double *x, double *f, void *vtkNotUsed(userData))
 
- Public Member Functions inherited from vtkLagrangianBasicIntegrationModel
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkLagrangianBasicIntegrationModelNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
int FunctionValues (double *x, double *f, void *userData) override
 Evaluate integration model velocity f at position x.
 
virtual void SetTracker (vtkLagrangianParticleTracker *Tracker)
 Set the parent tracker.
 
virtual vtkLagrangianParticleComputeSurfaceInteraction (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.
 
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.
 
virtual bool FindInLocators (double *x, vtkLagrangianParticle *particle, vtkDataSet *&dataset, vtkIdType &cellId, vtkAbstractCellLocator *&loc, double *&weights)
 Look for a dataset in this integration model containing the point x.
 
virtual void InitializeParticle (vtkLagrangianParticle *vtkNotUsed(particle))
 Initialize a particle by setting user variables and perform any user model specific operation.
 
virtual bool CheckAdaptiveStepReintegration (vtkLagrangianParticle *vtkNotUsed(particle))
 Method to be reimplemented if needed in inherited classes.
 
virtual bool CheckFreeFlightTermination (vtkLagrangianParticle *vtkNotUsed(particle))
 Method to be reimplemented if needed in inherited classes.
 
virtual vtkStringArrayGetSeedArrayNames ()
 Get the seed arrays expected name Used Only be the vtkLagrangianSeedHelper in ParaView plugins.
 
virtual vtkIntArrayGetSeedArrayComps ()
 Get the seed arrays expected number of components Used Only be the vtkLagrangianSeedHelper in ParaView plugins.
 
virtual vtkIntArrayGetSeedArrayTypes ()
 Get the seed arrays expected type Used Only be the vtkLagrangianSeedHelper in ParaView plugins.
 
virtual vtkStringArrayGetSurfaceArrayNames ()
 Get the surface arrays expected name Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins.
 
virtual vtkIntArrayGetSurfaceArrayTypes ()
 Get the surface arrays expected type Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins.
 
virtual vtkStringArrayGetSurfaceArrayEnumValues ()
 Get the surface arrays expected values and associated enums Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins.
 
virtual vtkDoubleArrayGetSurfaceArrayDefaultValues ()
 Get the surface arrays default values for each leaf Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins.
 
virtual vtkIntArrayGetSurfaceArrayComps ()
 Get the seed array expected number of components Used Only be the vtkLagrangianSurfaceHelper in ParaView plugins.
 
virtual bool ManualIntegration (vtkInitialValueProblemSolver *integrator, double *xcur, double *xnext, double t, double &delT, double &delTActual, double minStep, double maxStep, double maxError, double cellLength, double &error, int &integrationResult, vtkLagrangianParticle *particle)
 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.
 
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.
 
virtual vtkLagrangianThreadedDataInitializeThreadedData ()
 Let the model allocate and initialize a threaded data.
 
virtual void FinalizeThreadedData (vtkLagrangianThreadedData *&data)
 Let the model finalize and deallocate a user data at thread level This method is called serially for each thread and does not require to be thread safe.
 
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.
 
virtual void PreParticleInitalization ()
 Allow for model setup prior to Particle Initialization.
 
virtual void PreIntegrate (std::queue< vtkLagrangianParticle * > &vtkNotUsed(particles))
 Enable model to modify particle before integration.
 
virtual vtkAbstractArrayGetSeedArray (int idx, vtkPointData *pointData)
 Get a seed array, as set in setInputArrayToProcess from the provided seed point data.
 
virtual void SetNumberOfTrackedUserData (int)
 Set/Get the number of tracked user data attached to the particles.
 
virtual int GetNumberOfTrackedUserData ()
 
virtual void InitializePathData (vtkFieldData *data)
 Method used by the LPT to initialize data insertion in the provided vtkFieldData.
 
virtual void InitializeInteractionData (vtkFieldData *data)
 Method used by the LPT to initialize data insertion in the provided vtkFieldData.
 
virtual void InitializeParticleData (vtkFieldData *particleData, int maxTuples=0)
 Method used by the LPT to initialize data insertion in the provided vtkFieldData.
 
virtual void InsertPathData (vtkLagrangianParticle *particle, vtkFieldData *data)
 Method used by the LPT to insert data from the particle into the provided vtkFieldData.
 
virtual void InsertInteractionData (vtkLagrangianParticle *particle, vtkFieldData *data)
 Method used by the LPT to insert data from the particle into the provided vtkFieldData.
 
virtual void InsertParticleData (vtkLagrangianParticle *particle, vtkFieldData *data, int stepEnum)
 Method used by the LPT to insert data from the particle into the provided vtkFieldData.
 
virtual void InsertParticleSeedData (vtkLagrangianParticle *particle, vtkFieldData *data)
 Method used by the LPT to insert data from the particle into the provided vtkFieldData.
 
virtual void ParticleAboutToBeDeleted (vtkLagrangianParticle *vtkNotUsed(particle))
 Method to be reimplemented if needed in inherited classes.
 
virtual void InsertSurfaceInteractionData (vtkLagrangianParticle *vtkNotUsed(particle), vtkPointData *vtkNotUsed(particleData))
 Method to be reimplemented if needed in inherited classes.
 
virtual int FunctionValues (double *x, double *f)
 Evaluate functions at x_j.
 
virtual int FunctionValues (double *x, double *f, void *vtkNotUsed(userData))
 
virtual void SetLocator (vtkAbstractCellLocator *locator)
 Set/Get the locator used to locate cells in the datasets.
 
virtual vtkAbstractCellLocatorGetLocator ()
 Set/Get the locator used to locate cells in the datasets.
 
virtual bool GetLocatorsBuilt ()
 Get the state of the current locators.
 
virtual void SetLocatorsBuilt (bool)
 Get the state of the current locators.
 
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.
 
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.
 
virtual void SetUseInitialIntegrationTime (bool)
 Set/Get the Use of initial integration input array to process.
 
virtual bool GetUseInitialIntegrationTime ()
 Set/Get the Use of initial integration input array to process.
 
virtual void UseInitialIntegrationTimeOn ()
 Set/Get the Use of initial integration input array to process.
 
virtual void UseInitialIntegrationTimeOff ()
 Set/Get the Use of initial integration input array to process.
 
virtual double GetTolerance ()
 Get the tolerance to use with this model.
 
virtual double GetLocatorTolerance ()
 Get the specific tolerance to use with the locators.
 
virtual bool FindInLocators (double *x, vtkLagrangianParticle *particle, vtkDataSet *&dataset, vtkIdType &cellId)
 Convenience methods to call FindInLocators with less arguments THESE METHODS ARE NOT THREAD-SAFE.
 
virtual bool FindInLocators (double *x, vtkLagrangianParticle *particle)
 Convenience methods to call FindInLocators with less arguments THESE METHODS ARE NOT THREAD-SAFE.
 
virtual void SetNonPlanarQuadSupport (bool)
 Set/Get Non Planar Quad Support.
 
virtual bool GetNonPlanarQuadSupport ()
 Set/Get Non Planar Quad Support.
 
virtual void NonPlanarQuadSupportOn ()
 Set/Get Non Planar Quad Support.
 
virtual void NonPlanarQuadSupportOff ()
 Set/Get Non Planar Quad Support.
 
virtual int GetWeightsSize ()
 Get the maximum weights size necessary for calling FindInLocators with weights.
 
- Public Member Functions inherited from vtkFunctionSet
virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
vtkFunctionSetNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
virtual int FunctionValues (double *x, double *f)
 Evaluate functions at x_j.
 
virtual int FunctionValues (double *x, double *f, void *vtkNotUsed(userData))
 
virtual int GetNumberOfFunctions ()
 Return the number of functions.
 
virtual int GetNumberOfIndependentVariables ()
 Return the number of independent variables.
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on.
 
virtual void DebugOff ()
 Turn debugging output off.
 
bool GetDebug ()
 Get the value of the debug flag.
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag.
 
virtual void Modified ()
 Update the modification time for this object.
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time.
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses.
 
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)
 
vtkTypeBool InvokeEvent (unsigned long event)
 
vtkTypeBool InvokeEvent (const char *event)
 
std::string GetObjectDescription () const override
 The object description printed in messages and PrintSelf output.
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object.
 
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.
 
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.
 
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.
 
vtkTypeBool InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
vtkTypeBool InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not.
 
virtual void SetObjectName (const std::string &objectName)
 Set/get the name of this object for reporting purposes.
 
virtual std::string GetObjectName () const
 Set/get the name of this object for reporting purposes.
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string.
 
virtual std::string GetObjectDescription () const
 The object description printed in messages and PrintSelf output.
 
virtual vtkTypeBool IsA (const char *name)
 Return 1 if this class is the same type of (or a subclass of) the named class.
 
virtual vtkIdType GetNumberOfGenerationsFromBase (const char *name)
 Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
 
virtual void Delete ()
 Delete a VTK object.
 
virtual void FastDelete ()
 Delete a reference to this object.
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream.
 
void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object).
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object).
 
int GetReferenceCount ()
 Return the current reference count of this object.
 
void SetReferenceCount (int)
 Sets the reference count.
 
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space.
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses.
 
virtual bool UsesGarbageCollector () const
 Indicate whether the class uses vtkGarbageCollector or not.
 

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
 
static vtkLagrangianMatidaIntegrationModelSafeDownCast (vtkObjectBase *o)
 
static vtkLagrangianMatidaIntegrationModelNew ()
 
- Static Public Member Functions inherited from vtkLagrangianBasicIntegrationModel
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkLagrangianBasicIntegrationModelSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkFunctionSet
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkFunctionSetSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes.
 
static void SetGlobalWarningDisplay (vtkTypeBool val)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
static vtkTypeBool GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
 
- 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.
 
static vtkIdType GetNumberOfGenerationsFromBaseType (const char *name)
 Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class).
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
 
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within.
 
static bool GetUsingMemkind ()
 A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space.
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
- Protected Member Functions inherited from vtkLagrangianBasicIntegrationModel
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkLagrangianBasicIntegrationModel ()
 
 ~vtkLagrangianBasicIntegrationModel () override
 
virtual int FunctionValues (vtkLagrangianParticle *particle, vtkDataSet *dataSet, vtkIdType cellId, double *weights, double *x, double *f)=0
 Actually compute the integration model velocity field pure abstract, to be implemented in inherited class This method implementation should be thread-safe.
 
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 This method is thread-safe, its reimplementation should also be.
 
virtual bool TerminateParticle (vtkLagrangianParticle *particle)
 Terminate a particle, by positioning flags.
 
virtual bool BounceParticle (vtkLagrangianParticle *particle, vtkDataSet *surface, vtkIdType cellId)
 Bounce a particle, using the normal of the cell it bounces on.
 
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 This method is thread-safe and uses vtkLagrangianBasicIntegrationModel::ParticleQueueMutex to access the particles queue, its reimplementation should also be.
 
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 This method is thread-safe and should use vtkLagrangianBasicIntegrationModel::ParticleQueueMutex to add particles to the particles queue, see BreakParticle for an example.
 
virtual bool IntersectWithLine (vtkLagrangianParticle *particle, 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 This method is thread-safe.
 
virtual void InterpolateNextParticleVariables (vtkLagrangianParticle *particle, double interpolationFactor, bool forceInside=false)
 compute all particle variables using interpolation factor This method is thread-safe.
 
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 This method is thread-safe.
 
virtual vtkAbstractArrayGetSeedArray (int idx, vtkLagrangianParticle *particle)
 Get a seed array, as set in setInputArrayToProcess from the provided particle seed data Access then the first tuple to access the data This method is thread-safe.
 
virtual bool GetFlowOrSurfaceData (vtkLagrangianParticle *particle, int idx, vtkDataSet *flowDataSet, vtkIdType tupleId, double *weights, double *data)
 Directly get a double value from flow or surface data as defined in SetInputArrayToProcess.
 
virtual int GetFlowOrSurfaceDataNumberOfComponents (int idx, vtkDataSet *dataSet)
 Recover the number of components for a specified array index if it has been set using SetInputArrayToProcess, with provided dataset.
 
virtual int GetFlowOrSurfaceDataFieldAssociation (int idx)
 Recover a field association for a specified array index if it has been set using SetInputArrayToProcess This method is thread-safe.
 
virtual void ComputeSurfaceDefaultValues (const char *arrayName, vtkDataSet *dataset, int nComponent, double *defaultValues)
 Method 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 simplification purposes.
 
- Protected Member Functions inherited from vtkFunctionSet
virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkFunctionSet ()
 
 ~vtkFunctionSet () override=default
 
- 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.
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events.
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void RegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
virtual void ObjectFinalize ()
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 
double Gravity [3] = { 0, 0, -9.8 }
 Specify the acceleration of gravity.
 
virtual void SetGravity (double, double, double)
 Specify the acceleration of gravity.
 
virtual void SetGravity (double[3])
 Specify the acceleration of gravity.
 
virtual double * GetGravity ()
 Specify the acceleration of gravity.
 
virtual void GetGravity (double &, double &, double &)
 Specify the acceleration of gravity.
 
virtual void GetGravity (double[3])
 Specify the acceleration of gravity.
 
static double GetRelaxationTime (double dynVisc, double diameter, double density)
 Specify the acceleration of gravity.
 
static double GetDragCoefficient (const double *flowVelocity, const double *particleVelocity, double dynVisc, double particleDiameter, double flowDensity)
 Specify the acceleration of gravity.
 

Additional Inherited Members

- Protected Types inherited from vtkLagrangianBasicIntegrationModel
typedef std::pair< ArrayVal, std::string > ArrayMapVal
 
typedef struct vtkLagrangianBasicIntegrationModel::SurfaceArrayDescription SurfaceArrayDescription
 
- Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction GetCurrentMallocFunction ()
 
static vtkReallocingFunction GetCurrentReallocFunction ()
 
static vtkFreeingFunction GetCurrentFreeFunction ()
 
static vtkFreeingFunction GetAlternateFreeFunction ()
 
- Protected Attributes inherited from vtkLagrangianBasicIntegrationModel
vtkAbstractCellLocatorLocator
 
bool LocatorsBuilt
 
vtkLocatorsType * Locators
 
vtkDataSetsType * DataSets
 
int WeightsSize = 0
 
std::map< int, ArrayMapValInputArrays
 
std::map< std::string, SurfaceArrayDescriptionSurfaceArrayDescriptions
 
vtkSurfaceType * Surfaces
 
vtkLocatorsType * SurfaceLocators
 
double Tolerance
 
double LocatorTolerance = 0.001
 
bool NonPlanarQuadSupport
 
bool UseInitialIntegrationTime
 
int NumberOfTrackedUserData = 0
 
vtkNew< vtkStringArraySeedArrayNames
 
vtkNew< vtkIntArraySeedArrayComps
 
vtkNew< vtkIntArraySeedArrayTypes
 
vtkNew< vtkStringArraySurfaceArrayNames
 
vtkNew< vtkIntArraySurfaceArrayComps
 
vtkNew< vtkIntArraySurfaceArrayTypes
 
vtkNew< vtkStringArraySurfaceArrayEnumValues
 
vtkNew< vtkDoubleArraySurfaceArrayDefaultValues
 
vtkWeakPointer< vtkLagrangianParticleTrackerTracker
 
std::mutex ParticleQueueMutex
 
- Protected Attributes inherited from vtkFunctionSet
int NumFuncs
 
int NumIndepVars
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
std::string ObjectName
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

vtkLagrangianBasicIntegrationModel implementation

vtkLagrangianBasicIntegrationModel implementation using article : "Matida, E. A., et al. "Improved numerical simulation of aerosol deposition in an idealized mouth-throat." Journal of Aerosol Science 35.1 (2004): 1-19." Input Array to process are expected as follow : Index 1 is the "FlowVelocity" from flow input in the tracker Index 2 is the "FlowDensity" from flow input in the tracker Index 3 is the "FlowDynamicViscosity" from flow input in the tracker Index 4 is the "ParticleDiameter" from seed (source) input in the tracker Index 5 is the "ParticleDensity" from seed (source) input in the tracker

See also
vtkLagrangianParticleTracker vtkLagrangianParticle vtkLagrangianBasicIntegrationModel
Tests:
vtkLagrangianMatidaIntegrationModel (Tests)

Definition at line 34 of file vtkLagrangianMatidaIntegrationModel.h.

Member Typedef Documentation

◆ Superclass

Definition at line 38 of file vtkLagrangianMatidaIntegrationModel.h.

Constructor & Destructor Documentation

◆ vtkLagrangianMatidaIntegrationModel()

vtkLagrangianMatidaIntegrationModel::vtkLagrangianMatidaIntegrationModel ( )
protected

Specify the acceleration of gravity.

Default value is (0, 0, -9.8)

◆ ~vtkLagrangianMatidaIntegrationModel()

vtkLagrangianMatidaIntegrationModel::~vtkLagrangianMatidaIntegrationModel ( )
overrideprotected

Specify the acceleration of gravity.

Default value is (0, 0, -9.8)

Member Function Documentation

◆ IsTypeOf()

static vtkTypeBool vtkLagrangianMatidaIntegrationModel::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool vtkLagrangianMatidaIntegrationModel::IsA ( const char *  name)
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 vtkLagrangianBasicIntegrationModel.

◆ SafeDownCast()

static vtkLagrangianMatidaIntegrationModel * vtkLagrangianMatidaIntegrationModel::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase * vtkLagrangianMatidaIntegrationModel::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkLagrangianMatidaIntegrationModel * vtkLagrangianMatidaIntegrationModel::NewInstance ( ) const

◆ PrintSelf()

void vtkLagrangianMatidaIntegrationModel::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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 vtkLagrangianBasicIntegrationModel.

◆ New()

static vtkLagrangianMatidaIntegrationModel * vtkLagrangianMatidaIntegrationModel::New ( )
static

◆ FunctionValues() [1/5]

int vtkLagrangianMatidaIntegrationModel::FunctionValues ( vtkLagrangianParticle particle,
vtkDataSet dataSet,
vtkIdType  cellId,
double *  weights,
double *  x,
double *  f 
)
overridevirtual

Evaluate the integration model velocity field f at position x, using data from cell in dataSet with index cellId.

Implements vtkLagrangianBasicIntegrationModel.

◆ SetGravity() [1/2]

virtual void vtkLagrangianMatidaIntegrationModel::SetGravity ( double  ,
double  ,
double   
)
virtual

Specify the acceleration of gravity.

Default value is (0, 0, -9.8)

◆ SetGravity() [2/2]

virtual void vtkLagrangianMatidaIntegrationModel::SetGravity ( double  [3])
virtual

Specify the acceleration of gravity.

Default value is (0, 0, -9.8)

◆ GetGravity() [1/3]

virtual double * vtkLagrangianMatidaIntegrationModel::GetGravity ( )
virtual

Specify the acceleration of gravity.

Default value is (0, 0, -9.8)

◆ GetGravity() [2/3]

virtual void vtkLagrangianMatidaIntegrationModel::GetGravity ( double &  ,
double &  ,
double &   
)
virtual

Specify the acceleration of gravity.

Default value is (0, 0, -9.8)

◆ GetGravity() [3/3]

virtual void vtkLagrangianMatidaIntegrationModel::GetGravity ( double  [3])
virtual

Specify the acceleration of gravity.

Default value is (0, 0, -9.8)

◆ GetRelaxationTime()

static double vtkLagrangianMatidaIntegrationModel::GetRelaxationTime ( double  dynVisc,
double  diameter,
double  density 
)
staticprotected

Specify the acceleration of gravity.

Default value is (0, 0, -9.8)

◆ GetDragCoefficient()

static double vtkLagrangianMatidaIntegrationModel::GetDragCoefficient ( const double *  flowVelocity,
const double *  particleVelocity,
double  dynVisc,
double  particleDiameter,
double  flowDensity 
)
staticprotected

Specify the acceleration of gravity.

Default value is (0, 0, -9.8)

◆ FunctionValues() [2/5]

int vtkLagrangianBasicIntegrationModel::FunctionValues ( double *  x,
double *  f,
void *  userData 
)
override

Evaluate integration model velocity f at position x.

Look for the cell containing the position x in all its added datasets if found this will call FunctionValues(vtkDataSet* detaSet, vtkIdType cellId, double* x, double* f) This method is thread safe.

◆ FunctionValues() [3/5]

virtual int vtkLagrangianBasicIntegrationModel::FunctionValues ( vtkLagrangianParticle particle,
vtkDataSet dataSet,
vtkIdType  cellId,
double *  weights,
double *  x,
double *  f 
)
virtual

Actually compute the integration model velocity field pure abstract, to be implemented in inherited class This method implementation should be thread-safe.

Implements vtkLagrangianBasicIntegrationModel.

◆ FunctionValues() [4/5]

virtual int vtkFunctionSet::FunctionValues ( double *  x,
double *  f 
)
inlinevirtual

Evaluate functions at x_j.

x and f have to point to valid double arrays of appropriate sizes obtained with GetNumberOfFunctions() and GetNumberOfIndependentVariables. If you inherit this class, make sure to reimplement at least one of the two FunctionValues signatures.

Reimplemented from vtkLagrangianBasicIntegrationModel.

Definition at line 104 of file vtkFunctionSet.h.

◆ FunctionValues() [5/5]

virtual int vtkFunctionSet::FunctionValues ( double *  x,
double *  f,
void *  vtkNotUseduserData 
)
inlinevirtual

Reimplemented from vtkLagrangianBasicIntegrationModel.

Definition at line 104 of file vtkFunctionSet.h.

Member Data Documentation

◆ Gravity

double vtkLagrangianMatidaIntegrationModel::Gravity[3] = { 0, 0, -9.8 }
protected

Specify the acceleration of gravity.

Default value is (0, 0, -9.8)

Definition at line 69 of file vtkLagrangianMatidaIntegrationModel.h.


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