![]() |
|
#include <BaseClusterInsertionBoundary.h>
Inheritance diagram for BaseClusterInsertionBoundary:Public Member Functions | |
| BaseClusterInsertionBoundary () | |
| Constructor; sets everything to 0. More... | |
| BaseClusterInsertionBoundary (const BaseClusterInsertionBoundary &other) | |
| Copy constructor with deep copy. More... | |
| ~BaseClusterInsertionBoundary () override | |
| Destructor: default destructor. More... | |
| BaseClusterInsertionBoundary * | copy () const override |
| Creates a copy on the heap and returns a pointer. More... | |
| void | setRandomised (bool randomised) |
| this turns off the randomise(): created for UnitTests. More... | |
| bool | getRandomised () |
| this returns a bool which indicates if the process is randomised (true) or not (false). More... | |
| unsigned int | getNumberOfClusterInserted () |
| this returns the number of cluster inserted. More... | |
| void | setRadiusMicroParticle (Mdouble rMP) |
| this sets the radius of the micro particle composing the cluster. More... | |
| void | setGeometry (Vec3D posMin, Vec3D posMax) |
| Sets the geometry (position and velocity distribution) of the ClusterInsertionBoundary. More... | |
| void | setVelocityRange (Vec3D velMin, Vec3D velMax) |
| Sets the velocity range of the ClusterInsertionBoundary. More... | |
| void | setAdditionalClusterProperties (Mdouble collisionTimeOverTimeStep, Mdouble velocityDampingModulus, Mdouble energyRatioTolerance) |
| sets additional cluster properties as: More... | |
| void | setOutputClusterProperties (bool doCdatOutput, bool doOverlOutput, bool doAmatOutput, bool doIntStrucOutput, bool doVtkOutput, bool doRestartOutput, bool doFStatOutput, bool doEneOutput) |
| sets cluster whether or not cluster output files will be created, for example: More... | |
| void | placeParticle (BaseParticle *p, RNG &random) override |
| Generates a random position, velocity for the cluster p. More... | |
| void | checkBoundaryBeforeTimeStep (DPMBase *md) override |
| Fills the boundary with clusters. More... | |
| void | read (std::istream &is) override |
| reads boundary properties from istream More... | |
| void | write (std::ostream &os) const override |
| writes boundary properties to ostream More... | |
Public Member Functions inherited from InsertionBoundary | |
| InsertionBoundary () | |
| InsertionBoundary (const InsertionBoundary &other) | |
| Copy constructor (with deep copy) More... | |
| ~InsertionBoundary () override | |
| Destructor: delete the particle that has to be copied at every insertion. More... | |
| virtual BaseParticle * | generateParticle (RNG &random) |
| Sets the properties of the InsertionBoundary for a single particle type / virtual void set(BaseParticle* particleToCopy, unsigned int maxFailed, Vec3D velMin, Vec3D velMax, double radMin, double radMax)=0;. More... | |
| virtual void | shiftBoundary (Vec3D shift) |
| virtual function that shifts the boundary. More... | |
| virtual void | rotateBoundary (Vec3D angle) |
| virtual function that rotates the boundary. More... | |
| void | checkBoundaryBeforeTimeStep (DPMBase *md) override |
| Fills the boundary with particles. More... | |
| void | insertParticles (DPMBase *md) |
| Fill a certain domain with particles. More... | |
| unsigned int | getNumberOfParticlesInserted () const |
| Gets the number of particles inserted by the boundary. More... | |
| Mdouble | getMassOfParticlesInserted () const |
| Gets the mass of particles inserted by the boundary. More... | |
| Mdouble | getVolumeOfParticlesInserted () const |
| Gets the volume of particles inserted by the boundary. More... | |
| void | reset () |
| resets particle property counter variables. More... | |
| void | activate () |
| Turns on the InsertionBoundary. More... | |
| void | deactivate () |
| Turns off the InsertionBoundary. More... | |
| bool | isActivated () |
| Returns whether the InsertionBoundary is activated. More... | |
| unsigned int | getMaxFailed () const |
| Gets the number of times that the boundary may fail to insert a particle. More... | |
| void | setParticleToCopy (std::vector< BaseParticle * > particleToCopy) |
| Sets multiple different particles that will be inserted through the insertion boundary. More... | |
| void | setParticleToCopy (BaseParticle *particleToCopy) |
| Sets the particle that will be inserted through the insertion boundary. More... | |
| std::vector< BaseParticle * > | getParticleToCopy () |
| Gets the particles that will be inserted through the insertion boundary. More... | |
| void | read (std::istream &is) override |
| Reads the boundary's id_ and maxFailed_. More... | |
| void | write (std::ostream &os) const override |
| Writes the boundary's id_ and maxFailed_. More... | |
| Mdouble | getVolumeFlowRate () const |
| Gets the volume flow rate of the insertion routine. More... | |
| void | setVolumeFlowRate (Mdouble volumeFlowRate) |
| Sets the volume flow rate of the insertion routine. More... | |
| Mdouble | getInitialVolume () const |
| Gets the initialVolume() . More... | |
| void | setInitialVolume (Mdouble initialVolume) |
| Gets the Volume which should be inserted by the insertion routine. More... | |
| void | setPSD (const PSD psd) |
| Sets the range of particle radii that may be generated from a user defined PSD. More... | |
| void | setPSD (std::vector< PSD > psd, std::vector< Mdouble > probability) |
| Sets the ranges of particle radii that may be generated from user defined PSDs. More... | |
| std::vector< PSD > | getPSD () |
| Gets the particle size distributions set by the user. More... | |
| void | setVariableVolumeFlowRate (const std::vector< Mdouble > &variableCumulativeVolumeFlowRate, Mdouble samplingInterval) |
| Sets a variable volume flow rate. More... | |
| bool | insertParticle (Mdouble time) |
| Checks the inserted total volume and returns if a particle is still allowed to be inserted. More... | |
| bool | getCheckParticleForInteraction () const |
| Gets the variable that checks if a particle has an interaction. More... | |
| void | setCheckParticleForInteraction (bool checkParticleForInteraction) |
| Sets the variable that checks if a particle has an interaction. More... | |
| void | setManualInsertion (bool manualInsertion) |
| Set the flag for a manual PSD insertion routine. 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 | checkBoundaryAfterParticlesMove (ParticleHandler &pH) |
| Virtual function that does things to particles, each time step after particles have moved. 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 Member Functions | |
| std::string | getName () const override |
| Returns the name of the object. More... | |
Private Attributes | |
| Vec3D | position_ |
Additional Inherited Members | |
Public Attributes inherited from InsertionBoundary | |
| std::vector< BaseParticle * > | particleToCopy_ |
| read Distribution class from file. / friend std::istream& operator>>(std::istream& is, InsertionBoundary::Distribution& type); More... | |
| unsigned int | maxFailed_ |
| Number of times that the wall may fail to insert a particle. More... | |
| unsigned int | numberOfParticlesInserted_ |
| Number of particles that are already inserted. More... | |
| Mdouble | massInserted_ |
| Total mass of particles inserted. More... | |
| Mdouble | volumeInserted_ |
| Total volume of particles inserted. More... | |
| bool | isActivated_ |
| The InsertionBoundary is activated by default. If the InsertionBoundary is deactivated, then it introduces no particles (useful for trying to maintain a certain insertion rate). More... | |
| Mdouble | volumeFlowRate_ |
| Mdouble | initialVolume_ |
| std::vector< Mdouble > | variableCumulativeVolumeFlowRate_ |
| Mdouble | samplingInterval_ |
| bool | checkParticleForInteraction_ |
| Checks if a particle has an interaction with a wall or other particles. More... | |
| std::vector< PSD > | particleSizeDistributionVector_ |
| Defines a particle size distribution as an object of the PSD class; if particleSizeDistributionVector_ is empty, distribution_ is used instead. More... | |
| Vec3D | velMin_ |
| Minimum and maximum velocity of the particles to be inserted. More... | |
| Vec3D | velMax_ |
| bool | isManuallyInserting_ |
| A flag to enable a top-down class-by-class manual insertion of a PSD; default is FALSE. More... | |
| std::vector< Mdouble > | probability_ |
| vector of probabilities in range [0,1] which determine the mixing ratio of partice size distributions. More... | |
| int | chosenSpecies_ |
| stores the chosen species for each timestep. More... | |
| BaseParticle * | p0 = nullptr |
| pointer to the next particle that should be inserted (needs to be stored across time steps). More... | |
| BaseClusterInsertionBoundary::BaseClusterInsertionBoundary | ( | ) |
Constructor; sets everything to 0.
Default constructor;
References clusterSpecies_, collisionTimeOverTimeStep_, DEBUG, energyRatioTolerance_, isAmatOutputOn_, isCdatOutputOn_, isEneOutputOn_, isFStatOutputOn_, isIntStrucOutputOn_, isOverlOutputOn_, isRestartOutputOn_, isVtkOutputOn_, logger, nClusterInserted_, nInternalStructurePoints_, nParticles_, position_, posMax_, posMin_, radiusParticle_, randomised_, setRadiusParticleAndNotNumberOfParticles_, sizeDispersityParticle_, velMax_, velMin_, and velocityDampingModulus_.
Referenced by copy().
| BaseClusterInsertionBoundary::BaseClusterInsertionBoundary | ( | const BaseClusterInsertionBoundary & | other | ) |
Copy constructor with deep copy.
Copy constructor
References clusterSpecies_, collisionTimeOverTimeStep_, energyRatioTolerance_, isAmatOutputOn_, isCdatOutputOn_, isEneOutputOn_, isFStatOutputOn_, isIntStrucOutputOn_, isOverlOutputOn_, isRestartOutputOn_, isVtkOutputOn_, nClusterInserted_, nInternalStructurePoints_, nParticles_, position_, posMax_, posMin_, radiusParticle_, randomised_, setRadiusParticleAndNotNumberOfParticles_, sizeDispersityParticle_, velMax_, velMin_, and velocityDampingModulus_.
|
overridedefault |
Destructor: default destructor.
Destructor. Since there are no pointers in this class, there is no need for any actions here.
|
overridevirtual |
Fills the boundary with clusters.
Is used to fill the insides of the boundary with clusters until it is filled up. Function overridden in children classes FixedClusterInsertionBoundary and RandomClusterInsertionBoundary
| [in,out] | md | the problem's DPMBase object |
Reimplemented from BaseBoundary.
Reimplemented in RandomClusterInsertionBoundary, and FixedClusterInsertionBoundary.
|
overridevirtual |
Creates a copy on the heap and returns a pointer.
Copy method; creates a copy on the heap and returns its pointer.
Implements BaseBoundary.
Reimplemented in RandomClusterInsertionBoundary, and FixedClusterInsertionBoundary.
References BaseClusterInsertionBoundary().
|
overrideprivatevirtual |
Returns the name of the object.
Returns the name of the object class
Implements BaseObject.
Reimplemented in RandomClusterInsertionBoundary, and FixedClusterInsertionBoundary.
this returns the number of cluster inserted.
References nClusterInserted_.
| bool BaseClusterInsertionBoundary::getRandomised | ( | ) |
this returns a bool which indicates if the process is randomised (true) or not (false).
References randomised_.
Referenced by FixedClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), RandomClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), FixedClusterInsertionBoundary::placeParticle(), and RandomClusterInsertionBoundary::placeParticle().
|
overridevirtual |
Generates a random position, velocity for the cluster p.
function overridden in children classes FixedClusterInsertionBoundary and RandomClusterInsertionBoundary
Implements InsertionBoundary.
Reimplemented in RandomClusterInsertionBoundary, and FixedClusterInsertionBoundary.
|
overridevirtual |
reads boundary properties from istream
Reads the boundary properties from an istream
| [in,out] | is | the istream |
Implements BaseBoundary.
References collisionTimeOverTimeStep_, energyRatioTolerance_, isAmatOutputOn_, isCdatOutputOn_, isEneOutputOn_, isFStatOutputOn_, isIntStrucOutputOn_, isOverlOutputOn_, isRestartOutputOn_, isVtkOutputOn_, nClusterInserted_, nInternalStructurePoints_, posMax_, posMin_, radiusParticle_, InsertionBoundary::read(), setRadiusParticleAndNotNumberOfParticles_, sizeDispersityParticle_, oomph::Global_string_for_annotation::string(), velMax_, velMin_, and velocityDampingModulus_.
| void BaseClusterInsertionBoundary::setAdditionalClusterProperties | ( | Mdouble | collisionTimeOverTimeStep, |
| Mdouble | velocityDampingModulus, | ||
| Mdouble | energyRatioTolerance | ||
| ) |
sets additional cluster properties as:
References collisionTimeOverTimeStep_, energyRatioTolerance_, and velocityDampingModulus_.
Sets the geometry (position and velocity distribution) of the ClusterInsertionBoundary.
References posMax_, and posMin_.
Referenced by RandomClusterInsertionBoundary::set().
| void BaseClusterInsertionBoundary::setOutputClusterProperties | ( | bool | doCdatOutput, |
| bool | doOverlOutput, | ||
| bool | doAmatOutput, | ||
| bool | doIntStrucOutput, | ||
| bool | doVtkOutput, | ||
| bool | doRestartOutput, | ||
| bool | doFStatOutput, | ||
| bool | doEneOutput | ||
| ) |
sets cluster whether or not cluster output files will be created, for example:
References isAmatOutputOn_, isCdatOutputOn_, isEneOutputOn_, isFStatOutputOn_, isIntStrucOutputOn_, isOverlOutputOn_, isRestartOutputOn_, and isVtkOutputOn_.
| void BaseClusterInsertionBoundary::setRadiusMicroParticle | ( | Mdouble | rMP | ) |
this sets the radius of the micro particle composing the cluster.
References ERROR, logger, radiusParticle_, and setRadiusParticleAndNotNumberOfParticles_.
Referenced by RandomClusterInsertionBoundary::set(), and FixedClusterInsertionBoundary::set().
| void BaseClusterInsertionBoundary::setRandomised | ( | bool | randomised | ) |
this turns off the randomise(): created for UnitTests.
References randomised_.
Referenced by RandomClusterInsertionBoundarySelfTest::setupInitialConditions().
Sets the velocity range of the ClusterInsertionBoundary.
References velMax_, and velMin_.
Referenced by FixedClusterInsertionBoundary::set().
|
overridevirtual |
writes boundary properties to ostream
Writes boundary's properties to an ostream
| [in] | os | the ostream |
Implements BaseBoundary.
References collisionTimeOverTimeStep_, energyRatioTolerance_, isAmatOutputOn_, isCdatOutputOn_, isEneOutputOn_, isFStatOutputOn_, isIntStrucOutputOn_, isOverlOutputOn_, isRestartOutputOn_, isVtkOutputOn_, nClusterInserted_, nInternalStructurePoints_, posMax_, posMin_, radiusParticle_, setRadiusParticleAndNotNumberOfParticles_, sizeDispersityParticle_, velMax_, velMin_, velocityDampingModulus_, and InsertionBoundary::write().
|
protected |
|
protected |
|
protected |
Referenced by BaseClusterInsertionBoundary().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by BaseClusterInsertionBoundary(), FixedClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), RandomClusterInsertionBoundary::checkBoundaryBeforeTimeStep(), FixedClusterInsertionBoundary::generateParticle(), getNumberOfClusterInserted(), FixedClusterInsertionBoundary::placeParticle(), read(), and write().
|
protected |
|
protected |
|
private |
Referenced by BaseClusterInsertionBoundary().
|
protected |
Referenced by BaseClusterInsertionBoundary(), RandomClusterInsertionBoundary::placeParticle(), read(), setGeometry(), and write().
|
protected |
Referenced by BaseClusterInsertionBoundary(), RandomClusterInsertionBoundary::placeParticle(), read(), setGeometry(), and write().
|
protected |
|
protected |
Referenced by BaseClusterInsertionBoundary(), getRandomised(), and setRandomised().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |