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

#include <DualParticleIsphModule.h>

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

Public Types

typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
typedef TDataType::Matrix Matrix
 
- Public Types inherited from dyno::OBase
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")
 
- Public Member Functions inherited from dyno::ConstraintModule
 ConstraintModule ()
 
 ~ConstraintModule () override
 
std::string getModuleType () override
 
- 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
 
virtual void setParentNode (Node *node)
 Set the parent node.
 
NodegetParentNode ()
 
SceneGraphgetSceneGraph ()
 
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.
 
- 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 ()
 

Private Member Functions

bool initializeImpl () override
 
bool virtualArraysResize ()
 
bool realArraysResize ()
 

Private Attributes

bool init_flag = false
 
CubicKernel< Realkernel
 
Real m_maxAii
 
Real m_particleMass
 
Real m_v_particleMass
 
Real m_airPressure
 
DArray< bool > m_solidVirtualPaticleFlag
 
DArray< Coordm_virtualVelocity
 
DArray< Realm_source
 
DArray< Realm_Ax
 
DArray< bool > m_virtualAirFlag
 
DArray< Realm_r
 
DArray< Realm_p
 
DArray< Realm_pressure
 
DArray< Realm_residual
 
DArray< Coordm_Gp
 
DArray< Coordm_GpNearSolid
 
unsigned int virtualNumber_old = 0
 
DArray< Realm_virtualAirWeight
 
DArray< Realm_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 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::ConstraintModule
void updateImpl () override
 
- Protected Member Functions inherited from dyno::Module
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 ()
 
- 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::DualParticleIsphModule< TDataType >

Definition at line 44 of file DualParticleIsphModule.h.

Member Typedef Documentation

◆ Coord

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

Definition at line 49 of file DualParticleIsphModule.h.

◆ Matrix

template<typename TDataType>
typedef TDataType::Matrix dyno::DualParticleIsphModule< TDataType >::Matrix

Definition at line 50 of file DualParticleIsphModule.h.

◆ Real

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

Definition at line 48 of file DualParticleIsphModule.h.

Constructor & Destructor Documentation

◆ DualParticleIsphModule()

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

◆ ~DualParticleIsphModule()

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::~DualParticleIsphModule ( )
override

Member Function Documentation

◆ constrain()

template<typename TDataType>
void dyno::DualParticleIsphModule< TDataType >::constrain ( )
overridevirtual

◆ DEF_ARRAY_IN() [1/5]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_IN ( Attribute ,
ParticleAttribute ,
DeviceType::GPU ,
"Real particle attribute"  )

Real Particle attribute.

Here is the call graph for this function:

◆ DEF_ARRAY_IN() [2/5]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_IN ( Coord ,
BoundaryNorm ,
DeviceType::GPU ,
"Real-solid particle normal"  )

Real-Solid Particle Normal.

Here is the call graph for this function:

◆ DEF_ARRAY_IN() [3/5]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_IN ( Coord ,
RPosition ,
DeviceType::GPU ,
"Input real particle position"  )

Real Particle position.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DEF_ARRAY_IN() [4/5]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_IN ( Coord ,
Velocity ,
DeviceType::GPU ,
"Input particle velocity"  )

Real Particle velocitie.

Here is the call graph for this function:

◆ DEF_ARRAY_IN() [5/5]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_IN ( Coord ,
VPosition ,
DeviceType::GPU ,
"Input virtual particle position"  )

Virtual Particle position.

Here is the call graph for this function:

◆ DEF_ARRAY_OUT() [1/2]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_OUT ( bool ,
VirtualBool ,
DeviceType::GPU ,
"Virtual Particle's Boolean Quantity"  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DEF_ARRAY_OUT() [2/2]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAY_OUT ( Real ,
VirtualWeight ,
DeviceType::GPU ,
"Virtual Particle's Float Quantity"  )
Here is the call graph for this function:

◆ DEF_ARRAYLIST_IN() [1/4]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAYLIST_IN ( int ,
NeighborIds ,
DeviceType::GPU ,
"Return real neighbor ids of real particles"  )

Real Particle's Neghoboring Real Partilce.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DEF_ARRAYLIST_IN() [2/4]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAYLIST_IN ( int ,
RVNeighborIds ,
DeviceType::GPU ,
"Return Virtual neighbor ids of real particles"  )
Here is the call graph for this function:

