5 #ifndef BOUNDARIES_CYLINDERINSERTIONBOUNDARY_H
6 #define BOUNDARIES_CYLINDERINSERTIONBOUNDARY_H
48 Vec3D normal = {0, 0, 1},
Mdouble thetaMin = -
constants::pi,
Mdouble thetaMax =
constants::pi,
Vec3D velMin = {0, 0, 0},
Vec3D velMax = {0, 0, 0});
52 Vec3D normal = {0, 0, 1},
Mdouble thetaMin = -
constants::pi,
Mdouble thetaMax =
constants::pi,
Vec3D velMin = {0, 0, 0},
Vec3D velMax = {0, 0, 0});
58 set(std::vector<BaseParticle*> particleToCopy,
unsigned int maxFailed,
Mdouble rMin,
59 Mdouble rMax,
Mdouble hMin,
Mdouble hMax,
Vec3D normal = {0, 0, 1},
Mdouble thetaMin = -
constants::pi,
Mdouble thetaMax =
constants::pi,
Vec3D velMin = {0, 0, 0},
60 Vec3D velMax = {0,0,0});
131 void read(std::istream& is)
override;
136 void write(std::ostream& os)
const override;
float * p
Definition: Tutorial_Map_using.cpp:9
Definition: BaseParticle.h:33
Inserts particles in a cylinder with a given radius, height and azimuthal radius at a specific origin...
Definition: CylinderInsertionBoundary.h:21
Matrix3D getOrientationMatrix() const
Returns the orientation matrix of the cylinder.
Definition: CylinderInsertionBoundary.cc:317
Mdouble radMax_
Definition: CylinderInsertionBoundary.h:156
CylinderInsertionBoundary * copy() const override
Creates a copy on the heap and returns a pointer.
Definition: CylinderInsertionBoundary.cc:52
void placeParticle(BaseParticle *p, RNG &random) override
Generates a random position, velocity for the particle p.
Definition: CylinderInsertionBoundary.cc:264
Mdouble radMin_
Minimal and maximal radius defining the inner and outer circle of the cylinder in which insertion sho...
Definition: CylinderInsertionBoundary.h:156
Matrix3D getRotationMatrixX(Mdouble rotationAngle)
gets the rotationMatrix for a rotation around the X axis by a certain angle
Definition: CylinderInsertionBoundary.cc:207
void read(std::istream &is) override
reads boundary properties from istream
Definition: CylinderInsertionBoundary.cc:327
void write(std::ostream &os) const override
writes boundary properties to ostream
Definition: CylinderInsertionBoundary.cc:347
void rotateBoundary(Vec3D angle) override
rotate the cylinder around its origin
Definition: CylinderInsertionBoundary.cc:253
Mdouble thetaMax_
Definition: CylinderInsertionBoundary.h:151
Matrix3D getRotationMatrixY(Mdouble rotationAngle)
gets the rotationMatrix for a rotation around the Y axis by a certain angle
Definition: CylinderInsertionBoundary.cc:222
std::string getName() const override
Returns the name of the object.
Definition: CylinderInsertionBoundary.cc:366
~CylinderInsertionBoundary() override
Destructor: default destructor.
CylinderInsertionBoundary()
Constructor; sets everything to 0.
Definition: CylinderInsertionBoundary.cc:13
void setGeometry(Mdouble rMin, Mdouble rMax, Mdouble hMin, Mdouble hMax, Mdouble thetaMin, Mdouble thetaMax, Vec3D normal)
Sets the geometry (position and orientation) of the CylinderInsertionBoundary.
Definition: CylinderInsertionBoundary.cc:161
Mdouble thetaMin_
Minimal and maximal azimuth angle in range [-pi,pi] defining the circle of the cylinder in which inse...
Definition: CylinderInsertionBoundary.h:151
void shiftBoundary(Vec3D shift) override
shift the origin of the cylinder in the cartesian coordinate system
Definition: CylinderInsertionBoundary.cc:299
Matrix3D orientationMatrix_
Orientation matrix which rotates the cylinder based on the chosen normal axis (the height axis of the...
Definition: CylinderInsertionBoundary.h:166
Mdouble hMax_
Definition: CylinderInsertionBoundary.h:161
Vec3D origin_
origin of the cylinder.
Definition: CylinderInsertionBoundary.h:171
Matrix3D getRotationMatrixZ(Mdouble rotationAngle)
gets the rotationMatrix for a rotation around the Z axis by a certain angle
Definition: CylinderInsertionBoundary.cc:237
void set(BaseParticle *particleToCopy, unsigned int maxFailed, Mdouble rMin, Mdouble rMax, Mdouble hMin, Mdouble hMax, Vec3D normal={0, 0, 1}, Mdouble thetaMin=-constants::pi, Mdouble thetaMax=constants::pi, Vec3D velMin={0, 0, 0}, Vec3D velMax={0, 0, 0})
Sets the properties of the InsertionBoundary for mutliple different particle types.
Definition: CylinderInsertionBoundary.cc:109
Vec3D getOrigin() const
Returns the origin of the cylinders coordinate system.
Definition: CylinderInsertionBoundary.cc:308
void setOrientation(Vec3D normal)
sets the orientation of the Cylinder
Definition: CylinderInsertionBoundary.cc:177
Mdouble hMin_
Minimal and maximal height defining the cylinder in which insertion should happen.
Definition: CylinderInsertionBoundary.h:161
Boundary structure for boundaries used for insertion of particles.
Definition: InsertionBoundary.h:29
Implementation of a 3D matrix.
Definition: Kernel/Math/Matrix.h:17
This is a class that generates random numbers i.e. named the Random Number Generator (RNG).
Definition: RNG.h:32
Definition: Kernel/Math/Vector.h:30
double angle(const double &t)
Angular position as a function of time t.
Definition: jeffery_orbit.cc:98
void normal(const Vector< double > &x, Vector< double > &normal)
Definition: free_surface_rotation.cc:65
const Mdouble pi
Definition: ExtendedMath.h:23
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286