![]() |
PeriDyno 1.0.0
|
#include <DualParticleIsphModule.h>
Public Types | |
typedef TDataType::Real | Real |
typedef TDataType::Coord | Coord |
typedef TDataType::Matrix | Matrix |
![]() | |
typedef std::vector< FBase * > | FieldVector |
typedef std::map< FieldID, FBase * > | FieldMap |
Public Member Functions | |
DualParticleIsphModule () | |
~DualParticleIsphModule () override | |
void | constrain () override |
DEF_VAR (Real, RestDensity, Real(1000), "Reference density") | |
DEF_VAR (Real, SamplingDistance, Real(0.005), "") | |
DEF_VAR (Real, SmoothingLength, Real(0.0125), "Smoothing length in most cases") | |
DEF_VAR_IN (Real, TimeStep, "Time Step") | |
DEF_ARRAY_IN (Coord, RPosition, DeviceType::GPU, "Input real particle position") | |
Real Particle position. | |
DEF_ARRAY_IN (Coord, VPosition, DeviceType::GPU, "Input virtual particle position") | |
Virtual Particle position. | |
DEF_ARRAY_IN (Coord, Velocity, DeviceType::GPU, "Input particle velocity") | |
Real Particle velocitie. | |
DEF_ARRAY_IN (Attribute, ParticleAttribute, DeviceType::GPU, "Real particle attribute") | |
Real Particle attribute. | |
DEF_ARRAY_IN (Coord, BoundaryNorm, DeviceType::GPU, "Real-solid particle normal") | |
Real-Solid Particle Normal. | |
DEF_ARRAYLIST_IN (int, NeighborIds, DeviceType::GPU, "Return real neighbor ids of real particles") | |
Real Particle's Neghoboring Real Partilce. | |
DEF_ARRAYLIST_IN (int, VRNeighborIds, DeviceType::GPU, "Return real neighbor ids of Virtual particles") | |
DEF_ARRAYLIST_IN (int, RVNeighborIds, DeviceType::GPU, "Return Virtual neighbor ids of real particles") | |
DEF_ARRAYLIST_IN (int, VVNeighborIds, DeviceType::GPU, "Return Virtual neighbor ids of virtual particles") | |
DEF_ARRAY_OUT (bool, VirtualBool, DeviceType::GPU, "Virtual Particle's Boolean Quantity") | |
DEF_ARRAY_OUT (Real, VirtualWeight, DeviceType::GPU, "Virtual Particle's Float Quantity") | |
DEF_VAR (Real, ResidualThreshold, 0.001f, "Convergence threshold for the pressure Poisson Equation") | |
![]() | |
ConstraintModule () | |
~ConstraintModule () override | |
std::string | getModuleType () override |
![]() | |
Module (std::string name="default") | |
~Module (void) override | |
bool | initialize () |
void | update () |
void | setName (std::string name) |
std::string | getName () override |
virtual void | setParentNode (Node *node) |
Set the parent node. | |
Node * | getParentNode () |
SceneGraph * | getSceneGraph () |
bool | isInitialized () |
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 Member Functions | |
bool | initializeImpl () override |
bool | virtualArraysResize () |
bool | realArraysResize () |
Private Attributes | |
bool | init_flag = false |
CubicKernel< Real > | kernel |
Real | m_maxAii |
Real | m_particleMass |
Real | m_v_particleMass |
Real | m_airPressure |
DArray< bool > | m_solidVirtualPaticleFlag |
DArray< Coord > | m_virtualVelocity |
DArray< Real > | m_source |
DArray< Real > | m_Ax |
DArray< bool > | m_virtualAirFlag |
DArray< Real > | m_r |
DArray< Real > | m_p |
DArray< Real > | m_pressure |
DArray< Real > | m_residual |
DArray< Coord > | m_Gp |
DArray< Coord > | m_GpNearSolid |
unsigned int | virtualNumber_old = 0 |
DArray< Real > | m_virtualAirWeight |
DArray< Real > | m_Aii |
Reduction< Real > * | m_reduce |
Arithmetic< Real > * | m_arithmetic |
unsigned int | frag_number = 0 |
Real | max_Aii |
std::shared_ptr< SummationDensity< TDataType > > | m_summation |
std::shared_ptr< SummationDensity< TDataType > > | m_vv_summation |
std::shared_ptr< SummationDensity< TDataType > > | m_vr_summation |
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 | updateImpl () override |
![]() | |
virtual void | preprocess () |
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 44 of file DualParticleIsphModule.h.
typedef TDataType::Coord dyno::DualParticleIsphModule< TDataType >::Coord |
Definition at line 49 of file DualParticleIsphModule.h.
typedef TDataType::Matrix dyno::DualParticleIsphModule< TDataType >::Matrix |
Definition at line 50 of file DualParticleIsphModule.h.
typedef TDataType::Real dyno::DualParticleIsphModule< TDataType >::Real |
Definition at line 48 of file DualParticleIsphModule.h.
dyno::DualParticleIsphModule< TDataType >::DualParticleIsphModule | ( | ) |
|
override |
|
overridevirtual |
Implements dyno::ConstraintModule.
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_IN | ( | Attribute | , |
ParticleAttribute | , | ||
DeviceType::GPU | , | ||
"Real particle attribute" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_IN | ( | Coord | , |
BoundaryNorm | , | ||
DeviceType::GPU | , | ||
"Real-solid particle normal" | ) |
Real-Solid Particle Normal.
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_IN | ( | Coord | , |
RPosition | , | ||
DeviceType::GPU | , | ||
"Input real particle position" | ) |
Real Particle position.
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_IN | ( | Coord | , |
Velocity | , | ||
DeviceType::GPU | , | ||
"Input particle velocity" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_IN | ( | Coord | , |
VPosition | , | ||
DeviceType::GPU | , | ||
"Input virtual particle position" | ) |
Virtual Particle position.
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_OUT | ( | bool | , |
VirtualBool | , | ||
DeviceType::GPU | , | ||
"Virtual Particle's Boolean Quantity" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_OUT | ( | Real | , |
VirtualWeight | , | ||
DeviceType::GPU | , | ||
"Virtual Particle's Float Quantity" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAYLIST_IN | ( | int | , |
NeighborIds | , | ||
DeviceType::GPU | , | ||
"Return real neighbor ids of real particles" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAYLIST_IN | ( | int | , |
RVNeighborIds | , | ||
DeviceType::GPU | , | ||
"Return Virtual neighbor ids of real particles" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAYLIST_IN | ( | int | , |
VRNeighborIds | , | ||
DeviceType::GPU | , | ||
"Return real neighbor ids of Virtual particles" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAYLIST_IN | ( | int | , |
VVNeighborIds | , | ||
DeviceType::GPU | , | ||
"Return Virtual neighbor ids of virtual particles" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_VAR | ( | Real | , |
ResidualThreshold | , | ||
0. | 001f, | ||
"Convergence threshold for the pressure Poisson Equation" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_VAR | ( | Real | , |
RestDensity | , | ||
Real(1000) | , | ||
"Reference density" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_VAR | ( | Real | , |
SamplingDistance | , | ||
Real(0.005) | , | ||
"" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_VAR | ( | Real | , |
SmoothingLength | , | ||
Real(0.0125) | , | ||
"Smoothing length in most cases" | ) |
dyno::DualParticleIsphModule< TDataType >::DEF_VAR_IN | ( | Real | , |
TimeStep | , | ||
"Time Step" | ) |
|
overrideprivatevirtual |
Reimplemented from dyno::Module.
|
private |
|
private |
|
private |
Definition at line 166 of file DualParticleIsphModule.h.
|
private |
Definition at line 136 of file DualParticleIsphModule.h.
|
private |
Definition at line 139 of file DualParticleIsphModule.h.
|
private |
Definition at line 160 of file DualParticleIsphModule.h.
|
private |
Definition at line 143 of file DualParticleIsphModule.h.
|
private |
Definition at line 163 of file DualParticleIsphModule.h.
|
private |
Definition at line 148 of file DualParticleIsphModule.h.
|
private |
Definition at line 154 of file DualParticleIsphModule.h.
|
private |
Definition at line 155 of file DualParticleIsphModule.h.
|
private |
Definition at line 140 of file DualParticleIsphModule.h.
|
private |
Definition at line 151 of file DualParticleIsphModule.h.
|
private |
Definition at line 141 of file DualParticleIsphModule.h.
|
private |
Definition at line 152 of file DualParticleIsphModule.h.
|
private |
Definition at line 150 of file DualParticleIsphModule.h.
|
private |
Definition at line 162 of file DualParticleIsphModule.h.
|
private |
Definition at line 153 of file DualParticleIsphModule.h.
|
private |
Definition at line 145 of file DualParticleIsphModule.h.
|
private |
Definition at line 147 of file DualParticleIsphModule.h.
|
private |
Definition at line 169 of file DualParticleIsphModule.h.
|
private |
Definition at line 142 of file DualParticleIsphModule.h.
|
private |
Definition at line 149 of file DualParticleIsphModule.h.
|
private |
Definition at line 159 of file DualParticleIsphModule.h.
|
private |
Definition at line 146 of file DualParticleIsphModule.h.
|
private |
Definition at line 173 of file DualParticleIsphModule.h.
|
private |
Definition at line 171 of file DualParticleIsphModule.h.
|
private |
Definition at line 167 of file DualParticleIsphModule.h.
|
private |
Definition at line 157 of file DualParticleIsphModule.h.