VTK  9.4.20250129
vtkLagrangianMatidaIntegrationModel.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
27#ifndef vtkLagrangianMatidaIntegrationModel_h
28#define vtkLagrangianMatidaIntegrationModel_h
29
30#include "vtkFiltersFlowPathsModule.h" // For export macro
32
33VTK_ABI_NAMESPACE_BEGIN
34class VTKFILTERSFLOWPATHS_EXPORT vtkLagrangianMatidaIntegrationModel
36{
37public:
39 void PrintSelf(ostream& os, vtkIndent indent) override;
41
42 // Needed for multiple signatures polymorphism
43 using Superclass::FunctionValues;
44
50 double* weights, double* x, double* f) override;
51
53
57 vtkSetVector3Macro(Gravity, double);
58 vtkGetVector3Macro(Gravity, double);
59
60protected:
63
64 static double GetRelaxationTime(double dynVisc, double diameter, double density);
65
66 static double GetDragCoefficient(const double* flowVelocity, const double* particleVelocity,
67 double dynVisc, double particleDiameter, double flowDensity);
68
69 double Gravity[3] = { 0, 0, -9.8 };
70
71private:
73 void operator=(const vtkLagrangianMatidaIntegrationModel&) = delete;
74};
75
76VTK_ABI_NAMESPACE_END
77#endif
abstract class to specify dataset behavior
Definition vtkDataSet.h:165
a simple class to control print indentation
Definition vtkIndent.h:108
vtkFunctionSet abstract implementation to be used in the vtkLagrangianParticleTracker integrator.
vtkLagrangianBasicIntegrationModel implementation
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 i...
~vtkLagrangianMatidaIntegrationModel() override
Specify the acceleration of gravity.
static vtkLagrangianMatidaIntegrationModel * New()
vtkLagrangianMatidaIntegrationModel()
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.
Basis class for Lagrangian particles.
int vtkIdType
Definition vtkType.h:315