MercuryDPM
0.10
|
#include <FiniteWall.h>
Public Member Functions | |
FiniteWall () | |
virtual FiniteWall * | copy () const |
Wall copy method. It calls the copy contrustor of this Wall, usefull for polymorfism. More... | |
void | clear () |
void | add_finite_wall (Vec3D normal, Vec3D point) |
Adds a wall to the set of finite walls, given an outward normal vector s.t. normal*x=normal*point. More... | |
void | add_finite_wall (Vec3D normal_, Mdouble position_) |
Adds a wall to the set of finite walls, given an outward normal vector s. t. normal*x=position. More... | |
void | create_open_prism_wall (std::vector< Vec3D > Points, Vec3D PrismAxis) |
void | create_prism_wall (std::vector< Vec3D > Points, Vec3D PrismAxis) |
void | create_open_prism_wall (std::vector< Vec3D > Points) |
void | create_prism_wall (std::vector< Vec3D > Points) |
bool | get_distance_and_normal (BaseParticle &P, Mdouble &distance, Vec3D &normal_return) |
Since this function should be called before calculating any Particle-Wall interactions, it can also be used to set the normal vector in case of curved walls. More... | |
void | read (std::istream &is) |
reads wall More... | |
void | print (std::ostream &os) const |
outputs wall More... | |
Vec3D | get_Velocity () const |
access function for velocity More... | |
![]() | |
BaseWall () | |
BaseWall (const BaseWall &p) | |
virtual | ~BaseWall () |
virtual void | move (Mdouble position_ UNUSED) |
Allows the wall to be moved to a new position. More... | |
virtual void | move (Vec3D velocity_ UNUSED, Mdouble dt UNUSED) |
Allows the wall to be moved to a new position (also orthogonal to the normal), and setting the velocity. More... | |
virtual void | move_time (Mdouble dt UNUSED) |
Allows the wall to be moved to a new position (also orthogonal to the normal), and setting the velocity. More... | |
virtual bool | get_distance_and_normal (BaseParticle &P UNUSED, Mdouble &distance UNUSED, Vec3D &normal_return UNUSED)=0 |
void | set_Velocity (Vec3D new_) |
access function for velocity More... | |
virtual void | read (std::istream &is UNUSED)=0 |
virtual void | print (std::ostream &os UNUSED) const =0 |
virtual void | moveInHandler (int newPos) |
int | getIndSpecies () const |
void | setIndSpecies (const int _new) |
const Vec3D & | get_Force () const |
const Vec3D & | get_Torque () const |
void | set_Force (Vec3D _new) |
void | set_Torque (Vec3D _new) |
void | set_Index (int index) |
void | set_Id (int id) |
void | add_Force (Vec3D _new) |
void | add_Torque (Vec3D _new) |
Private Attributes | |
std::vector< InfiniteWall > | finite_walls |
std::vector< Vec3D > | A |
std::vector< Vec3D > | AB |
std::vector< Vec3D > | C |
Additional Inherited Members | |
![]() | |
int | indSpecies |
![]() | |
Vec3D | velocity |
velocity of the wall (used to calculate the relative velocity in the force calculation) More... | |
Definition at line 33 of file FiniteWall.h.
|
inline |
Adds a wall to the set of finite walls, given an outward normal vector s.t. normal*x=normal*point.
Definition at line 57 of file FiniteWall.h.
Referenced by ChuteWithHopper::add_hopper(), create_open_prism_wall(), create_prism_wall(), and read().
Adds a wall to the set of finite walls, given an outward normal vector s. t. normal*x=position.
Definition at line 61 of file FiniteWall.h.
References A, AB, C, Cross(), finite_walls, X, Y, and Z.
|
inlinevirtual |
Reimplemented from BaseWall.
Definition at line 49 of file FiniteWall.h.
References finite_walls, BaseWall::indSpecies, Vec3D::set_zero(), and BaseWall::velocity.
|
inlinevirtual |
Wall copy method. It calls the copy contrustor of this Wall, usefull for polymorfism.
Implements BaseWall.
Reimplemented in FiniteAxisSymmetricWall.
Definition at line 44 of file FiniteWall.h.
References FiniteWall().
Definition at line 117 of file FiniteWall.h.
References add_finite_wall(), Cross(), and finite_walls.
Referenced by create_prism_wall().
|
inline |
Definition at line 130 of file FiniteWall.h.
References add_finite_wall(), Cross(), and finite_walls.
Definition at line 124 of file FiniteWall.h.
References add_finite_wall(), create_open_prism_wall(), and Cross().
|
inline |
Definition at line 140 of file FiniteWall.h.
References add_finite_wall(), create_open_prism_wall(), and Cross().
|
inline |
Since this function should be called before calculating any Particle-Wall interactions, it can also be used to set the normal vector in case of curved walls.
Definition at line 150 of file FiniteWall.h.
References A, AB, C, finite_walls, BaseParticle::get_Position(), BaseParticle::get_WallInteractionRadius(), and Vec3D::GetLength2.
Referenced by FiniteAxisSymmetricWall::get_distance_and_normal().
|
inlinevirtual |
access function for velocity
Implements BaseWall.
Definition at line 261 of file FiniteWall.h.
References BaseWall::velocity.
|
inline |
outputs wall
Definition at line 250 of file FiniteWall.h.
References finite_walls, Vec3D::GetLength2, and BaseWall::velocity.
Referenced by FiniteAxisSymmetricWall::print().
|
inline |
reads wall
Definition at line 233 of file FiniteWall.h.
References add_finite_wall(), and BaseWall::velocity.
Referenced by FiniteAxisSymmetricWall::read().
|
private |
Definition at line 265 of file FiniteWall.h.
Referenced by add_finite_wall(), and get_distance_and_normal().
|
private |
Definition at line 266 of file FiniteWall.h.
Referenced by add_finite_wall(), and get_distance_and_normal().
|
private |
Definition at line 267 of file FiniteWall.h.
Referenced by add_finite_wall(), and get_distance_and_normal().
|
private |
Definition at line 264 of file FiniteWall.h.
Referenced by add_finite_wall(), clear(), create_open_prism_wall(), get_distance_and_normal(), and print().