PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::SemiAnalyticalIncompressibleFluidModel< TDataType > Class Template Reference

#include <SemiAnalyticalIncompressibleFluidModel.h>

Inheritance diagram for dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >:
Collaboration diagram for dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >:

Public Types

typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
- Public Types inherited from dyno::OBase
typedef std::vector< FBase * > FieldVector
 
typedef std::map< FieldID, FBase * > FieldMap
 

Public Member Functions

 SemiAnalyticalIncompressibleFluidModel ()
 
 DEF_INSTANCE_IN (TriangleSet< TDataType >, TriangleSet, "")
 
void updateImpl () override
 
void setSmoothingLength (Real len)
 
void setRestDensity (Real rho)
 
- Public Member Functions inherited from dyno::GroupModule
 GroupModule ()
 
virtual ~GroupModule ()
 
void pushModule (std::shared_ptr< Module > m)
 
const std::list< Module * > & moduleList () const
 
void setParentNode (Node *node) override
 Set the parent node.
 
- Public Member Functions inherited from dyno::Module
 Module (std::string name="default")
 
 ~Module (void) override
 
bool initialize ()
 
void update ()
 
void setName (std::string name)
 
std::string getName () override
 
NodegetParentNode ()
 
SceneGraphgetSceneGraph ()
 
bool isInitialized ()
 
virtual std::string getModuleType ()
 
bool attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true) override
 Attach a field to Base.
 
bool isInputComplete ()
 Check the completeness of input fields.
 
bool isOutputCompete ()
 
 DEF_VAR (bool, ForceUpdate, false, "")
 
void setUpdateAlways (bool b)
 Set the update strategy for the module.
 
- Public Member Functions inherited from dyno::OBase
 OBase ()
 
 ~OBase () override
 
virtual std::string caption ()
 Return the caption.
 
virtual bool captionVisible ()
 Whether to hide the caption in the GUI.
 
virtual std::string description ()
 Return a description for the node or module, override this function to support user-defined description.
 
bool addField (FBase *data)
 Add a field to Base FieldID will be set to the name of Field by default.
 
bool addField (FieldID name, FBase *data)
 Add a field to Base.
 
bool addFieldAlias (FieldID name, FBase *data)
 
bool addFieldAlias (FieldID name, FBase *data, FieldMap &fieldAlias)
 
bool findField (FBase *data)
 Find a field by its pointer.
 
bool findFieldAlias (const FieldID name)
 Find a field by its name.
 
bool findFieldAlias (const FieldID name, FieldMap &fieldAlias)
 Find a field in fieldAlias by its name This function is typically called by other functions.
 
bool removeField (FBase *data)
 Remove a field by its pointer.
 
bool removeFieldAlias (const FieldID name)
 Remove a field by its name.
 
bool removeFieldAlias (const FieldID name, FieldMap &fieldAlias)
 
FBasegetField (const FieldID name)
 Return a field by its name.
 
std::vector< FBase * > & getAllFields ()
 
template<typename T>
TgetField (FieldID name)
 
bool isAllFieldsReady ()
 Check the completeness of all required fields.
 
std::vector< FieldIDgetFieldAlias (FBase *data)
 
int getFieldAliasCount (FBase *data)
 
void setBlockCoord (float x, float y)
 
float bx ()
 
float by ()
 
bool findInputField (FBase *field)
 
bool addInputField (FBase *field)
 
bool removeInputField (FBase *field)
 
std::vector< FBase * > & getInputFields ()
 
bool findOutputField (FBase *field)
 
bool addOutputField (FBase *field)
 
bool addToOutput (FBase *field)
 
bool removeOutputField (FBase *field)
 
bool removeFromOutput (FBase *field)
 
std::vector< FBase * > & getOutputFields ()
 
bool findParameter (FBase *field)
 
bool addParameter (FBase *field)
 
bool removeParameter (FBase *field)
 
std::vector< FBase * > & getParameters ()
 
- Public Member Functions inherited from dyno::Object
 Object ()
 
virtual ~Object ()
 
ObjectId objectId ()
 

Public Attributes

FVar< Realm_smoothing_length
 
FVar< Realmax_vel
 
FVar< Realvar_smoothing_length
 
DeviceArrayField< Realm_particle_mass
 
DeviceArrayField< Coordm_particle_position
 
