5 #ifndef DROPLETBOUNDARY_H
6 #define DROPLETBOUNDARY_H
70 return "DropletBoundary";
81 void read(std::istream& is)
override;
86 void write(std::ostream& os)
const override;
96 void writeVTK(std::fstream& file)
override;
121 logger(
WARN,
"DropletBoundary: Droplets should repel from wall, but no droplet species was set. Using last species from the species handler instead.");
129 logger(
ERROR,
"DropletBoundary: The heat capacity of the droplet species is 0. For proper heat transfer, make sure the droplets have the correct species and the heat capacity is set.");
168 logger.assert_always(volumeFraction > 0.0,
"Error in DropletBoundary::setLiquidFilmVolumeFraction(%), volumeFraction must > 0.", volumeFraction);
177 logger.assert_always(radiusFraction > 0.0,
"Error in DropletBoundary::setLiquidFilmVolumeFractionFromRadiusFraction(%), radiusFraction must > 0.", radiusFraction);
Logger< MERCURYDPM_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
Definition: BaseBoundary.h:28
BoundaryHandler * getHandler() const
Returns the boundary's BoundaryHandler.
Definition: BaseBoundary.cc:122
DPMBase * getDPMBase()
Gets the problem that is solved using this handler.
Definition: BaseHandler.h:733
T * getLastObject()
Gets a pointer to the last Object in this BaseHandler.
Definition: BaseHandler.h:642
Definition: BaseParticle.h:33
The DPMBase header includes quite a few header files, defining all the handlers, which are essential....
Definition: DPMBase.h:56
SpeciesHandler speciesHandler
A handler to that stores the species type i.e. LinearViscoelasticSpecies, etc.
Definition: DPMBase.h:1433
Supplies a 'constant heat flux' to a cuboidal region (specified by two corner points) by adding a ran...
Definition: DropletBoundary.h:30
void addHeatTransfer(BaseParticle *particle, double liquidVolume)
Definition: DropletBoundary.cc:143
std::vector< Droplet > & getDroplets()
Definition: DropletBoundary.h:144
double lostVolume_
Definition: DropletBoundary.h:196
double getSpeciesHeatCapacity(const ParticleSpecies *species) const
Definition: DropletBoundary.cc:165
double getAbsorbedVolume() const
Definition: DropletBoundary.h:152
DropletBoundary(const DropletBoundary &other)
Definition: DropletBoundary.h:48
double liquidFilmVolumeMaxFraction_
Definition: DropletBoundary.h:210
double getTotalInsertedVolume() const
Definition: DropletBoundary.h:160
void write(std::ostream &os) const override
Writes the boundary properties to an std::ostream.
Definition: DropletBoundary.cc:231
double getLostVolume() const
Definition: DropletBoundary.h:156
std::function< void(DropletBoundary &)> generateDroplets_
Definition: DropletBoundary.h:182
void setRemoveDropletsAtWalls(bool removeDroplets)
Definition: DropletBoundary.h:101
double dropletTemperature_
Definition: DropletBoundary.h:201
DropletBoundary * copy() const override
Used to create a copy of the object NB: purely virtual function.
Definition: DropletBoundary.h:65
bool removeDropletsAtWalls_
Definition: DropletBoundary.h:198
void setDropletTemperature(double temperature)
Definition: DropletBoundary.h:109
double dropletVolume_
Definition: DropletBoundary.h:192
double getDropletVolume() const
Definition: DropletBoundary.h:148
DropletBoundary()
Definition: DropletBoundary.h:46
void setRemoveDroplets(std::function< bool(const Droplet &)> removeDroplets)
Definition: DropletBoundary.h:92
void setLiquidFilmVolumeMaxFraction(double volumeFraction)
Sets the fraction of the particle volume that indicates the maximum amount of liquid a particle may h...
Definition: DropletBoundary.h:167
void setDropletSpecies(const ParticleSpecies *species)
Definition: DropletBoundary.h:105
void setLiquidFilmVolumeMaxFractionFromRadiusFraction(double radiusFraction)
Sets the fraction of the particle volume that indicates the maximum amount of liquid a particle may h...
Definition: DropletBoundary.h:176
double absorbedVolume_
Definition: DropletBoundary.h:194
void addDroplet(const Vec3D &position, const Vec3D &velocity, double radius, double liquidVolume)
Definition: DropletBoundary.h:138
void read(std::istream &is) override
Reads some boundary properties from an std::istream.
Definition: DropletBoundary.cc:192
~DropletBoundary() override
Definition: DropletBoundary.h:61
void checkBoundaryAfterParticlesMove(ParticleHandler &pH) override
Runs at the end of each time step.
Definition: DropletBoundary.cc:19
std::string getName() const override
A purely virtual function.
Definition: DropletBoundary.h:69
std::function< bool(const Droplet &)> removeDroplets_
Definition: DropletBoundary.h:183
unsigned checkCount
Definition: DropletBoundary.h:99
std::vector< Droplet > droplets_
Definition: DropletBoundary.h:189
void addDroplet(const Vec3D &position, const Vec3D &velocity, double radius)
Definition: DropletBoundary.h:132
void setGenerateDroplets(std::function< void(DropletBoundary &)> generateDroplets)
Definition: DropletBoundary.h:88
void writeVTK(std::fstream &file) override
Definition: DropletBoundary.cc:249
const ParticleSpecies * dropletSpecies_
Definition: DropletBoundary.h:199
void actionsBeforeTimeLoop() override
Virtual function that does something after DPMBase::setupInitialConditions but before the first time ...
Definition: DropletBoundary.h:113
Container to store pointers to all particles.
Definition: ParticleHandler.h:28
Definition: ParticleSpecies.h:16
This is a class that generates random numbers i.e. named the Random Number Generator (RNG).
Definition: RNG.h:32
Definition: Kernel/Math/Vector.h:30
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 pow(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:625
double velocity(const double &t)
Angular velocity as function of time t.
Definition: jeffery_orbit.cc:107
const Mdouble pi
Definition: ExtendedMath.h:23
const Mdouble inf
Definition: GeneralDefine.h:23
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
Definition: DropletBoundary.h:33
double radius
Definition: DropletBoundary.h:39
double liquidVolume
Definition: DropletBoundary.h:40
Vec3D force
Definition: DropletBoundary.h:43
Droplet(const Vec3D &position, const Vec3D &velocity, double radius, double liquidVolume)
Definition: DropletBoundary.h:34
Vec3D velocity
Definition: DropletBoundary.h:38
Vec3D position
Definition: DropletBoundary.h:37