26 #ifndef FINITEAXISSYMETRICWALL_H
27 #define FINITEAXISSYMETRICWALL_H
40 #ifdef CONSTUCTOR_OUTPUT
41 std::cout<<
"FiniteAxisSymmetricWall() finished"<<std::endl;
50 #ifdef CONSTUCTOR_OUTPUT
51 std::cout<<
"FiniteAxisSymmetricWall(const FiniteAxisSymmetricWall &p) finished"<<std::endl;
69 Vec3D normal_axisymmetric_coordinates;
79 normal_return = normal_axisymmetric_coordinates.
Z *
axisOrientation + tangential*normal_axisymmetric_coordinates.
X;
99 void read(std::istream& is)
bool get_distance_and_normal(BaseParticle &P, Mdouble &distance, Vec3D &normal_return)
void read(std::istream &is)
reads wall
void print(std::ostream &os) const
outputs wall
Vec3D getAxisOrigin() const
Vec3D velocity
velocity of the wall (used to calculate the relative velocity in the force calculation) ...
Matrix3D Cross(const Vec3D &A, const Matrix3D &B)
FiniteAxisSymmetricWall()
Vec3D get_Velocity() const
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.
void moveAxisOrigin(Vec3D velocity_, Mdouble dt)
Allows the wall to be moved to a new position, and sets the velocity.
FiniteAxisSymmetricWall(const FiniteAxisSymmetricWall &p)
FiniteAxisSymmetricWall * copy() const
Wall copy method. It calls the copy contrustor of this Wall, usefull for polymorfism.
const Vec3D & get_Position() const
void setSymmetryAxis(Vec3D new_axisOrigin, Vec3D new_axisOrientation)
Defines an axisymmetric wall.
Mdouble GetLength() const
void read(std::istream &is)
reads wall
Implementation of a 3D vector (by Vitaliy).
void print(std::ostream &os) const
outputs wall
void set_Position(const Vec3D &_new)