![]() |
|
Supplies a 'constant heat flux' to a cuboidal region (specified by two corner points) by adding a random velocity at each time step to each particle therein, increasing the granular temperature (velocity variance). More...
#include <HeaterBoundary.h>
Inheritance diagram for HeaterBoundary:Public Member Functions | |
| HeaterBoundary () | |
| HeaterBoundary (const HeaterBoundary &other) | |
| ~HeaterBoundary () override | |
| HeaterBoundary * | copy () const override |
| Used to create a copy of the object NB: purely virtual function. More... | |
| void | set (Vec3D posMin, Vec3D posMax, Vec3D specificHeatStrength) |
| void | set2D (Vec3D posMin, Vec3D posMax, Mdouble specificHeatStrength) |
| void | set3D (Vec3D posMin, Vec3D posMax, Mdouble specificHeatStrength) |
| void | setStrength (Vec3D specificHeatStrength) |
| void | setStrength2D (Mdouble specificHeatStrength) |
| void | setStrength3D (Mdouble specificHeatStrength) |
| Mdouble | getVolume () const |
| Returns the volume of the HeaterBoundary cuboid. More... | |
| Mdouble | getDistance (const Vec3D &position) const |
| Returns a negative value if and only if the position is inside the boundary (and therefore the particle to be heated). More... | |
| void | checkBoundaryAfterParticlesMove (ParticleHandler &pH) override |
| Runs at the end of each time step. More... | |
| bool | checkBoundaryAfterParticleMoved (BaseParticle *p, ParticleHandler &pH) |
| Checks if a given particle is inside the HeaterBoundary. If so, heats it. More... | |
| void | read (std::istream &is) override |
| Reads some boundary properties from an std::istream. More... | |
| void | write (std::ostream &os) const override |
| Writes the boundary properties to an std::ostream. More... | |
| std::string | getName () const override |
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 | |
| Vec3D | posMin_ |
| Vec3D | posMax_ |
| Vec3D | specificHeatStrength_ |
| The specific heat strengths have units of energy (mass)^{-1} (time)^{-1) = m^2 s^{-3} For isotropic heating, take a vector proportional to (s/3, s/3, s/3). More... | |
Supplies a 'constant heat flux' to a cuboidal region (specified by two corner points) by adding a random velocity at each time step to each particle therein, increasing the granular temperature (velocity variance).
| HeaterBoundary::HeaterBoundary | ( | ) |
References posMax_, posMin_, and specificHeatStrength_.
Referenced by copy().
| HeaterBoundary::HeaterBoundary | ( | const HeaterBoundary & | other | ) |
References posMax_, posMin_, and specificHeatStrength_.
|
override |
| bool HeaterBoundary::checkBoundaryAfterParticleMoved | ( | BaseParticle * | p, |
| ParticleHandler & | pH | ||
| ) |
Checks if a given particle is inside the HeaterBoundary. If so, heats it.
References getDistance(), BaseHandler< T >::getDPMBase(), RNG::getRandomNumber(), DPMBase::getTimeStep(), p, DPMBase::random, specificHeatStrength_, sqrt(), Vec3D::X, Vec3D::Y, and Vec3D::Z.
Referenced by checkBoundaryAfterParticlesMove().
|
overridevirtual |
Runs at the end of each time step.
Reimplemented from BaseBoundary.
References BaseHandler< T >::begin(), checkBoundaryAfterParticleMoved(), BaseHandler< T >::end(), and p.
|
overridevirtual |
Used to create a copy of the object NB: purely virtual function.
Implements BaseBoundary.
References HeaterBoundary().
Returns a negative value if and only if the position is inside the boundary (and therefore the particle to be heated).
References posMax_, posMin_, Vec3D::X, Vec3D::Y, and Vec3D::Z.
Referenced by checkBoundaryAfterParticleMoved().
|
overridevirtual |
Returns the object's class name (i.e. 'HeaterBoundary').
Implements BaseObject.
|
inline |
|
overridevirtual |
Reads some boundary properties from an std::istream.
Reads a number of boundary properties from the given std::istream.
| [in,out] | is | the istream |
Implements BaseBoundary.
References posMax_, posMin_, BaseBoundary::read(), specificHeatStrength_, and oomph::Global_string_for_annotation::string().
References posMax_, posMin_, and setStrength().
References posMax_, posMin_, and setStrength2D().
References posMax_, posMin_, and setStrength3D().
Referenced by HeaterBoundaryTest::setupInitialConditions().
| void HeaterBoundary::setStrength | ( | Vec3D | specificHeatStrength | ) |
References specificHeatStrength_.
Referenced by set().
| void HeaterBoundary::setStrength2D | ( | Mdouble | specificHeatStrength | ) |
| void HeaterBoundary::setStrength3D | ( | Mdouble | specificHeatStrength | ) |
|
overridevirtual |
Writes the boundary properties to an std::ostream.
Writes the boundary properties to an std::ostream.
| [out] | os | the ostream the properties are to be written to. |
Implements BaseBoundary.
References posMax_, posMin_, specificHeatStrength_, and BaseBoundary::write().
|
private |
Referenced by getDistance(), getVolume(), HeaterBoundary(), read(), set(), set2D(), set3D(), and write().
|
private |
Referenced by getDistance(), getVolume(), HeaterBoundary(), read(), set(), set2D(), set3D(), and write().
|
private |
The specific heat strengths have units of energy (mass)^{-1} (time)^{-1) = m^2 s^{-3} For isotropic heating, take a vector proportional to (s/3, s/3, s/3).
Referenced by checkBoundaryAfterParticleMoved(), HeaterBoundary(), read(), setStrength(), setStrength2D(), setStrength3D(), and write().