26 #ifndef FLUXBOUNDARY_H
27 #define FLUXBOUNDARY_H
113 void read(std::istream& is)
override;
119 void oldRead(std::istream& is);
124 void write(std::ostream& os)
const override;
129 std::string
getName()
const override;
#define MERCURYDPM_DEPRECATED
Definition: GeneralDefine.h:37
Definition: BaseBoundary.h:49
Definition: BaseParticle.h:54
Used for measuring flow rates through a given plane; acts like a pair of scales Inherits from BaseBou...
Definition: FluxBoundary.h:42
double getVolumeOfParticlesCrossedNet() const
Definition: FluxBoundary.cc:202
~FluxBoundary() override
destructor
Definition: FluxBoundary.cc:54
double getVolumeOfParticlesCrossedBack() const
Definition: FluxBoundary.cc:187
double getMassOfParticlesCrossedForw() const
Definition: FluxBoundary.cc:167
unsigned int getNumberOfParticlesCrossedForw() const
Gets the number of particles that have crossed the boundary.
Definition: FluxBoundary.cc:162
double getMassOfParticlesCrossedNet() const
Definition: FluxBoundary.cc:197
FluxBoundary * copy() const override
Copy method; creates copy on the heap and returns a pointer to it.
Definition: FluxBoundary.cc:66
Mdouble distance_
The boundary's distance from the origin.
Definition: FluxBoundary.h:148
void set(const Vec3D &normal, Mdouble distance)
Sets boundary position based on a normal and distance.
Definition: FluxBoundary.cc:85
FluxBoundary()
default constructor
Definition: FluxBoundary.cc:35
void move(Mdouble position)
Sets the boundary's distance property to the given one.
Definition: FluxBoundary.cc:110
double massCrossedBack_
Definition: FluxBoundary.h:156
Mdouble scaleFactor_
This is the factor to rescale the given normal vector to a unit vectors.
Definition: FluxBoundary.h:144
void write(std::ostream &os) const override
Writes the boundary properties to an std::ostream.
Definition: FluxBoundary.cc:235
Mdouble getDistance(const Vec3D &position) const
Returns the shortest distance between the boundary and given position.
Definition: FluxBoundary.cc:119
unsigned int numberOfParticlesCrossedBack_
Definition: FluxBoundary.h:154
MERCURYDPM_DEPRECATED void oldRead(std::istream &is)
Deprecated read method. use FluxBoundary::read() instead.
Definition: FluxBoundary.cc:225
unsigned int getNumberOfParticlesCrossedNet() const
Definition: FluxBoundary.cc:192
void read(std::istream &is) override
Reads some boundary properties from an std::istream.
Definition: FluxBoundary.cc:211
double volumeCrossedBack_
Definition: FluxBoundary.h:158
std::string getName() const override
Returns the name of the object.
Definition: FluxBoundary.cc:247
double volumeCrossedForw_
Definition: FluxBoundary.h:157
bool checkBoundaryAfterParticleMoved(BaseParticle *p, ParticleHandler &pH)
Checks if particle has crossed the boundary and updates the scales if so.
Definition: FluxBoundary.cc:137
void checkBoundaryAfterParticlesMove(ParticleHandler &pH) override
Runs at the end of each time step.
Definition: FluxBoundary.cc:124
unsigned int getNumberOfParticlesCrossedBack() const
Definition: FluxBoundary.cc:177
Vec3D normal_
outward unit normal vector
Definition: FluxBoundary.h:135
double getVolumeOfParticlesCrossedForw() const
Definition: FluxBoundary.cc:172
double getMassOfParticlesCrossedBack() const
Definition: FluxBoundary.cc:182
unsigned int numberOfParticlesCrossedForw_
Number of particles that have been deleted by this boundary.
Definition: FluxBoundary.h:153
void reset()
Resets the counts to zero.
Definition: FluxBoundary.cc:95
double massCrossedForw_
Definition: FluxBoundary.h:155
Container to store all BaseParticle.
Definition: ParticleHandler.h:48