Class PeriodicBox
Defined in File Boundary.h
Inheritance Relationships
Base Type
public Module(Class Module)
Class Documentation
-
class PeriodicBox : public Module
Rectangular box with periodic boundaries.
If a particle passes on of the sides it is placed at the opposite side and its initial (source) position changed accordingly. This implements periodic boundaries, that keep the particle inside the box and instead move the source away periodically. Particles can overshoot (be outside of the box during the step) since the step size is not limited by this module.
Public Functions
-
PeriodicBox()
Default constructor
-
PeriodicBox(Vector3d origin, Vector3d size)
Constructor
- Parameters:
origin – vector corresponding to the lower box corner
size – vector corresponding to the box sizes along each direction
-
virtual void process(Candidate *candidate) const
Process function This is the main function to work with, it is called during every ModuleList::run step. Derived functions need to override this overload of process!
- Parameters:
candidate – Candidate raw pointer
-
virtual std::string getDescription() const
Returns description, can be overriden by derived class.
-
void setDescription(const std::string &description)
Sets description, can be used instead of getDescription in derived class
- Parameters:
description – Description string
-
inline void process(ref_ptr<Candidate> candidate) const
Process function Overload for process function to explicitly make a conversion from ref_ptr to a raw pointer
-
inline size_t addReference() const
-
inline size_t removeReference() const
-
inline int removeReferenceNoDelete() const
-
inline size_t getReferenceCount() const
Protected Attributes
-
mutable size_t _referenceCount
-
PeriodicBox()