void compute_particle_mass(std::vector< CSpecies > &Species)
Compute Particle mass function, which required a reference to the Species vector. It copmuters the Pa...
BaseParticle * getLightestParticle() const
Gets a pointer to the lightest BaseParticle (by mass) in this ParticleHandler.
Defines a pair of periodic walls. The particles are in {x: position_left<=normal*x
Mdouble get_Radius() const
virtual void create_bottom()
Create the bottom of chute out of particles.
Mdouble get_t()
Access function for the time.
WallHandler & getWallHandler()
Mdouble get_ymin()
Gets ymin.
bool TestObjAgainstGrid(HGrid *grid, BaseParticle *obj)
Tests obj against all neighbouring particles similar to CheckObjAgainstGrid, but links to TestCell in...
void set_RandomizedBottom(int new_)
Changes RandomizedBottom.
void write(std::ostream &os)
This function writes all HGRID data.
Mdouble get_xmin()
Get xmin.
void copyAndAddWall(const BaseWall &B)
Creates a copy of a BaseWall and adds it to the WallHandler.
void setup_particles_initial_conditions()
initialize particle position, velocity, radius
Mdouble get_collision_time(Mdouble mass, unsigned int indSpecies=0)
Calculates collision time for two copies of a particle of given disp, k, mass.
void set_ChuteWidth(Mdouble new_)
Access function that set the width of the chute.
Mdouble get_k(int indSpecies=0)
Allows the spring constant to be accessed.
virtual bool IsInsertable(BaseParticle &P)
here, CheckObjects is called; returns true is the particle should be added
void initialize_inflow_particle()
Sets initial values for particles that are created at the inflow.
const std::vector< T * >::const_iterator end() const
Gets the end of the const_iterator over all BaseBoundary in this BaseHandler.
Mdouble get_rho(int indSpecies=0)
Allows the density to be accessed.
int ComputeHashBucketIndex(int x, int y, int z, int l)
Computes hash bucket index in range [0, NUM_BUCKETS-1].
Mdouble get_kt(int indSpecies=0)
Allows the spring constant to be accessed.
TangentialSpringParticle P0
Mdouble get_tmax()
Allows the upper time limit to be accessed.
virtual void set_ChuteLength(Mdouble new_)
void add_particle(BaseParticle &P)
adds particle to hgrid
unsigned int getNumberOfObjects() const
Gets the number of Object in this BaseHandler.
const Vec3D & get_Position() const
void print(std::ostream &os, bool print_all=false)
This function std::couts all chute data.
void set(Vec3D normal_, Mdouble position_)
Defines a standard wall, given an outward normal vector s. t. normal*x=position.
void constructor()
This is the actual constructor; it is called do both constructors above.
Mdouble get_disp(unsigned int indSpecies=0)
Allows the normal dissipation to be accessed.
int readNextArgument(unsigned int &i, unsigned int argc, char *argv[])
void set_Radius(const Mdouble _new)
void set_Velocity(const Vec3D &_new)
void cout_time()
std::couts time
Mdouble FixedParticleRadius
void set_AngularVelocity(const Vec3D &_new)
virtual void removeParticle(int iP)
Mdouble get_collision_time()
Calculates collision time of two inflow particles.
void set_Angle(const Vec3D &_new)
BoundaryHandler & getBoundaryHandler()
This is a class defining walls.
Mdouble MaxInflowParticleRadius
void read(std::istream &is)
This function reads all chute data.
ParticleHandler & getParticleHandler()
void set_dissipation(Mdouble new_, unsigned int indSpecies=0)
Allows the normal dissipation to be changed.
void set(Vec3D normal_, Mdouble position_left_, Mdouble position_right_)
Defines a periodic wall, given a normal vector s.t.
Mdouble get_SmallestParticleInteractionRadius()
Returns the radius of the smallest particle.
int get_restart_version()
Gets restart_version.
Mdouble get_xmax()
Get xmax.
void read(std::istream &is)
This function reads all HGRID data.
Implementation of a 3D vector (by Vitaliy).
void HGRID_actions_before_time_step()
This resets all the bucket information.
void set_Position(const Vec3D &_new)
void HGRID_actions_before_time_loop()
This sets up the broad phase information, has to be done at this stage becuase it requires the partcl...
virtual void write(std::ostream &os)
This function writes all chute data.
Mdouble get_zmax()
Gets zmax.
void set_k(Mdouble new_, unsigned int indSpecies=0)
Allows the spring constant to be changed.
void set_FixedParticleRadius(Mdouble new_)
Allows radius of fixed particles to be changed.
void set_collision_time_and_restitution_coefficient(Mdouble tc, Mdouble eps)
Sets k, disp such that it matches a given tc and eps for a collision of two inflow particles...
void set_InflowParticleRadius(Mdouble new_)
Allows radius of inflow particles to be changed.
BaseParticle ** objectBucket
objectBucket[b] stores pointer to first element in hash bucket b; initially all NULL ...
Mdouble get_FixedParticleRadius()
Allows radius of fixed particles to be accessed.