![]() |
PeriDyno 1.0.0
|
#include <SemiAnalyticalIncompressibleFluidModel.h>
Public Types | |
typedef TDataType::Real | Real |
typedef TDataType::Coord | Coord |
![]() | |
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) |
![]() | |
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. | |
![]() | |
Module (std::string name="default") | |
~Module (void) override | |
bool | initialize () |
void | update () |
void | setName (std::string name) |
std::string | getName () override |
Node * | getParentNode () |
SceneGraph * | getSceneGraph () |
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. | |
![]() | |
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) |
FBase * | getField (const FieldID name) |
Return a field by its name. | |
std::vector< FBase * > & | getAllFields () |
template<typename T> | |
T * | getField (FieldID name) |
bool | isAllFieldsReady () |
Check the completeness of all required fields. | |
std::vector< FieldID > | getFieldAlias (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 () |
![]() | |
Object () | |
virtual | ~Object () |
ObjectId | objectId () |
Private Attributes | |
int | m_pNum |
Real | m_restRho |
int | first = 1 |
std::shared_ptr< ConstraintModule > | m_viscositySolver |
std::shared_ptr< ConstraintModule > | m_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 bool | registerClass (ClassInfo *ci) |
static Object * | createObject (std::string name) |
static std::map< std::string, ClassInfo * > * | getClassMap () |
static ObjectId | baseId () |
Base Id. | |
![]() | |
void | preprocess () final |
![]() | |
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 () |
![]() | |
std::vector< FBase * > | fields_input |
std::vector< FBase * > | fields_output |
std::vector< FBase * > | fields_param |
Definition at line 65 of file SemiAnalyticalIncompressibleFluidModel.h.
typedef TDataType::Coord dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::Coord |
Definition at line 70 of file SemiAnalyticalIncompressibleFluidModel.h.
typedef TDataType::Real dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::Real |
Definition at line 69 of file SemiAnalyticalIncompressibleFluidModel.h.
dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::SemiAnalyticalIncompressibleFluidModel | ( | ) |
Definition at line 24 of file SemiAnalyticalIncompressibleFluidModel.cpp.
dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::DEF_INSTANCE_IN | ( | TriangleSet< TDataType > | , |
TriangleSet | , | ||
"" | ) |
|
inline |
Set the rest density, currently have no influence on the behaviour
[in] | rho | the reset density |
Definition at line 98 of file SemiAnalyticalIncompressibleFluidModel.h.
|
inline |
Set the searching radius
[in] | len | the smoothing length |
Definition at line 89 of file SemiAnalyticalIncompressibleFluidModel.h.
|
overridevirtual |
advance the scene node in time
[in] | dt | the time interval between the states before&&after the call (deprecated) |
Reimplemented from dyno::GroupModule.
Definition at line 99 of file SemiAnalyticalIncompressibleFluidModel.cpp.
|
private |
Definition at line 133 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<int> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_flip |
Definition at line 125 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
particle shifting
Definition at line 146 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
Definition at line 138 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
integrator, update particle velocity and position
Definition at line 148 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
Definition at line 147 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
used to handel the collision between triangles and particles
Definition at line 142 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
neighbor list for particle pairs
Definition at line 149 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
neighbor list for particle-triangle
Definition at line 151 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Attribute> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_particle_attribute |
Definition at line 114 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_particle_force_density |
Definition at line 121 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Real> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_particle_mass |
Definition at line 109 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_particle_position |
Definition at line 111 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_particle_velocity |
Definition at line 112 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
semi-analytical projection-based fluid model
Definition at line 140 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
Definition at line 131 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
Definition at line 132 of file SemiAnalyticalIncompressibleFluidModel.h.
FVar<Real> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_smoothing_length |
Definition at line 104 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
surface tension
Definition at line 145 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Triangle> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_triangle_index |
Definition at line 119 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_triangle_vertex |
Definition at line 117 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Real> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_triangle_vertex_mass |
Definition at line 116 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_triangle_vertex_old |
Definition at line 118 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_velocity_mod |
Definition at line 128 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_vertex_force_density |
Definition at line 122 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
Definition at line 136 of file SemiAnalyticalIncompressibleFluidModel.h.
|
private |
viscosity
Definition at line 144 of file SemiAnalyticalIncompressibleFluidModel.h.
DeviceArrayField<Coord> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::m_vn |
Definition at line 123 of file SemiAnalyticalIncompressibleFluidModel.h.
FVar<Real> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::max_vel |
Definition at line 106 of file SemiAnalyticalIncompressibleFluidModel.h.
Reduction<Real>* dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::pReduce |
Definition at line 126 of file SemiAnalyticalIncompressibleFluidModel.h.
FVar<Real> dyno::SemiAnalyticalIncompressibleFluidModel< TDataType >::var_smoothing_length |
Definition at line 107 of file SemiAnalyticalIncompressibleFluidModel.h.