|
#include <BaseBoundary.h>
Public Member Functions | |
BaseBoundary () | |
default constructor. More... | |
BaseBoundary (const BaseBoundary &b) | |
copy constructor More... | |
~BaseBoundary () override | |
destructor More... | |
virtual BaseBoundary * | copy () const =0 |
Used to create a copy of the object NB: purely virtual function. More... | |
void | read (std::istream &is) override=0 |
Reads the object's id_ from given istream NB: purely virtual function, overriding the version of BaseObject. More... | |
void | write (std::ostream &os) const override=0 |
Adds object's id_ to given ostream NB: purely virtual function, overriding the version of BaseObject. 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 | checkBoundaryAfterParticlesMove (ParticleHandler &pH) |
Virtual function that does things to particles, each time step after particles have moved. 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 std::string | getName () const =0 |
A purely virtual function. 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 | |
BoundaryHandler * | handler_ |
pointer to the boundary's BoundaryHandler More... | |
Inherits from BaseObject
BaseBoundary::BaseBoundary | ( | ) |
default constructor.
Default constructor
BaseBoundary::BaseBoundary | ( | const BaseBoundary & | b | ) |
copy constructor
Note: shallow copy! Otherwise the HGrid causes a stack overflow.
Copy constructor
|
override |
|
virtual |
Virtual function that does something after DPMBase::setupInitialConditions but before the first time step.
Can be used to perform actions before the time loop, but after setupInitialConditions.
Reimplemented in SubcriticalMaserBoundaryTEST, SubcriticalMaserBoundary, DropletBoundary, and ConstantMassFlowMaserBoundary.
|
virtual |
Virtual function that does things to particles, each time step after particles have moved.
checks whether given particle passed the boundary, and if so, does something special with it. This is called after the particles moved, but before the force-computation. NB: virtual function
[in] | P | Particle checked |
[out] | pH | the particle handler. |
Reimplemented in TimeDependentPeriodicBoundary, SubcriticalMaserBoundaryTEST, SubcriticalMaserBoundary, PeriodicBoundary, LeesEdwardsBoundary, HeaterBoundary, FluxBoundary, DropletBoundary, DeletionBoundary, ConstantMassFlowMaserBoundary, CircularPeriodicBoundary, BasePeriodicBoundary, AngledPeriodicBoundary, and StressStrainControlBoundary.
|
virtual |
Virtual function that does things before each time step.
What this does depends on the type of boundary. For example, an InsertionBoundary introduces new particles (and how it does that in turn depends on the type of InsertionBoundary).
[in] | md | the problem's DPMBase object |
Reimplemented in RandomClusterInsertionBoundary, InsertionBoundary, BaseClusterInsertionBoundary, and FixedClusterInsertionBoundary.
|
pure virtual |
Used to create a copy of the object NB: purely virtual function.
Implemented in BasePeriodicBoundary, TimeDependentPeriodicBoundary, SubcriticalMaserBoundaryTEST, SubcriticalMaserBoundary, StressStrainControlBoundary, ShearBoxBoundary, RandomClusterInsertionBoundary, PolydisperseInsertionBoundary, PeriodicBoundary, LeesEdwardsBoundary, HopperInsertionBoundary, HeaterBoundary, FluxBoundary, FixedClusterInsertionBoundary, DropletBoundary, DeletionBoundary, CubeInsertionBoundary, CubeDeletionBoundary, ConstantMassFlowMaserBoundary, CircularPeriodicBoundary, ChuteInsertionBoundary, BidisperseCubeInsertionBoundary, BaseClusterInsertionBoundary, and AngledPeriodicBoundary.
|
virtual |
|
virtual |
BoundaryHandler * BaseBoundary::getHandler | ( | ) | const |
Returns the boundary's BoundaryHandler.
Returns the pointer to the BoundaryHandler the boundary belongs to
References handler_.
Referenced by DropletBoundary::actionsBeforeTimeLoop(), SubcriticalMaserBoundaryTEST::actionsBeforeTimeLoop(), ConstantMassFlowMaserBoundary::activateMaser(), SubcriticalMaserBoundary::activateMaser(), SubcriticalMaserBoundaryTEST::activateMaser(), StressStrainControlBoundary::activateStrainRateControl(), ConstantMassFlowMaserBoundary::addParticleToMaser(), SubcriticalMaserBoundary::addParticleToMaser(), DeletionBoundary::checkBoundaryAfterParticleMoved(), StressStrainControlBoundary::checkBoundaryAfterParticlesMove(), DropletBoundary::checkBoundaryAfterParticlesMove(), PeriodicBoundary::checkBoundaryAfterParticlesMove(), SubcriticalMaserBoundaryTEST::checkBoundaryAfterParticlesMove(), ConstantMassFlowMaserBoundary::closeMaser(), StressStrainControlBoundary::computeStrainRate(), StressStrainControlBoundary::computeStressError(), SubcriticalMaserBoundaryTEST::copyExtraParticles(), PeriodicBoundary::createGhostParticle(), TimeDependentPeriodicBoundary::createGhostParticle(), SubcriticalMaserBoundary::deactivateMaser(), SubcriticalMaserBoundaryTEST::deactivateMaser(), StressStrainControlBoundary::determineStressControlledShearBoundaries(), SubcriticalMaserBoundaryTEST::extendBottom(), InsertionBoundary::generateParticle(), LeesEdwardsBoundary::getCurrentShift(), LeesEdwardsBoundary::getCurrentVelocity(), SubcriticalMaserBoundaryTEST::performActionsBeforeAddingParticles(), ConstantMassFlowMaserBoundary::read(), InsertionBoundary::read(), SubcriticalMaserBoundary::read(), StressStrainControlBoundary::set(), InsertionBoundary::setVariableVolumeFlowRate(), ShearBoxBoundary::shiftHorizontalPosition(), LeesEdwardsBoundary::shiftVerticalPosition(), StressStrainControlBoundary::updateDomainSize(), and LeesEdwardsBoundary::write().
|
virtual |
Reimplemented in SubcriticalMaserBoundaryTEST.
|
overridepure virtual |
Reads the object's id_ from given istream NB: purely virtual function, overriding the version of BaseObject.
Reads the object's id_ from the given istream
[in,out] | is | istream the id_ is read from |
Implements BaseObject.
Implemented in TimeDependentPeriodicBoundary, SubcriticalMaserBoundaryTEST, SubcriticalMaserBoundary, StressStrainControlBoundary, ShearBoxBoundary, PolydisperseInsertionBoundary, PeriodicBoundary, LeesEdwardsBoundary, InsertionBoundary, HopperInsertionBoundary, HeaterBoundary, FluxBoundary, DropletBoundary, DeletionBoundary, CubeInsertionBoundary, CubeDeletionBoundary, ConstantMassFlowMaserBoundary, CircularPeriodicBoundary, ChuteInsertionBoundary, BidisperseCubeInsertionBoundary, BasePeriodicBoundary, BaseClusterInsertionBoundary, and AngledPeriodicBoundary.
References BaseObject::read().
Referenced by AngledPeriodicBoundary::read(), BasePeriodicBoundary::read(), CircularPeriodicBoundary::read(), ConstantMassFlowMaserBoundary::read(), DeletionBoundary::read(), DropletBoundary::read(), FluxBoundary::read(), HeaterBoundary::read(), InsertionBoundary::read(), LeesEdwardsBoundary::read(), ShearBoxBoundary::read(), StressStrainControlBoundary::read(), and SubcriticalMaserBoundary::read().
void BaseBoundary::setHandler | ( | BoundaryHandler * | handler | ) |
Sets the boundary's BoundaryHandler.
Sets the pointer to the BounadaryHandler the boundary belongs to
[in] | handler | pointer to the boundary handler |
References handler_.
Referenced by GranuDrum::GranuDrum(), BoundaryHandler::readAndAddObject(), StressStrainControlBoundary::set(), InsertionBoundaryMPI2Test::setupInitialConditions(), and StressStrainControl::setupInitialConditions().
|
overridepure virtual |
Adds object's id_ to given ostream NB: purely virtual function, overriding the version of BaseObject.
Adds the object's id_ to the given ostream
[in] | os | ostream the id_ is added to |
Implements BaseObject.
Implemented in TimeDependentPeriodicBoundary, SubcriticalMaserBoundaryTEST, SubcriticalMaserBoundary, StressStrainControlBoundary, ShearBoxBoundary, PolydisperseInsertionBoundary, PeriodicBoundary, LeesEdwardsBoundary, InsertionBoundary, HopperInsertionBoundary, HeaterBoundary, FluxBoundary, DropletBoundary, DeletionBoundary, CubeInsertionBoundary, CubeDeletionBoundary, ConstantMassFlowMaserBoundary, CircularPeriodicBoundary, ChuteInsertionBoundary, BidisperseCubeInsertionBoundary, BasePeriodicBoundary, BaseClusterInsertionBoundary, and AngledPeriodicBoundary.
References BaseObject::write().
Referenced by AngledPeriodicBoundary::write(), BasePeriodicBoundary::write(), CircularPeriodicBoundary::write(), ConstantMassFlowMaserBoundary::write(), DeletionBoundary::write(), DropletBoundary::write(), FluxBoundary::write(), HeaterBoundary::write(), InsertionBoundary::write(), LeesEdwardsBoundary::write(), ShearBoxBoundary::write(), StressStrainControlBoundary::write(), and SubcriticalMaserBoundary::write().
|
inlinevirtual |
Reimplemented in DropletBoundary.
|
private |
pointer to the boundary's BoundaryHandler
Referenced by BaseBoundary(), getHandler(), and setHandler().