MercuryDPM
0.10
|
#include <BaseParticle.h>
Public Member Functions | |
BaseParticle () | |
Basic Particle contructors, creates an Particle at (0,0,0) with radius, mass and inertia equal to 1. More... | |
BaseParticle (const BaseParticle &p) | |
Particle copy contstructor, which accepts as input a reference to a Particle. It creates a copy of this Particle and all it's information. Usually it is better to use the copy() function for polymorfism. More... | |
virtual | ~BaseParticle () |
Particle destructor, needs to be implemented and checked if it removes tangential spring information. More... | |
virtual BaseParticle * | copy () const |
Particle copy method. It calls to copy contrustor of this Particle, usefull for polymorfism. More... | |
Mdouble | get_Volume (std::vector< CSpecies > &Species) const |
Get Particle volume function, which required a reference to the Species vector. It returns the volume of the Particle. More... | |
void | fixParticle () |
Fix Particle function. It fixes a Particle by setting its inverse mass and inertia and velocities to zero. More... | |
bool | isFixed () |
Is fixed Particle function. It returns wether a Particle is fixed or not, by cheking its inverse Mass. More... | |
void | unfix (std::vector< CSpecies > &Species) |
Unfix Particle function, which required a reference to the Species vector. It un fixes a Particle by compyting the Particles mass and inertia. More... | |
void | compute_particle_mass (std::vector< CSpecies > &Species) |
Compute Particle mass function, which required a reference to the Species vector. It copmuters the Particles mass, Inertia and the inverses. More... | |
virtual void | read (std::istream &is) |
Particle read function, which accepts an os std::stringstream as input. More... | |
virtual void | print (std::ostream &os) const |
Particle print function, which accepts an os std::stringstream as input. More... | |
virtual void | moveInHandler (int newPos) |
void | print_HGRID (std::ostream &os) |
int | get_HGRID_Level () const |
BaseParticle * | get_HGRID_NextObject () const |
BaseParticle * | get_HGRID_PrevObject () const |
int | get_HGRID_x () const |
int | get_HGRID_y () const |
int | get_HGRID_z () const |
int | get_Index () const |
Mdouble | get_Inertia () const |
Mdouble | get_InvInertia () const |
Mdouble | get_InvMass () const |
Mdouble | get_KineticEnergy () const |
Mdouble | get_Mass () const |
BaseParticle * | get_PeriodicFromParticle () const |
const Vec3D & | get_Position () const |
Mdouble | get_Radius () const |
Mdouble | get_InteractionRadius () const |
Mdouble | get_WallInteractionRadius () const |
int | get_Species () const |
int | get_IndSpecies () const |
int | get_Id () const |
const Vec3D & | get_Velocity () const |
const Vec3D & | get_Angle () const |
const Vec3D & | get_AngularVelocity () const |
const Vec3D & | get_Force () const |
const Vec3D & | get_Torque () const |
const Vec3D & | get_Displacement () const |
const Vec3D & | get_PreviousPosition () const |
ParticleHandler * | getHandler () const |
const Vec3D | get_Displacement2 (Mdouble xmin, Mdouble xmax, Mdouble ymin, Mdouble ymax, Mdouble zmin, Mdouble zmax, Mdouble t) const |
void | set_inertia (const Mdouble _new) |
void | set_infiniteInertia () |
void | set_periodicFromParticle (BaseParticle *_new) |
void | set_species (const int _new) |
void | set_Index (const int _new) |
void | set_HGRID_x (const int _new) |
void | set_HGRID_y (const int _new) |
void | set_HGRID_z (const int _new) |
void | set_HGRID_Level (const int _new) |
void | set_HGRID_NextObject (BaseParticle *_new) |
void | set_HGRID_PrevObject (BaseParticle *_new) |
void | set_Radius (const Mdouble _new) |
void | set_IndSpecies (const int _new) |
void | set_Id (const int _new) |
void | set_Mass (const Mdouble _new) |
void | set_Velocity (const Vec3D &_new) |
void | set_Position (const Vec3D &_new) |
void | set_Displacement (const Vec3D &_new) |
void | set_PreviousPosition (const Vec3D &_new) |
void | set_Angle (const Vec3D &_new) |
void | set_AngularVelocity (const Vec3D &_new) |
void | set_Force (const Vec3D &_new) |
void | set_Torque (const Vec3D &_new) |
void | setHandler (ParticleHandler *handler) |
void | move (const Vec3D &_new) |
void | movePrevious (const Vec3D &_new) |
void | accelerate (const Vec3D &_new) |
void | rotate (const Vec3D &_new) |
void | angularAccelerate (const Vec3D &_new) |
void | add_Displacement (const Vec3D &_new) |
void | add_Force (const Vec3D &_new) |
void | add_Torque (const Vec3D &_new) |
Private Attributes | |
ParticleHandler * | handler |
int | HGRID_x |
Hgrid attributes. More... | |
int | HGRID_y |
int | HGRID_z |
int | HGRID_Level |
Cell position in the grid. More... | |
BaseParticle * | HGRID_NextObject |
Grid level for the object. More... | |
BaseParticle * | HGRID_PrevObject |
Pointer to the next Particle in the same HGrid cell. More... | |
int | _index |
Pointer to the previous Particle in the same HGrid cell. More... | |
Mdouble | mass |
Index of the Particle in the ParticleHandler, used for outputting fstat data. More... | |
Mdouble | invMass |
Particle mass. More... | |
Mdouble | inertia |
Inverse Particle mass (for computation optimization) More... | |
Mdouble | invInertia |
Particle inertia. More... | |
Mdouble | radius |
Inverse Particle inverse inertia (for computation optimization) More... | |
BaseParticle * | periodicFromParticle |
Particle radius. More... | |
int | indSpecies |
Pointer to originating Particle. More... | |
int | _id |
Index of the Species of this Particle. More... | |
Vec3D | angle |
non changing identifier of particle More... | |
Vec3D | angularVelocity |
Current angular position. More... | |
Vec3D | position |
Current angular velocity. More... | |
Vec3D | velocity |
Current particle position. More... | |
Vec3D | force |
Current particle velocity. More... | |
Vec3D | torque |
Interaction force. More... | |
Vec3D | displacement |
Torque. More... | |
Vec3D | previousPosition |
Displacement (only used in StatisticsVector, StatisticsPoint) More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const BaseParticle &b) |
writes wall More... | |
std::istream & | operator>> (std::istream &is, BaseParticle &b) |
reads wall More... | |
Definition at line 42 of file BaseParticle.h.
BaseParticle::BaseParticle | ( | ) |
Basic Particle contructors, creates an Particle at (0,0,0) with radius, mass and inertia equal to 1.
Definition at line 37 of file BaseParticle.cc.
References angle, angularVelocity, displacement, force, handler, HGRID_NextObject, HGRID_PrevObject, HGRID_x, HGRID_y, HGRID_z, indSpecies, inertia, invInertia, invMass, mass, periodicFromParticle, position, radius, Vec3D::set_zero(), torque, and velocity.
Referenced by copy().
BaseParticle::BaseParticle | ( | const BaseParticle & | p | ) |
Particle copy contstructor, which accepts as input a reference to a Particle. It creates a copy of this Particle and all it's information. Usually it is better to use the copy() function for polymorfism.
BaseParticle copy contstructor, which accepts as input a reference to a BaseParticle. It creates a copy of this BaseParticle and all it's information. Usually it is better to use the copy() function for polymorfism.
Definition at line 69 of file BaseParticle.cc.
References angle, angularVelocity, displacement, force, get_Inertia(), get_InvInertia(), get_InvMass(), get_Mass(), handler, HGRID_Level, HGRID_NextObject, HGRID_PrevObject, HGRID_x, HGRID_y, HGRID_z, indSpecies, inertia, invInertia, invMass, mass, periodicFromParticle, position, radius, torque, and velocity.
|
virtual |
Particle destructor, needs to be implemented and checked if it removes tangential spring information.
BaseParticle destructor, needs to be implemented and checked if it removes tangential spring information.
Definition at line 105 of file BaseParticle.cc.
References ParticleHandler::checkExtremaOnDelete(), and handler.
void BaseParticle::accelerate | ( | const Vec3D & | _new | ) |
Definition at line 305 of file BaseParticle.cc.
References velocity.
Referenced by MD::do_integration_after_force_computation(), MD::do_integration_before_force_computation(), and AngledPeriodicBoundary::shift_position().
void BaseParticle::add_Displacement | ( | const Vec3D & | _new | ) |
void BaseParticle::add_Force | ( | const Vec3D & | _new | ) |
Definition at line 309 of file BaseParticle.cc.
References force.
Referenced by MD::compute_external_forces(), MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), and MD::compute_walls().
void BaseParticle::add_Torque | ( | const Vec3D & | _new | ) |
Definition at line 310 of file BaseParticle.cc.
References torque.
Referenced by MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), and MD::compute_walls().
void BaseParticle::angularAccelerate | ( | const Vec3D & | _new | ) |
Definition at line 307 of file BaseParticle.cc.
References angularVelocity.
Referenced by MD::do_integration_after_force_computation(), and MD::do_integration_before_force_computation().
void BaseParticle::compute_particle_mass | ( | std::vector< CSpecies > & | Species | ) |
Compute Particle mass function, which required a reference to the Species vector. It copmuters the Particles mass, Inertia and the inverses.
Compute BaseParticle mass function, which required a reference to the Species vector. It copmuters the BaseParticles mass, Inertia and the inverses.
Definition at line 159 of file BaseParticle.cc.
References get_Mass(), indSpecies, isFixed(), constants::pi, radius, set_inertia(), set_Mass(), and sqr.
Referenced by MD::compute_particle_masses(), Chute::create_inflow_particle(), ChuteWithHopper::create_inflow_particle(), ChuteWithHopperAndInset::create_inflow_particle(), Chute::get_collision_time(), Chute::get_LightestParticleMass(), MD::get_Mass_from_Radius(), Chute::get_restitution_coefficient(), Chute::getLargestParticle(), Chute::getSmallestParticle(), Chute::initialize_inflow_particle(), MD::read(), MD::read_v1(), MD::read_v2(), Chute::set_collision_time_and_restitution_coefficient(), MD::set_dt(), ChuteBottom::setup_particles_initial_conditions(), and unfix().
|
virtual |
Particle copy method. It calls to copy contrustor of this Particle, usefull for polymorfism.
BaseParticle copy method. It calls to copy contrustor of this BaseParticle, usefull for polymorfism.
Reimplemented in DeltaMaxsParticle, and TangentialSpringParticle.
Definition at line 117 of file BaseParticle.cc.
References BaseParticle().
Referenced by CircularPeriodicBoundary::checkBoundaryAfterParticleMoved(), CircularPeriodicBoundary::createPeriodicParticles(), PeriodicBoundary::createPeriodicParticles(), and AngledPeriodicBoundary::createPeriodicParticles().
void BaseParticle::fixParticle | ( | ) |
Fix Particle function. It fixes a Particle by setting its inverse mass and inertia and velocities to zero.
Fix BaseParticle function. It fixes a BaseParticle by setting its inverse mass and inertia and velocities to zero.
Definition at line 142 of file BaseParticle.cc.
References angularVelocity, inertia, invInertia, invMass, mass, position, Vec3D::set_zero(), and velocity.
Referenced by MD::read_next_from_data_file(), and MD::set_FixedParticles().
const Vec3D & BaseParticle::get_Angle | ( | ) | const |
Definition at line 244 of file BaseParticle.cc.
References angle.
Referenced by MD::output_xballs_data_particle(), and AngledPeriodicBoundary::shift_position().
const Vec3D & BaseParticle::get_AngularVelocity | ( | ) | const |
Definition at line 245 of file BaseParticle.cc.
References angularVelocity.
Referenced by MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), MD::compute_walls(), MD::do_integration_after_force_computation(), MD::do_integration_before_force_computation(), and MD::output_xballs_data_particle().
const Vec3D & BaseParticle::get_Displacement | ( | ) | const |
Definition at line 248 of file BaseParticle.cc.
References displacement.
Referenced by CircularPeriodicBoundary::checkBoundaryAfterParticleMoved(), and MD::do_integration_before_force_computation().
const Vec3D BaseParticle::get_Displacement2 | ( | Mdouble | xmin, |
Mdouble | xmax, | ||
Mdouble | ymin, | ||
Mdouble | ymax, | ||
Mdouble | zmin, | ||
Mdouble | zmax, | ||
Mdouble | t | ||
) | const |
Definition at line 251 of file BaseParticle.cc.
References get_Position(), get_PreviousPosition(), Vec3D::X, Vec3D::Y, and Vec3D::Z.
const Vec3D & BaseParticle::get_Force | ( | ) | const |
Definition at line 246 of file BaseParticle.cc.
References force.
Referenced by MD::do_integration_after_force_computation(), and MD::do_integration_before_force_computation().
int BaseParticle::get_HGRID_Level | ( | ) | const |
Definition at line 216 of file BaseParticle.cc.
References HGRID_Level.
Referenced by HGRID_2D::CheckCell(), HGRID_3D::CheckCell(), HGRID_2D::CheckCell_current(), HGRID_3D::CheckCell_current(), HGRID_2D::CheckObjAgainstGrid(), HGRID_3D::CheckObjAgainstGrid(), HGRID_2D::HGRID_RemoveParticleFromHgrid(), HGRID_3D::HGRID_RemoveParticleFromHgrid(), HGRID_base::HGRID_update_move(), HGRID_2D::HGRID_UpdateParticleInHgrid(), HGRID_3D::HGRID_UpdateParticleInHgrid(), HGRID_2D::TestCell(), and HGRID_3D::TestCell().
BaseParticle * BaseParticle::get_HGRID_NextObject | ( | ) | const |
Definition at line 217 of file BaseParticle.cc.
References HGRID_NextObject.
Referenced by HGRID_2D::CheckCell(), HGRID_3D::CheckCell(), HGRID_2D::CheckCell_current(), HGRID_3D::CheckCell_current(), HGRID_2D::HGRID_RemoveParticleFromHgrid(), HGRID_3D::HGRID_RemoveParticleFromHgrid(), Chute::IsInsertable(), HGRID_2D::TestCell(), and HGRID_3D::TestCell().
BaseParticle * BaseParticle::get_HGRID_PrevObject | ( | ) | const |
Definition at line 218 of file BaseParticle.cc.
References HGRID_PrevObject.
Referenced by HGRID_2D::HGRID_RemoveParticleFromHgrid(), and HGRID_3D::HGRID_RemoveParticleFromHgrid().
int BaseParticle::get_HGRID_x | ( | ) | const |
Definition at line 222 of file BaseParticle.cc.
References HGRID_x.
Referenced by HGRID_2D::CheckCell(), HGRID_3D::CheckCell(), HGRID_2D::CheckCell_current(), HGRID_3D::CheckCell_current(), HGRID_2D::CheckObjAgainstGrid(), HGRID_3D::CheckObjAgainstGrid(), HGRID_2D::HGRID_RemoveParticleFromHgrid(), HGRID_3D::HGRID_RemoveParticleFromHgrid(), HGRID_2D::HGRID_UpdateParticleInHgrid(), HGRID_3D::HGRID_UpdateParticleInHgrid(), HGRID_2D::TestCell(), and HGRID_3D::TestCell().
int BaseParticle::get_HGRID_y | ( | ) | const |
Definition at line 223 of file BaseParticle.cc.
References HGRID_y.
Referenced by HGRID_2D::CheckCell(), HGRID_3D::CheckCell(), HGRID_2D::CheckCell_current(), HGRID_3D::CheckCell_current(), HGRID_2D::CheckObjAgainstGrid(), HGRID_3D::CheckObjAgainstGrid(), HGRID_2D::HGRID_RemoveParticleFromHgrid(), HGRID_3D::HGRID_RemoveParticleFromHgrid(), HGRID_2D::HGRID_UpdateParticleInHgrid(), HGRID_3D::HGRID_UpdateParticleInHgrid(), HGRID_2D::TestCell(), and HGRID_3D::TestCell().
int BaseParticle::get_HGRID_z | ( | ) | const |
Definition at line 224 of file BaseParticle.cc.
References HGRID_z.
Referenced by HGRID_3D::CheckCell(), HGRID_3D::CheckCell_current(), HGRID_3D::CheckObjAgainstGrid(), HGRID_3D::HGRID_RemoveParticleFromHgrid(), HGRID_3D::HGRID_UpdateParticleInHgrid(), and HGRID_3D::TestCell().
int BaseParticle::get_Id | ( | ) | const |
int BaseParticle::get_Index | ( | ) | const |
Definition at line 225 of file BaseParticle.cc.
References _index.
Referenced by DeletionBoundary::checkBoundaryAfterParticleMoved(), CircularPeriodicBoundary::checkBoundaryAfterParticleMoved(), MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), MD::compute_walls(), MD::computeShortRangeForceWithParticle(), MD::do_integration_after_force_computation(), MD::do_integration_before_force_computation(), MD::getTangentialSpring(), and HGRID_base::TestObject().
int BaseParticle::get_IndSpecies | ( | ) | const |
Definition at line 241 of file BaseParticle.cc.
References indSpecies.
Referenced by MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), MD::compute_walls(), Chute::get_collision_time(), MD::get_maximum_velocity(), Chute::get_restitution_coefficient(), and MD::set_dt().
Mdouble BaseParticle::get_Inertia | ( | ) | const |
Definition at line 226 of file BaseParticle.cc.
References inertia.
Referenced by BaseParticle().
Mdouble BaseParticle::get_InteractionRadius | ( | ) | const |
Definition at line 234 of file BaseParticle.cc.
References CSpecies::get_InteractionDistance(), ParticleHandler::getSpecies(), handler, indSpecies, and radius.
Referenced by ParticleHandler::checkExtrema(), HGRID_2D::CheckObjAgainstGrid(), HGRID_3D::CheckObjAgainstGrid(), MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), CircularPeriodicBoundary::createPeriodicParticles(), PeriodicBoundary::createPeriodicParticles(), AngledPeriodicBoundary::createPeriodicParticles(), HGRID_base::InitBroadPhase(), HGridOptimiser::Initialise(), HGrid::InsertParticleToHgrid(), and HGRID_base::TestObject().
Mdouble BaseParticle::get_InvInertia | ( | ) | const |
Definition at line 227 of file BaseParticle.cc.
References invInertia.
Referenced by BaseParticle(), MD::do_integration_after_force_computation(), and MD::do_integration_before_force_computation().
Mdouble BaseParticle::get_InvMass | ( | ) | const |
Definition at line 228 of file BaseParticle.cc.
References invMass.
Referenced by BaseParticle(), MD::do_integration_after_force_computation(), and MD::do_integration_before_force_computation().
Mdouble BaseParticle::get_KineticEnergy | ( | ) | const |
Definition at line 229 of file BaseParticle.cc.
References Vec3D::GetLength2, mass, and velocity.
Mdouble BaseParticle::get_Mass | ( | ) | const |
Definition at line 230 of file BaseParticle.cc.
References mass.
Referenced by BaseParticle(), MD::compute_external_forces(), MD::compute_internal_forces(), compute_particle_mass(), MD::compute_plastic_internal_forces(), MD::compute_walls(), Chute::get_collision_time(), Chute::get_LightestParticleMass(), MD::get_Mass_from_Radius(), MD::get_maximum_velocity(), Chute::get_restitution_coefficient(), Chute::getSmallestParticle(), Chute::set_collision_time_and_restitution_coefficient(), and MD::set_dt().
BaseParticle * BaseParticle::get_PeriodicFromParticle | ( | ) | const |
Definition at line 231 of file BaseParticle.cc.
References periodicFromParticle.
Referenced by MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), MD::compute_walls(), CircularPeriodicBoundary::createPeriodicParticles(), PeriodicBoundary::createPeriodicParticles(), AngledPeriodicBoundary::createPeriodicParticles(), HGRID_2D::HGRID_UpdateParticleInHgrid(), HGRID_3D::HGRID_UpdateParticleInHgrid(), and MD::Remove_Duplicate_Periodic_Particles().
const Vec3D & BaseParticle::get_Position | ( | ) | const |
Definition at line 232 of file BaseParticle.cc.
References position.
Referenced by InsertionBoundary::checkBoundaryActionsBeforeTimeStep(), DeletionBoundary::checkBoundaryAfterParticleMoved(), CircularPeriodicBoundary::checkBoundaryAfterParticleMoved(), HGRID_2D::CheckObjAgainstGrid(), HGRID_3D::CheckObjAgainstGrid(), Chute::clean_chute(), MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), MD::compute_walls(), CircularPeriodicBoundary::createPeriodicParticles(), AngledPeriodicBoundary::distance(), PeriodicBoundary::distance(), MD::do_integration_after_force_computation(), StatisticsVector< T >::gather_force_statistics_from_p3c(), StatisticsVector< T >::gather_force_statistics_from_p3w(), get_Displacement2(), FiniteAxisSymmetricWall::get_distance_and_normal(), CylindricalWall::get_distance_and_normal(), Coil::get_distance_and_normal(), Screw::get_distance_and_normal(), InfiniteWall::get_distance_and_normal(), InfiniteWallWithHole::get_distance_and_normal(), FiniteWall::get_distance_and_normal(), HGRID_2D::HGRID_UpdateParticleInHgrid(), HGRID_3D::HGRID_UpdateParticleInHgrid(), MD::output_xballs_data_particle(), CircularPeriodicBoundary::rotateParticle(), StatisticsVector< T >::satisfiesInclusionCriteria(), AngledPeriodicBoundary::shift_position(), MD::solve(), HGRID_2D::TestObjAgainstGrid(), HGRID_3D::TestObjAgainstGrid(), and HGRID_base::TestObject().
const Vec3D & BaseParticle::get_PreviousPosition | ( | ) | const |
Definition at line 249 of file BaseParticle.cc.
References previousPosition.
Referenced by get_Displacement2().
Mdouble BaseParticle::get_Radius | ( | ) | const |
Definition at line 233 of file BaseParticle.cc.
References radius.
Referenced by InsertionBoundary::checkBoundaryActionsBeforeTimeStep(), MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), MD::compute_walls(), MD::computeShortRangeForceWithParticle(), MD::computeShortRangeForceWithWall(), Chute::create_bottom(), Chute::create_inflow_particle(), ChuteWithHopper::create_inflow_particle(), MD::fstat_header(), StatisticsVector< T >::gather_force_statistics_from_p3c(), StatisticsVector< T >::gather_force_statistics_from_p3w(), CylindricalWall::get_distance_and_normal(), InfiniteWallWithHole::get_distance_and_normal(), MD::get_maximum_velocity(), Chute::getLargestParticle(), MD::output_xballs_data_particle(), StatisticsVector< T >::satisfiesInclusionCriteria(), Chute::set_collision_time_and_restitution_coefficient(), ChuteBottom::setup_particles_initial_conditions(), and MD::solve().
int BaseParticle::get_Species | ( | void | ) | const |
Definition at line 240 of file BaseParticle.cc.
References indSpecies.
Referenced by MD::getInfo().
const Vec3D & BaseParticle::get_Torque | ( | ) | const |
Definition at line 247 of file BaseParticle.cc.
References torque.
Referenced by MD::compute_walls(), MD::do_integration_after_force_computation(), and MD::do_integration_before_force_computation().
const Vec3D & BaseParticle::get_Velocity | ( | ) | const |
Definition at line 243 of file BaseParticle.cc.
References velocity.
Referenced by MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), MD::compute_walls(), MD::do_integration_before_force_computation(), MD::output_xballs_data_particle(), CircularPeriodicBoundary::rotateParticle(), AngledPeriodicBoundary::shift_position(), and MD::solve().
Get Particle volume function, which required a reference to the Species vector. It returns the volume of the Particle.
Get BaseParticle volume function, which required a reference to the Species vector. It returns the volume of the BaseParticle.
Definition at line 123 of file BaseParticle.cc.
References indSpecies, constants::pi, and radius.
Mdouble BaseParticle::get_WallInteractionRadius | ( | ) | const |
Definition at line 237 of file BaseParticle.cc.
References CSpecies::get_InteractionDistance(), ParticleHandler::getSpecies(), handler, indSpecies, and radius.
Referenced by Coil::get_distance_and_normal(), Screw::get_distance_and_normal(), InfiniteWall::get_distance_and_normal(), and FiniteWall::get_distance_and_normal().
ParticleHandler * BaseParticle::getHandler | ( | ) | const |
Definition at line 250 of file BaseParticle.cc.
References handler.
Referenced by TangentialSpringParticle::moveInHandler().
bool BaseParticle::isFixed | ( | ) |
Is fixed Particle function. It returns wether a Particle is fixed or not, by cheking its inverse Mass.
Is fixed BaseParticle function. It returns wether a BaseParticle is fixed or not, by cheking its inverse Mass.
Definition at line 150 of file BaseParticle.cc.
References invMass.
Referenced by MD::compute_external_forces(), MD::compute_internal_forces(), compute_particle_mass(), MD::compute_plastic_internal_forces(), and MD::compute_walls().
void BaseParticle::move | ( | const Vec3D & | _new | ) |
Definition at line 303 of file BaseParticle.cc.
References position.
Referenced by ChuteWithHopper::create_inflow_particle(), MD::do_integration_before_force_computation(), AngledPeriodicBoundary::shift_position(), and PeriodicBoundary::shift_position().
|
virtual |
Reimplemented in TangentialSpringParticle.
Definition at line 211 of file BaseParticle.cc.
References _index.
Referenced by TangentialSpringParticle::moveInHandler().
void BaseParticle::movePrevious | ( | const Vec3D & | _new | ) |
Definition at line 304 of file BaseParticle.cc.
References previousPosition.
|
virtual |
Particle print function, which accepts an os std::stringstream as input.
BaseParticle print function, which accepts an os std::stringstream as input. It prints human readable BaseParticle information to the std::stringstream.
Reimplemented in TangentialSpringParticle, and DeltaMaxsParticle.
Definition at line 191 of file BaseParticle.cc.
References angle, angularVelocity, indSpecies, invInertia, invMass, position, radius, and velocity.
Referenced by operator<<(), TangentialSpringParticle::print(), and MD::print().
void BaseParticle::print_HGRID | ( | std::ostream & | os | ) |
Definition at line 203 of file BaseParticle.cc.
References HGRID_Level, HGRID_x, HGRID_y, and HGRID_z.
|
virtual |
Particle read function, which accepts an os std::stringstream as input.
Reimplemented in TangentialSpringParticle, and DeltaMaxsParticle.
Definition at line 196 of file BaseParticle.cc.
References angle, angularVelocity, indSpecies, inertia, invInertia, invMass, mass, position, radius, and velocity.
Referenced by operator>>(), and TangentialSpringParticle::read().
void BaseParticle::rotate | ( | const Vec3D & | _new | ) |
Definition at line 306 of file BaseParticle.cc.
References angle.
Referenced by MD::do_integration_after_force_computation(), MD::do_integration_before_force_computation(), and AngledPeriodicBoundary::shift_position().
void BaseParticle::set_Angle | ( | const Vec3D & | _new | ) |
Definition at line 297 of file BaseParticle.cc.
References angle.
Referenced by Chute::initialize_inflow_particle(), and TangentialSpringParticle::oldRead().
void BaseParticle::set_AngularVelocity | ( | const Vec3D & | _new | ) |
Definition at line 298 of file BaseParticle.cc.
References angularVelocity.
Referenced by Chute::initialize_inflow_particle(), and TangentialSpringParticle::oldRead().
void BaseParticle::set_Displacement | ( | const Vec3D & | _new | ) |
Definition at line 295 of file BaseParticle.cc.
References displacement.
Referenced by CircularPeriodicBoundary::checkBoundaryAfterParticleMoved(), and MD::do_integration_before_force_computation().
void BaseParticle::set_Force | ( | const Vec3D & | _new | ) |
void BaseParticle::set_HGRID_Level | ( | const int | _new | ) |
Definition at line 278 of file BaseParticle.cc.
References HGRID_Level.
Referenced by HGrid::InsertParticleToHgrid().
void BaseParticle::set_HGRID_NextObject | ( | BaseParticle * | _new | ) |
Definition at line 279 of file BaseParticle.cc.
References HGRID_NextObject.
Referenced by HGRID_2D::HGRID_RemoveParticleFromHgrid(), HGRID_3D::HGRID_RemoveParticleFromHgrid(), HGRID_2D::HGRID_UpdateParticleInHgrid(), and HGRID_3D::HGRID_UpdateParticleInHgrid().
void BaseParticle::set_HGRID_PrevObject | ( | BaseParticle * | _new | ) |
Definition at line 280 of file BaseParticle.cc.
References HGRID_PrevObject.
Referenced by HGRID_2D::HGRID_RemoveParticleFromHgrid(), HGRID_3D::HGRID_RemoveParticleFromHgrid(), HGRID_2D::HGRID_UpdateParticleInHgrid(), and HGRID_3D::HGRID_UpdateParticleInHgrid().
void BaseParticle::set_HGRID_x | ( | const int | _new | ) |
Definition at line 275 of file BaseParticle.cc.
References HGRID_x.
Referenced by HGRID_2D::HGRID_UpdateParticleInHgrid(), and HGRID_3D::HGRID_UpdateParticleInHgrid().
void BaseParticle::set_HGRID_y | ( | const int | _new | ) |
Definition at line 276 of file BaseParticle.cc.
References HGRID_y.
Referenced by HGRID_2D::HGRID_UpdateParticleInHgrid(), and HGRID_3D::HGRID_UpdateParticleInHgrid().
void BaseParticle::set_HGRID_z | ( | const int | _new | ) |
Definition at line 277 of file BaseParticle.cc.
References HGRID_z.
Referenced by HGRID_3D::HGRID_UpdateParticleInHgrid().
void BaseParticle::set_Id | ( | const int | _new | ) |
void BaseParticle::set_Index | ( | const int | _new | ) |
Definition at line 274 of file BaseParticle.cc.
References _index.
void BaseParticle::set_IndSpecies | ( | const int | _new | ) |
Definition at line 290 of file BaseParticle.cc.
References indSpecies.
Referenced by MD::get_Mass_from_Radius().
void BaseParticle::set_inertia | ( | const Mdouble | _new | ) |
Definition at line 270 of file BaseParticle.cc.
References inertia, and invInertia.
Referenced by InsertionBoundary::checkBoundaryActionsBeforeTimeStep(), compute_particle_mass(), and TangentialSpringParticle::oldRead().
void BaseParticle::set_infiniteInertia | ( | ) |
Definition at line 271 of file BaseParticle.cc.
References inertia, and invInertia.
void BaseParticle::set_Mass | ( | const Mdouble | _new | ) |
Definition at line 292 of file BaseParticle.cc.
Referenced by InsertionBoundary::checkBoundaryActionsBeforeTimeStep(), compute_particle_mass(), and TangentialSpringParticle::oldRead().
void BaseParticle::set_periodicFromParticle | ( | BaseParticle * | _new | ) |
Definition at line 272 of file BaseParticle.cc.
References periodicFromParticle.
Referenced by CircularPeriodicBoundary::createPeriodicParticles(), PeriodicBoundary::createPeriodicParticles(), and AngledPeriodicBoundary::createPeriodicParticles().
void BaseParticle::set_Position | ( | const Vec3D & | _new | ) |
Definition at line 294 of file BaseParticle.cc.
References position.
Referenced by InsertionBoundary::checkBoundaryActionsBeforeTimeStep(), Chute::create_bottom(), Chute::create_inflow_particle(), ChuteWithHopper::create_inflow_particle(), MD::do_integration_after_force_computation(), FiniteAxisSymmetricWall::get_distance_and_normal(), Chute::initialize_inflow_particle(), TangentialSpringParticle::oldRead(), CircularPeriodicBoundary::rotateParticle(), and ChuteBottom::setup_particles_initial_conditions().
void BaseParticle::set_PreviousPosition | ( | const Vec3D & | _new | ) |
Definition at line 296 of file BaseParticle.cc.
References previousPosition.
void BaseParticle::set_Radius | ( | const Mdouble | _new | ) |
Definition at line 284 of file BaseParticle.cc.
References ParticleHandler::checkExtrema(), handler, and radius.
Referenced by InsertionBoundary::checkBoundaryActionsBeforeTimeStep(), Chute::create_bottom(), Chute::create_inflow_particle(), ChuteWithHopper::create_inflow_particle(), Chute::get_collision_time(), Chute::get_LightestParticleMass(), MD::get_Mass_from_Radius(), Chute::get_restitution_coefficient(), Chute::getLargestParticle(), Chute::getSmallestParticle(), Chute::initialize_inflow_particle(), TangentialSpringParticle::oldRead(), Chute::set_collision_time_and_restitution_coefficient(), and ChuteBottom::setup_particles_initial_conditions().
void BaseParticle::set_species | ( | const int | _new | ) |
Definition at line 273 of file BaseParticle.cc.
References indSpecies.
void BaseParticle::set_Torque | ( | const Vec3D & | _new | ) |
Definition at line 300 of file BaseParticle.cc.
References torque.
Referenced by MD::compute_walls().
void BaseParticle::set_Velocity | ( | const Vec3D & | _new | ) |
Definition at line 293 of file BaseParticle.cc.
References velocity.
Referenced by InsertionBoundary::checkBoundaryActionsBeforeTimeStep(), Chute::create_inflow_particle(), MD::do_integration_after_force_computation(), Chute::initialize_inflow_particle(), TangentialSpringParticle::oldRead(), CircularPeriodicBoundary::rotateParticle(), and ChuteBottom::setup_particles_initial_conditions().
void BaseParticle::setHandler | ( | ParticleHandler * | handler | ) |
Definition at line 301 of file BaseParticle.cc.
References handler.
Referenced by ParticleHandler::addObject().
void BaseParticle::unfix | ( | std::vector< CSpecies > & | Species | ) |
Unfix Particle function, which required a reference to the Species vector. It un fixes a Particle by compyting the Particles mass and inertia.
Unfix BaseParticle function, which required a reference to the Species vector. It un fixes a BaseParticle by compyting the BaseParticles mass and inertia.
Definition at line 153 of file BaseParticle.cc.
References compute_particle_mass(), and invMass.
|
friend |
writes wall
Definition at line 205 of file BaseParticle.h.
|
friend |
reads wall
Definition at line 211 of file BaseParticle.h.
|
private |
Index of the Species of this Particle.
Definition at line 188 of file BaseParticle.h.
|
private |
Pointer to the previous Particle in the same HGrid cell.
Particle attributes
Definition at line 180 of file BaseParticle.h.
Referenced by get_Index(), moveInHandler(), and set_Index().
|
private |
non changing identifier of particle
Definition at line 190 of file BaseParticle.h.
Referenced by BaseParticle(), get_Angle(), TangentialSpringParticle::oldRead(), print(), read(), rotate(), and set_Angle().
|
private |
Current angular position.
Definition at line 191 of file BaseParticle.h.
Referenced by angularAccelerate(), BaseParticle(), fixParticle(), get_AngularVelocity(), TangentialSpringParticle::oldRead(), print(), read(), and set_AngularVelocity().
|
private |
Torque.
Definition at line 198 of file BaseParticle.h.
Referenced by add_Displacement(), BaseParticle(), get_Displacement(), and set_Displacement().
|
private |
Current particle velocity.
Definition at line 195 of file BaseParticle.h.
Referenced by add_Force(), BaseParticle(), get_Force(), and set_Force().
|
private |
Definition at line 170 of file BaseParticle.h.
Referenced by BaseParticle(), get_InteractionRadius(), get_WallInteractionRadius(), getHandler(), set_Radius(), setHandler(), and ~BaseParticle().
|
private |
Cell position in the grid.
Definition at line 175 of file BaseParticle.h.
Referenced by BaseParticle(), get_HGRID_Level(), print_HGRID(), and set_HGRID_Level().
|
private |
Grid level for the object.
Definition at line 176 of file BaseParticle.h.
Referenced by BaseParticle(), get_HGRID_NextObject(), and set_HGRID_NextObject().
|
private |
Pointer to the next Particle in the same HGrid cell.
Definition at line 177 of file BaseParticle.h.
Referenced by BaseParticle(), get_HGRID_PrevObject(), and set_HGRID_PrevObject().
|
private |
Hgrid attributes.
Definition at line 174 of file BaseParticle.h.
Referenced by BaseParticle(), get_HGRID_x(), print_HGRID(), and set_HGRID_x().
|
private |
Definition at line 174 of file BaseParticle.h.
Referenced by BaseParticle(), get_HGRID_y(), print_HGRID(), and set_HGRID_y().
|
private |
Definition at line 174 of file BaseParticle.h.
Referenced by BaseParticle(), get_HGRID_z(), print_HGRID(), and set_HGRID_z().
|
private |
Pointer to originating Particle.
Definition at line 187 of file BaseParticle.h.
Referenced by BaseParticle(), compute_particle_mass(), get_IndSpecies(), get_InteractionRadius(), get_Species(), get_Volume(), get_WallInteractionRadius(), print(), read(), set_IndSpecies(), and set_species().
|
private |
Inverse Particle mass (for computation optimization)
Definition at line 183 of file BaseParticle.h.
Referenced by BaseParticle(), fixParticle(), get_Inertia(), read(), set_inertia(), and set_infiniteInertia().
|
private |
Particle inertia.
Definition at line 184 of file BaseParticle.h.
Referenced by BaseParticle(), fixParticle(), get_InvInertia(), TangentialSpringParticle::oldRead(), print(), read(), set_inertia(), and set_infiniteInertia().
|
private |
Particle mass.
Definition at line 182 of file BaseParticle.h.
Referenced by BaseParticle(), fixParticle(), get_InvMass(), isFixed(), TangentialSpringParticle::oldRead(), print(), read(), set_Mass(), and unfix().
|
private |
Index of the Particle in the ParticleHandler, used for outputting fstat data.
Definition at line 181 of file BaseParticle.h.
Referenced by BaseParticle(), fixParticle(), get_KineticEnergy(), get_Mass(), read(), and set_Mass().
|
private |
Particle radius.
Definition at line 186 of file BaseParticle.h.
Referenced by BaseParticle(), get_PeriodicFromParticle(), and set_periodicFromParticle().
|
private |
Current angular velocity.
Definition at line 192 of file BaseParticle.h.
Referenced by BaseParticle(), fixParticle(), get_Position(), move(), TangentialSpringParticle::oldRead(), print(), read(), and set_Position().
|
private |
Displacement (only used in StatisticsVector, StatisticsPoint)
Definition at line 199 of file BaseParticle.h.
Referenced by get_PreviousPosition(), movePrevious(), and set_PreviousPosition().
|
private |
Inverse Particle inverse inertia (for computation optimization)
Definition at line 185 of file BaseParticle.h.
Referenced by BaseParticle(), compute_particle_mass(), get_InteractionRadius(), get_Radius(), get_Volume(), get_WallInteractionRadius(), TangentialSpringParticle::oldRead(), print(), read(), and set_Radius().
|
private |
Interaction force.
Definition at line 196 of file BaseParticle.h.
Referenced by add_Torque(), BaseParticle(), get_Torque(), and set_Torque().
|
private |
Current particle position.
Definition at line 193 of file BaseParticle.h.
Referenced by accelerate(), BaseParticle(), fixParticle(), get_KineticEnergy(), get_Velocity(), TangentialSpringParticle::oldRead(), print(), read(), and set_Velocity().