|
used to create a circular periodic boundary More...
#include <CircularPeriodicBoundary.h>
Public Member Functions | |
CircularPeriodicBoundary () | |
default constructor More... | |
CircularPeriodicBoundary (double innerRadius) | |
Constructor. More... | |
~CircularPeriodicBoundary () override | |
destructor More... | |
CircularPeriodicBoundary * | copy () const override |
Used to create a copy of the object NB: purely virtual function. More... | |
void | rotateParticle (BaseParticle *P, double angle) |
void | createPeriodicParticle (BaseParticle *p, ParticleHandler &pH) override |
void | createPeriodicParticles (ParticleHandler &pH) override |
bool | checkBoundaryAfterParticleMoved (BaseParticle *P, ParticleHandler &pH) |
void | checkBoundaryAfterParticlesMove (ParticleHandler &pH) override |
void | read (std::istream &is) override |
reads the CircularPeriodicBoundary More... | |
void | oldRead (std::istream &is) |
void | write (std::ostream &os) const override |
outputs the CircularPeriodicBoundary More... | |
std::string | getName () const override |
Returns the name of the object. More... | |
Public Member Functions inherited from BaseBoundary | |
BaseBoundary () | |
default constructor. More... | |
BaseBoundary (const BaseBoundary &b) | |
copy constructor More... | |
~BaseBoundary () override | |
destructor More... | |
virtual void | createPeriodicParticle (BaseParticle *p UNUSED, ParticleHandler &pH UNUSED) |
Creates a periodic particle in case of periodic boundaries in serial build. More... | |
virtual void | createPeriodicParticles (ParticleHandler &pH UNUSED) |
Creates periodic copies of given particle in case of periodic boundaries. More... | |
virtual void | checkBoundaryBeforeTimeStep (DPMBase *md) |
Virtual function that does things before each time step. More... | |
virtual void | actionsBeforeTimeLoop () |
Virtual function that does something after DPMBase::setupInitialConditions but before the first time step. More... | |
virtual void | modifyGhostAfterCreation (BaseParticle *particle, int i) |
virtual void | writeVTK (std::fstream &file) |
void | setHandler (BoundaryHandler *handler) |
Sets the boundary's BoundaryHandler. More... | |
BoundaryHandler * | getHandler () const |
Returns the boundary's BoundaryHandler. More... | |
Public Member Functions inherited from BaseObject | |
BaseObject ()=default | |
Default constructor. More... | |
BaseObject (const BaseObject &p)=default | |
Copy constructor, copies all the objects BaseObject contains. More... | |
virtual | ~BaseObject ()=default |
virtual destructor More... | |
virtual void | moveInHandler (unsigned int index) |
Except that it is virtual, it does the same thing as setIndex() does. More... | |
void | setIndex (unsigned int index) |
Allows one to assign an index to an object in the handler/container. More... | |
void | setId (unsigned long id) |
Assigns a unique identifier to each object in the handler (container) which remains constant even after the object is deleted from the container/handler. More... | |
unsigned int | getIndex () const |
Returns the index of the object in the handler. More... | |
unsigned int | getId () const |
Returns the unique identifier of any particular object. More... | |
void | setGroupId (unsigned groupId) |
unsigned | getGroupId () const |
Private Attributes | |
double | innerRadius_ |
used to create a circular periodic boundary
CircularPeriodicBoundary::CircularPeriodicBoundary | ( | ) |
default constructor
References MPIContainer::getNumberOfProcessors(), innerRadius_, MPIContainer::Instance(), logger, and WARN.
Referenced by copy().
|
explicit |
Constructor.
References innerRadius_.
|
override |
bool CircularPeriodicBoundary::checkBoundaryAfterParticleMoved | ( | BaseParticle * | P, |
ParticleHandler & | pH | ||
) |
References ParticleHandler::addObject(), constants::i, innerRadius_, mathsFunc::log(), Global_Physical_Variables::P, constants::pi, R, ParticleHandler::removeObject(), rotateParticle(), and BaseParticle::setDisplacement().
Referenced by checkBoundaryAfterParticlesMove().
|
overridevirtual |
Reimplemented from BaseBoundary.
References BaseHandler< T >::begin(), checkBoundaryAfterParticleMoved(), and BaseHandler< T >::end().
|
overridevirtual |
Used to create a copy of the object NB: purely virtual function.
Implements BaseBoundary.
References CircularPeriodicBoundary().
|
override |
[in] |
References ParticleHandler::addObject(), BaseParticle::copy(), mathsFunc::cos(), ParticleHandler::getLargestParticle(), BaseParticle::getMaxInteractionRadius(), BaseParticle::getPeriodicFromParticle(), BaseInteractable::getPosition(), constants::i, innerRadius_, mathsFunc::log(), constants::pi, R, rotateParticle(), BaseParticle::setPeriodicFromParticle(), Vec3D::X, and Vec3D::Y.
Referenced by createPeriodicParticles().
|
override |
References createPeriodicParticle(), BaseHandler< T >::getObject(), BaseHandler< T >::getSize(), and constants::i.
|
overridevirtual |
void CircularPeriodicBoundary::oldRead | ( | std::istream & | is | ) |
References innerRadius_.
|
overridevirtual |
reads the CircularPeriodicBoundary
Implements BaseBoundary.
References innerRadius_, and BaseBoundary::read().
void CircularPeriodicBoundary::rotateParticle | ( | BaseParticle * | P, |
double | angle | ||
) |
[in] |
todo{Do we need to update rotations and rotational velocitys?}
References mathsFunc::cos(), Global_Physical_Variables::P, R, and mathsFunc::sin().
Referenced by checkBoundaryAfterParticleMoved(), and createPeriodicParticle().
|
overridevirtual |
outputs the CircularPeriodicBoundary
Implements BaseBoundary.
References innerRadius_, and BaseBoundary::write().
|
private |
Referenced by checkBoundaryAfterParticleMoved(), CircularPeriodicBoundary(), createPeriodicParticle(), oldRead(), read(), and write().