◆ DEF_ARRAYLIST_IN() [3/4]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAYLIST_IN ( int ,
VRNeighborIds ,
DeviceType::GPU ,
"Return real neighbor ids of Virtual particles"  )
Here is the call graph for this function:

◆ DEF_ARRAYLIST_IN() [4/4]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_ARRAYLIST_IN ( int ,
VVNeighborIds ,
DeviceType::GPU ,
"Return Virtual neighbor ids of virtual particles"  )
Here is the call graph for this function:

◆ DEF_VAR() [1/4]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_VAR ( Real ,
ResidualThreshold ,
0. 001f,
"Convergence threshold for the pressure Poisson Equation"  )
Here is the call graph for this function:

◆ DEF_VAR() [2/4]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_VAR ( Real ,
RestDensity ,
Real(1000) ,
"Reference density"  )
Here is the caller graph for this function:

◆ DEF_VAR() [3/4]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_VAR ( Real ,
SamplingDistance ,
Real(0.005) ,
""  )

◆ DEF_VAR() [4/4]

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_VAR ( Real ,
SmoothingLength ,
Real(0.0125) ,
"Smoothing length in most cases"  )

◆ DEF_VAR_IN()

template<typename TDataType>
dyno::DualParticleIsphModule< TDataType >::DEF_VAR_IN ( Real ,
TimeStep ,
"Time Step"  )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initializeImpl()

template<typename TDataType>
bool dyno::DualParticleIsphModule< TDataType >::initializeImpl ( )
overrideprivatevirtual

Reimplemented from dyno::Module.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ realArraysResize()

template<typename TDataType>
bool dyno::DualParticleIsphModule< TDataType >::realArraysResize ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ virtualArraysResize()

template<typename TDataType>
bool dyno::DualParticleIsphModule< TDataType >::virtualArraysResize ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ frag_number

template<typename TDataType>
unsigned int dyno::DualParticleIsphModule< TDataType >::frag_number = 0
private

Definition at line 166 of file DualParticleIsphModule.h.

◆ init_flag

template<typename TDataType>
bool dyno::DualParticleIsphModule< TDataType >::init_flag = false
private

Definition at line 136 of file DualParticleIsphModule.h.

◆ kernel

template<typename TDataType>
CubicKernel<Real> dyno::DualParticleIsphModule< TDataType >::kernel
private

Definition at line 139 of file DualParticleIsphModule.h.

◆ m_Aii

template<typename TDataType>
DArray<Real> dyno::DualParticleIsphModule< TDataType >::m_Aii
private

Definition at line 160 of file DualParticleIsphModule.h.

◆ m_airPressure

template<typename TDataType>
Real dyno::DualParticleIsphModule< TDataType >::m_airPressure
private

Definition at line 143 of file DualParticleIsphModule.h.

◆ m_arithmetic

template<typename TDataType>
Arithmetic<Real>* dyno::DualParticleIsphModule< TDataType >::m_arithmetic
private

Definition at line 163 of file DualParticleIsphModule.h.

◆ m_Ax

template<typename TDataType>
DArray<Real> dyno::DualParticleIsphModule< TDataType >::m_Ax
private

Definition at line 148 of file DualParticleIsphModule.h.

◆ m_Gp

template<typename TDataType>
DArray<Coord> dyno::DualParticleIsphModule< TDataType >::m_Gp
private

Definition at line 154 of file DualParticleIsphModule.h.

◆ m_GpNearSolid