DeviceArrayField< Coordm_particle_velocity
 
DeviceArrayField< Attributem_particle_attribute
 
DeviceArrayField< Realm_triangle_vertex_mass
 
DeviceArrayField< Coordm_triangle_vertex
 
DeviceArrayField< Coordm_triangle_vertex_old
 
DeviceArrayField< Trianglem_triangle_index
 
DeviceArrayField< Coordm_particle_force_density
 
DeviceArrayField< Coordm_vertex_force_density
 
DeviceArrayField< Coordm_vn
 
DeviceArrayField< int > m_flip
 
Reduction< Real > * pReduce
 
DeviceArrayField< Coordm_velocity_mod
 

Private Attributes

int m_pNum
 
Real m_restRho
 
int first = 1
 
std::shared_ptr< ConstraintModulem_viscositySolver
 
std::shared_ptr< ConstraintModulem_incompressibilitySolver
 
std::shared_ptr< SemiAnalyticalIncompressibilityModule< TDataType > > m_pbdModule
 semi-analytical projection-based fluid model
 
std::shared_ptr< TriangularMeshConstraint< TDataType > > m_meshCollision
 used to handel the collision between triangles and particles
 
std::shared_ptr< ImplicitViscosity< TDataType > > m_visModule
 viscosity
 
std::shared_ptr< SurfaceTension< TDataType > > m_surfaceTensionSolver
 surface tension
 
std::shared_ptr< Helmholtz< TDataType > > m_Helmholtz
 particle shifting
 
std::shared_ptr< PointSetToPointSet< TDataType > > m_mapping
 
std::shared_ptr< ParticleIntegrator< TDataType > > m_integrator
 integrator, update particle velocity and position
 
std::shared_ptr< NeighborPointQuery< TDataType > > m_nbrQueryPoint
 neighbor list for particle pairs
 
std::shared_ptr< NeighborTriangleQuery< TDataType > > m_nbrQueryTri
 neighbor list for particle-triangle
 

Additional Inherited Members

- Static Public Member Functions inherited from dyno::Object
static bool registerClass (ClassInfo *ci)
 
static ObjectcreateObject (std::string name)
 
static std::map< std::string, ClassInfo * > * getClassMap ()
 
static ObjectId baseId ()
 Base Id.
 
- Protected Member Functions inherited from dyno::GroupModule
void preprocess () final
 
- Protected Member Functions inherited from dyno::Module
virtual bool initializeImpl ()
 
virtual void postprocess ()
 
virtual bool validateInputs ()
 
virtual bool validateOutputs ()
 
virtual bool requireUpdate ()
 
virtual void updateStarted ()
 Two functions called at the beginning and end of update() used for debug.
 
virtual void updateEnded ()
 
- Protected Attributes inherited from dyno::OBase
std::vector< FBase * > fields_input
 
std::vector< FBase * > fields_output
 
std::vector< FBase * > fields_param
 

Detailed Description

template<typename TDataType>
class dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >

Definition at line 65 of file SemiAnalyticalIncompressibleFluidModel.h.

Member Typedef Documentation

◆ Coord

template<typename TDataType>
typedef TDataType::Coord dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::Coord

Definition at line 70 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ Real

template<typename TDataType>
typedef TDataType::Real dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::Real

Definition at line 69 of file SemiAnalyticalIncompressibleFluidModel.h.

Constructor & Destructor Documentation

◆ SemiAnalyticalIncompressibleFluidModel()

template<typename TDataType>
dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::SemiAnalyticalIncompressibleFluidModel ( )

Definition at line 24 of file SemiAnalyticalIncompressibleFluidModel.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ DEF_INSTANCE_IN()

template<typename TDataType>
dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::DEF_INSTANCE_IN ( TriangleSet< TDataType > ,
TriangleSet ,
""  )

◆ setRestDensity()

template<typename TDataType>
void dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::setRestDensity ( Real rho)
inline

Set the rest density, currently have no influence on the behaviour

Parameters
[in]rhothe reset density

Definition at line 98 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ setSmoothingLength()

template<typename TDataType>
void dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::setSmoothingLength ( Real len)
inline

Set the searching radius

Parameters
[in]lenthe smoothing length

Definition at line 89 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ updateImpl()

template<typename TDataType>
void dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::updateImpl ( )
overridevirtual

advance the scene node in time

