|
ESyS-Particle
2.3
|
Class for a group of viscous and elastic interactions between particles and a wall. More...
#include <ViscWallIG.h>


Public Member Functions | |
| CViscWallIG (TML_Comm *) | |
| CViscWallIG (TML_Comm *, CWall *, const CVWallIGP *) | |
| virtual | ~CViscWallIG () |
| virtual void | setTimeStepSize (double dt) |
| virtual void | calcForces () |
| virtual void | applyForce (const Vec3 &) |
| virtual void | setVelocity (const Vec3 &) |
| virtual void | Update (ParallelParticleArray< T > *) |
Public Member Functions inherited from AWallInteractionGroup< T > | |
| AWallInteractionGroup (TML_Comm *comm) | |
| virtual | ~AWallInteractionGroup () |
| double | getDisplacement () |
| void | resetDisplacement () |
| void | moveWallBy (const Vec3 &mv) |
| void | setWallNormal (const Vec3 &wn) |
| void | zeroForce () |
Public Member Functions inherited from AInteractionGroup< T > | |
| virtual | ~AInteractionGroup () |
Protected Attributes | |
| vector< CViscWallInteraction< T > > | m_visc_interactions |
| visc interactions for tagged particles More... | |
| vector < CElasticWallInteraction< T > > | m_elastic_interactions |
| elastic interactions all particles More... | |
| double | m_k |
| spring constant More... | |
| double | m_nu |
| int | m_tag |
Protected Attributes inherited from AWallInteractionGroup< T > | |
| CWall * | m_wall |
| the wall More... | |
| TML_Comm * | m_comm |
| MPI communicator. More... | |
| int | m_inner_count |
Friends | |
| ostream & | operator<< (ostream &, const CViscWallIG &) |
Class for a group of viscous and elastic interactions between particles and a wall.
| CViscWallIG< T >::CViscWallIG | ( | TML_Comm * | comm | ) |
| CViscWallIG< T >::CViscWallIG | ( | TML_Comm * | comm, |
| CWall * | wallp, | ||
| const CVWallIGP * | I | ||
| ) |
Constructor for wall interaction group with viscous drag
| comm | the communicator |
| wallp | a pointer to the wall |
| param | the interaction parameters |
References console, CVWallIGP::getNu(), CElasticIGP::getSpringConst(), CVWallIGP::getTag(), AWallInteractionGroup< T >::m_inner_count, CViscWallIG< T >::m_k, CViscWallIG< T >::m_nu, CViscWallIG< T >::m_tag, AWallInteractionGroup< T >::m_wall, and BasicCon::XDebug().

|
inlinevirtual |
|
virtual |
Apply a given force to the wall. Only forces in the direction of the given force are considered, free movement is assumed in perpendicular directions.
| F | the force |
Reimplemented from AWallInteractionGroup< T >.
References esys::lsm::bpu::iter(), Vec3::unit(), Vec3::X(), Vec3::Y(), and Vec3::Z().

|
virtual |
Implements AWallInteractionGroup< T >.
References console, and BasicCon::XDebug().

|
inlinevirtual |
Null op, don't require time step size.
Reimplemented from AWallInteractionGroup< T >.
|
virtual |
Set velocity of the wall. Only sets m_vel of the wall, doesn't affect position updates.
| V | the velocity |
Reimplemented from AWallInteractionGroup< T >.
|
virtual |
Update interactions from an existing parallel particle array
| PPA | a pointer to the particle array |
Implements AInteractionGroup< T >.
References console, ParallelParticleArray< T >::getParticlesAtPlane(), ParallelParticleArray< T >::isInInner(), esys::lsm::bpu::iter(), and BasicCon::XDebug().

|
friend |
|
protected |
elastic interactions all particles
|
protected |
spring constant
Referenced by CViscWallIG< T >::CViscWallIG().
|
protected |
Referenced by CViscWallIG< T >::CViscWallIG().
|
protected |
Referenced by CViscWallIG< T >::CViscWallIG().
|
protected |
visc interactions for tagged particles