26 #ifndef HorizontalScrew_H
27 #define HorizontalScrew_H
90 void read(std::istream& is)
override;
95 void write(std::ostream& os)
const override;
100 std::string
getName()
const final;
const unsigned n
Definition: CG3DPackingUnitTest.cpp:32
Definition: BaseParticle.h:54
Basic class for walls.
Definition: BaseWall.h:49
This function defines an Archimedes' screw in the z-direction from a (constant) starting point,...
Definition: HorizontalScrew.h:39
HorizontalScrew()
Default constructor: make a screw with default parameters.
Definition: HorizontalScrew.cc:37
std::string getName() const final
Returns the name of the object, here the string "HorizontalScrew".
Definition: HorizontalScrew.cc:331
Mdouble bladeLength_
The length of a blade (in the q-coordinate, which is a linear mapping from start.Z<z<start....
Definition: HorizontalScrew.h:144
Vec3D getStart() const
Returns the starting position of the HorizontalScrew.
Definition: HorizontalScrew.cc:266
void read(std::istream &is) override
Reads a HorizontalScrew from an input stream, for example a restart file.
Definition: HorizontalScrew.cc:282
Mdouble diffR_
Definition: HorizontalScrew.h:120
Mdouble thickness_
The thickness of the HorizontalScrew.
Definition: HorizontalScrew.h:136
Vec3D start_
The centre of the lower end of the screw.
Definition: HorizontalScrew.h:110
Mdouble omega_
Rotation speed in rev/s.
Definition: HorizontalScrew.h:128
void write(std::ostream &os) const override
Writes this HorizontalScrew to an output stream, for example a restart file.
Definition: HorizontalScrew.cc:309
Mdouble offset_
The angle that describes how much the HorizontalScrew has turned, going from 0 to 1 for a rotation.
Definition: HorizontalScrew.h:132
~HorizontalScrew()
Default destructor.
Definition: HorizontalScrew.cc:103
HorizontalScrew * copy() const final
Copy this screw and return a pointer to the copy.
Definition: HorizontalScrew.cc:111
Mdouble n_
The number of revelations.
Definition: HorizontalScrew.h:124
Mdouble minR_
The outer radius of the HorizontalScrew.
Definition: HorizontalScrew.h:118
Mdouble l_
The length of the HorizontalScrew.
Definition: HorizontalScrew.h:114
Mdouble lowerR_
Definition: HorizontalScrew.h:119
void writeVTK(VTKContainer &vtk) const override
Definition: HorizontalScrew.cc:343
Mdouble bladeWidth_
The maximum radial width of a blade (in r).
Definition: HorizontalScrew.h:140
std::vector< Mdouble > bladeMounts_
The starting point of a blade (in the q-coordinate, which is a linear mapping from start....
Definition: HorizontalScrew.h:148
Mdouble getLength() const
Returns the length of the HorizontalScrew.
Definition: HorizontalScrew.cc:261
void move_time(Mdouble dt)
Rotate the HorizontalScrew for a period dt, so that the offset_ changes with omega_*dt.
Definition: HorizontalScrew.cc:274
void setBlades(const Mdouble bladeWidth, const Mdouble bladeLength, const std::vector< Mdouble > bladeMounts)
Definition: HorizontalScrew.cc:336
bool getDistanceAndNormal(const BaseParticle &P, Mdouble &distance, Vec3D &normal_return) const final
Compute the distance from the HorizontalScrew for a given BaseParticle and return if there is a colli...
Definition: HorizontalScrew.cc:127
Definition: ParticleSpecies.h:37
double P
Uniform pressure.
Definition: TwenteMeshGluing.cpp:73
Definition: BaseWall.h:38