Parameters
[in]dtthe time interval between the states before&&after the call (deprecated)

Reimplemented from dyno::GroupModule.

Definition at line 99 of file SemiAnalyticalIncompressibleFluidModel.cpp.

Member Data Documentation

◆ first

template<typename TDataType>
int dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::first = 1
private

Definition at line 133 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_flip

template<typename TDataType>
DeviceArrayField<int> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_flip

Definition at line 125 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_Helmholtz

template<typename TDataType>
std::shared_ptr<Helmholtz<TDataType> > dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_Helmholtz
private

particle shifting

Definition at line 146 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_incompressibilitySolver

template<typename TDataType>
std::shared_ptr<ConstraintModule> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_incompressibilitySolver
private

Definition at line 138 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_integrator

template<typename TDataType>
std::shared_ptr<ParticleIntegrator<TDataType> > dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_integrator
private

integrator, update particle velocity and position

Definition at line 148 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_mapping

template<typename TDataType>
std::shared_ptr<PointSetToPointSet<TDataType> > dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_mapping
private

Definition at line 147 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_meshCollision

template<typename TDataType>
std::shared_ptr<TriangularMeshConstraint<TDataType> > dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_meshCollision
private

used to handel the collision between triangles and particles

Definition at line 142 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_nbrQueryPoint

template<typename TDataType>
std::shared_ptr<NeighborPointQuery<TDataType> > dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_nbrQueryPoint
private

neighbor list for particle pairs

Definition at line 149 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_nbrQueryTri

template<typename TDataType>
std::shared_ptr<NeighborTriangleQuery<TDataType> > dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_nbrQueryTri
private

neighbor list for particle-triangle

Definition at line 151 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_particle_attribute

template<typename TDataType>
DeviceArrayField<Attribute> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_particle_attribute

Definition at line 114 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_particle_force_density

template<typename TDataType>
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_particle_force_density

Definition at line 121 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_particle_mass

template<typename TDataType>
DeviceArrayField<Real> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_particle_mass

Definition at line 109 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_particle_position

template<typename TDataType>
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_particle_position

Definition at line 111 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_particle_velocity

template<typename TDataType>
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_particle_velocity

Definition at line 112 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_pbdModule

template<typename TDataType>
std::shared_ptr<SemiAnalyticalIncompressibilityModule<TDataType> > dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_pbdModule
private

semi-analytical projection-based fluid model

Definition at line 140 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_pNum

template<typename TDataType>
int dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_pNum
private

Definition at line 131 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_restRho

template<typename TDataType>
Real dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_restRho
private

Definition at line 132 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_smoothing_length

template<typename TDataType>
FVar<Real> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_smoothing_length

Definition at line 104 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_surfaceTensionSolver

template<typename TDataType>
std::shared_ptr<SurfaceTension<TDataType> > dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_surfaceTensionSolver
private

surface tension

Definition at line 145 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_triangle_index

template<typename TDataType>
DeviceArrayField<Triangle> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_triangle_index

Definition at line 119 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_triangle_vertex

template<typename TDataType>
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_triangle_vertex

Definition at line 117 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_triangle_vertex_mass

template<typename TDataType>
DeviceArrayField<Real> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_triangle_vertex_mass

Definition at line 116 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_triangle_vertex_old

template<typename TDataType>
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_triangle_vertex_old

Definition at line 118 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_velocity_mod

template<typename TDataType>
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_velocity_mod

Definition at line 128 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_vertex_force_density

template<typename TDataType>
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_vertex_force_density

Definition at line 122 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_viscositySolver

template<typename TDataType>
std::shared_ptr<ConstraintModule> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_viscositySolver
private

Definition at line 136 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_visModule

template<typename TDataType>
std::shared_ptr<ImplicitViscosity<TDataType> > dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_visModule
private

viscosity

Definition at line 144 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ m_vn

template<typename TDataType>
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_vn

Definition at line 123 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ max_vel

template<typename TDataType>
FVar<Real> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::max_vel

Definition at line 106 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ pReduce

template<typename TDataType>
Reduction<Real>* dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::pReduce

Definition at line 126 of file SemiAnalyticalIncompressibleFluidModel.h.

◆ var_smoothing_length

template<typename TDataType>
FVar<Real> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::var_smoothing_length

Definition at line 107 of file SemiAnalyticalIncompressibleFluidModel.h.


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