 |
revision: v0.14
|
Go to the documentation of this file. 1 #ifndef DROPLETBOUNDARY_H
2 #define DROPLETBOUNDARY_H
60 return "DropletBoundary";
71 void read(std::istream& is)
override;
76 void write(std::ostream& os)
const override;
82 void writeVTK(std::fstream& file)
override;
Definition: DrivenParticleUnitTest.cpp:38
void setName(const std::string &name)
Allows to set the name of all the files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:420
void actionsAfterTimeStep() override
A virtual function which allows to define operations to be executed after time step.
Definition: DrivenParticleUnitTest.cpp:64
void setTimeStep(Mdouble newDt)
Sets a new value for the simulation time step.
Definition: DPMBase.cc:1225
Mdouble getTimeStep() const
Returns the simulation time step.
Definition: DPMBase.cc:1241
const Mdouble pi
Definition: ExtendedMath.h:45
std::function< void(DropletBoundary &)> generateDroplets_
Definition: DropletBoundary.h:40
Vec3D position
Definition: DropletBoundary.h:30
double radius
Definition: DropletBoundary.h:32
void fixParticle()
Fix Particle function. It fixes a Particle by setting its inverse mass and inertia and velocities to ...
Definition: BaseParticle.cc:165
void setPosition(const Vec3D &position)
Sets the position of this BaseInteractable.
Definition: BaseInteractable.h:239
Basic class for walls.
Definition: BaseWall.h:48
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
~DropletBoundary() override
Definition: DropletBoundary.h:51
Mdouble X
the vector components
Definition: Vector.h:65
void setYMax(Mdouble newYMax)
Sets the value of YMax, the upper bound of the problem domain in the y-direction.
Definition: DPMBase.cc:1182
void write(std::ostream &os) const override=0
Adds object's id_ to given ostream NB: purely virtual function, overriding the version of BaseObject.
Definition: BaseBoundary.cc:70
Vec3D velocity
Definition: DropletBoundary.h:31
void setGenerateDroplets(std::function< void(DropletBoundary &)> generateDroplets)
Definition: DropletBoundary.h:78
void read(std::istream &is) override=0
Reads the object's id_ from given istream NB: purely virtual function, overriding the version of Base...
Definition: BaseBoundary.cc:61
Definition: BaseBoundary.h:49
virtual void setRadius(Mdouble radius)
Sets the particle's radius_ (and adjusts the mass_ accordingly, based on the particle's species)
Definition: BaseParticle.cc:542
void solve()
The work horse of the code.
Definition: DPMBase.cc:4003
void setZMax(Mdouble newZMax)
Sets the value of ZMax, the upper bound of the problem domain in the z-direction.
Definition: DPMBase.cc:1208
std::string getName() const override
A purely virtual function.
Definition: DropletBoundary.h:59
This is a class that generates random numbers i.e. named the Random Number Generator (RNG).
Definition: RNG.h:53
LL< Log::VERBOSE > VERBOSE
Verbose information.
Definition: Logger.cc:57
Definition: LiquidFilmParticle.h:36
Mdouble sin(Mdouble x)
Definition: ExtendedMath.cc:44
void setSpecies(const ParticleSpecies *species)
Definition: BaseParticle.cc:804
Species< LinearViscoelasticNormalSpecies > LinearViscoelasticSpecies
Definition: LinearViscoelasticSpecies.h:33
This is the base class for both Mercury2D and Mercury3D. Note the actually abstract grid is defined i...
Definition: MercuryBase.h:126
static Mdouble getLength(const Vec3D &a)
Calculates the length of a Vec3D: .
Definition: Vector.cc:331
virtual std::vector< BaseParticle * > hGridFindParticleContacts(const BaseParticle *obj)=0
Purely virtual function that returns all particles that have a contact with a given particle.
void setXMax(Mdouble newXMax)
Sets the value of XMax, the upper bound of the problem domain in the x-direction.
Definition: DPMBase.cc:1156
Supplies a 'constant heat flux' to a cuboidal region (specified by two corner points) by adding a ran...
Definition: DropletBoundary.h:26
SpeciesHandler speciesHandler
A handler to that stores the species type i.e. LinearViscoelasticSpecies, etc.
Definition: DPMBase.h:1385
Definition: DropletBoundary.h:29
A spherical particle is the most simple particle used in MercuryDPM.
Definition: SphericalParticle.h:37
DropletBoundary * copy() const override
Used to create a copy of the object NB: purely virtual function.
Definition: DropletBoundary.h:55
WallHandler wallHandler
An object of the class WallHandler. Contains pointers to all the walls created.
Definition: DPMBase.h:1405
void addLiquidVolume(Mdouble liquidVolume)
Definition: LiquidFilmParticle.h:113
void setTimeMax(Mdouble newTMax)
Sets a new value for the maximum simulation duration.
Definition: DPMBase.cc:870
Mdouble Y
Definition: Vector.h:65
int main(int argc, char *argv[])
Definition: DrivenParticleUnitTest.cpp:81
LL< Log::FATAL > FATAL
Definition of the different loglevels by its wrapper class LL. These are used as tags in template met...
Definition: Logger.cc:52
DropletBoundary(const DropletBoundary &other)
Definition: DropletBoundary.h:46
const std::complex< Mdouble > i
Definition: ExtendedMath.h:51
void setupInitialConditions() override
This function allows to set the initial conditions for our problem to be solved, by default particle ...
Definition: DrivenParticleUnitTest.cpp:40
void setFileType(FileType fileType)
Sets File::fileType_ for all files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:457
void setPrescribedPosition(const std::function< Vec3D(double)> &prescribedPosition)
Allows the position of an infinite mass interactable to be prescribed.
Definition: BaseInteractable.cc:413
T * getLastObject()
Gets a pointer to the last Object in this BaseHandler.
Definition: BaseHandler.h:634
T * getObject(const unsigned int id)
Gets a pointer to the Object at the specified index in the BaseHandler.
Definition: BaseHandler.h:613
void writeVTK(std::fstream &file) override
Definition: DropletBoundary.cc:94
DPMBase * getDPMBase()
Gets the problem that is solved using this handler.
Definition: BaseHandler.h:725
DropletBoundary()
Definition: DropletBoundary.h:44
unsigned checkCount
Definition: DropletBoundary.h:85
Definition: BaseParticle.h:54
std::vector< Droplet > droplets_
Definition: DropletBoundary.h:35
std::enable_if<!std::is_pointer< U >::value, U * >::type copyAndAddObject(const U &object)
Creates a copy of a Object and adds it to the BaseHandler.
Definition: BaseHandler.h:379
const unsigned n
Definition: CG3DPackingUnitTest.cpp:32
Vec3D getGravity() const
Returns the gravitational acceleration.
Definition: DPMBase.cc:1382
BoundaryHandler * getHandler() const
Returns the boundary's BoundaryHandler.
Definition: BaseBoundary.cc:143
Container to store all BaseParticle.
Definition: ParticleHandler.h:48
void read(std::istream &is) override
Reads some boundary properties from an std::istream.
Definition: DropletBoundary.cc:61
ParticleHandler particleHandler
An object of the class ParticleHandler, contains the pointers to all the particles created.
Definition: DPMBase.h:1395
Mdouble Z
Definition: Vector.h:65
virtual bool getDistanceNormalOverlap(const BaseParticle &P, Mdouble &distance, Vec3D &normal_return, Mdouble &overlap) const
Definition: BaseWall.cc:523
void checkBoundaryAfterParticlesMove(ParticleHandler &pH) override
Runs at the end of each time step.
Definition: DropletBoundary.cc:7
void write(std::ostream &os) const override
Writes the boundary properties to an std::ostream.
Definition: DropletBoundary.cc:82
unsigned int getNumberOfTimeSteps() const
Returns the current counter of time-steps, i.e. the number of time-steps that the simulation has unde...
Definition: DPMBase.cc:821
Mdouble cos(Mdouble x)
Definition: ExtendedMath.cc:64
const Vec3D & getPosition() const
Returns the position of this BaseInteractable.
Definition: BaseInteractable.h:218
The DPMBase header includes quite a few header files, defining all the handlers, which are essential....
Definition: DPMBase.h:76