template<typename TDataType>
DArray<Coord> dyno::DualParticleIsphModule< TDataType >::m_GpNearSolid
private

Definition at line 155 of file DualParticleIsphModule.h.

◆ m_maxAii

template<typename TDataType>
Real dyno::DualParticleIsphModule< TDataType >::m_maxAii
private

Definition at line 140 of file DualParticleIsphModule.h.

◆ m_p

template<typename TDataType>
DArray<Real> dyno::DualParticleIsphModule< TDataType >::m_p
private

Definition at line 151 of file DualParticleIsphModule.h.

◆ m_particleMass

template<typename TDataType>
Real dyno::DualParticleIsphModule< TDataType >::m_particleMass
private

Definition at line 141 of file DualParticleIsphModule.h.

◆ m_pressure

template<typename TDataType>
DArray<Real> dyno::DualParticleIsphModule< TDataType >::m_pressure
private

Definition at line 152 of file DualParticleIsphModule.h.

◆ m_r

template<typename TDataType>
DArray<Real> dyno::DualParticleIsphModule< TDataType >::m_r
private

Definition at line 150 of file DualParticleIsphModule.h.

◆ m_reduce

template<typename TDataType>
Reduction<Real>* dyno::DualParticleIsphModule< TDataType >::m_reduce
private

Definition at line 162 of file DualParticleIsphModule.h.

◆ m_residual

template<typename TDataType>
DArray<Real> dyno::DualParticleIsphModule< TDataType >::m_residual
private

Definition at line 153 of file DualParticleIsphModule.h.

◆ m_solidVirtualPaticleFlag

template<typename TDataType>
DArray<bool> dyno::DualParticleIsphModule< TDataType >::m_solidVirtualPaticleFlag
private

Definition at line 145 of file DualParticleIsphModule.h.

◆ m_source

template<typename TDataType>
DArray<Real> dyno::DualParticleIsphModule< TDataType >::m_source
private

Definition at line 147 of file DualParticleIsphModule.h.

◆ m_summation

template<typename TDataType>
std::shared_ptr<SummationDensity<TDataType> > dyno::DualParticleIsphModule< TDataType >::m_summation
private

Definition at line 169 of file DualParticleIsphModule.h.

◆ m_v_particleMass

template<typename TDataType>
Real dyno::DualParticleIsphModule< TDataType >::m_v_particleMass
private

Definition at line 142 of file DualParticleIsphModule.h.

◆ m_virtualAirFlag

template<typename TDataType>
DArray<bool> dyno::DualParticleIsphModule< TDataType >::m_virtualAirFlag
private

Definition at line 149 of file DualParticleIsphModule.h.

◆ m_virtualAirWeight

template<typename TDataType>
DArray<Real> dyno::DualParticleIsphModule< TDataType >::m_virtualAirWeight
private

Definition at line 159 of file DualParticleIsphModule.h.

◆ m_virtualVelocity

template<typename TDataType>
DArray<Coord> dyno::DualParticleIsphModule< TDataType >::m_virtualVelocity
private

Definition at line 146 of file DualParticleIsphModule.h.

◆ m_vr_summation

template<typename TDataType>
std::shared_ptr<SummationDensity<TDataType> > dyno::DualParticleIsphModule< TDataType >::m_vr_summation
private

Definition at line 173 of file DualParticleIsphModule.h.

◆ m_vv_summation

template<typename TDataType>
std::shared_ptr<SummationDensity<TDataType> > dyno::DualParticleIsphModule< TDataType >::m_vv_summation
private

Definition at line 171 of file DualParticleIsphModule.h.

◆ max_Aii

template<typename TDataType>
Real dyno::DualParticleIsphModule< TDataType >::max_Aii
private

Definition at line 167 of file DualParticleIsphModule.h.

◆ virtualNumber_old

template<typename TDataType>
unsigned int dyno::DualParticleIsphModule< TDataType >::virtualNumber_old = 0
private

Definition at line 157 of file DualParticleIsphModule.h.


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