Class ReflectiveShell

Inheritance Relationships

Base Type

Class Documentation

class ReflectiveShell : public Module

Shell with reflective boundary.

If a particle crosses the boundary it is reflected back inside or outside (position and velocity) depending where it came from. Particles can overshoot (be outside of the box during the step) since the step size is not limited by this module.

Public Functions

ReflectiveShell(Vector3d center, double r)

Constructor

Parameters:
  • center – vector corresponding to the center of the sphere

  • r – value corresponding to the radius of the shell

double distance(const Vector3d &point) const
Vector3d normal(const Vector3d &point) const
virtual void process(Candidate *candidate) const
void setCenter(Vector3d center)
void setRadius(double r)
virtual std::string getDescription() const
void setDescription(const std::string &description)
inline void process(ref_ptr<Candidate> candidate) const
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