faunus
Public Member Functions | List of all members
Faunus::Geometry::HexagonalPrism Class Reference

The hexagonal prism geometry with periodic boundary conditions. More...

#include <geometry.h>

Inheritance diagram for Faunus::Geometry::HexagonalPrism:
Inheritance graph
[legend]
Collaboration diagram for Faunus::Geometry::HexagonalPrism:
Collaboration graph
[legend]

Public Member Functions

Point getLength () const override
 Side lengths.
 
double getVolume (int dim=3) const override
 Get volume.
 
Point setVolume (double volume, VolumeMethod method=VolumeMethod::ISOTROPIC) override
 Set volume.
 
Point vdist (const Point &a, const Point &b) const override
 Minimum distance vector b->a.
 
void boundary (Point &a) const override
 Apply boundary conditions.
 
bool collision (const Point &a) const override
 Overlap with boundaries.
 
void randompos (Point &m, Random &rand) const override
 Generate random position.
 
void from_json (const json &j) override
 
void to_json (json &j) const override
 
 HexagonalPrism (double side=0.0, double height=0.0)
 
std::unique_ptr< GeometryImplementationclone () const override
 A unique pointer to a copy of self.
 
double innerRadius () const
 Inner hexagonal radius.
 
double outerRadius () const
 Outer radius / side-length.
 
double height () const
 Prism height.
 
- Public Member Functions inherited from Faunus::Geometry::GeometryBase
BoundaryFunction getBoundaryFunc () const
 Lambda for applying boundary conditions on a point.
 
DistanceFunction getDistanceFunc () const
 Lambda for calculating the (minimum) distance vector between two positions.
 

Additional Inherited Members

- Public Attributes inherited from Faunus::Geometry::GeometryImplementation
BoundaryCondition boundary_conditions
 
- Protected Member Functions inherited from Faunus::Geometry::GeometryBase
template<typename T = double>
int anint (T x) const
 Round to int.
 

Detailed Description

The hexagonal prism geometry with periodic boundary conditions.

The prism is oriented in the coordination system as follows: z height, xy base ⬢ with a shorter length (the diameter of an inscribed circle d = 2r) in x direction, and a longer length (the diameter of a circumscribed circle D = 2R) in y direction.


The documentation for this class was generated from the following files: