Voro++
|
Class for computation of the unit Voronoi cell associated with a 3D non-rectangular periodic domain.
#include <unitcell.hh>
Public Member Functions | |
unitcell (double bx_, double bxy_, double by_, double bxz_, double byz_, double bz_) | |
void | draw_domain_gnuplot (const char *filename) |
void | draw_domain_gnuplot (FILE *fp=stdout) |
void | draw_domain_pov (const char *filename) |
void | draw_domain_pov (FILE *fp=stdout) |
bool | intersects_image (double dx, double dy, double dz, double &vol) |
void | images (std::vector< int > &vi, std::vector< double > &vd) |
Data Fields | |
const double | bx |
const double | bxy |
const double | by |
const double | bxz |
const double | byz |
const double | bz |
voronoicell | unit_voro |
Protected Attributes | |
double | max_uv_y |
double | max_uv_z |
Definition at line 22 of file unitcell.hh.
voro::unitcell::unitcell | ( | double | bx_, |
double | bxy_, | ||
double | by_, | ||
double | bxz_, | ||
double | byz_, | ||
double | bz_ | ||
) |
Initializes the unit cell class for a particular non-orthogonal periodic geometry, corresponding to a parallelepiped with sides given by three vectors. The class constructs the unit Voronoi cell corresponding to this geometry.
[in] | (bx_) | The x coordinate of the first unit vector. |
[in] | (bxy_,by_) | The x and y coordinates of the second unit vector. |
[in] | (bxz_,byz_,bz_) | The x, y, and z coordinates of the third unit vector. |
Definition at line 26 of file unitcell.cc.
|
inline |
Draws an outline of the domain in Gnuplot format.
[in] | filename | the filename to write to. |
Definition at line 48 of file unitcell.hh.
void voro::unitcell::draw_domain_gnuplot | ( | FILE * | fp = stdout | ) |
Draws the periodic domain in gnuplot format.
[in] | fp | the file handle to write to. |
Definition at line 203 of file unitcell.cc.
|
inline |
Draws an outline of the domain in Gnuplot format.
[in] | filename | the filename to write to. |
Definition at line 56 of file unitcell.hh.
void voro::unitcell::draw_domain_pov | ( | FILE * | fp = stdout | ) |
Draws the periodic domain in POV-Ray format.
[in] | fp | the file handle to write to. |
Definition at line 212 of file unitcell.cc.
void voro::unitcell::images | ( | std::vector< int > & | vi, |
std::vector< double > & | vd | ||
) |
Computes a list of periodic domain images that intersect the unit Voronoi cell.
[out] | vi | a vector containing triplets (i,j,k) corresponding to domain images that intersect the unit Voronoi cell, when it is centered in the middle of the primary domain. |
[out] | vd | a vector containing the fraction of the Voronoi cell volume within each corresponding image listed in vi. |
Definition at line 122 of file unitcell.cc.
bool voro::unitcell::intersects_image | ( | double | dx, |
double | dy, | ||
double | dz, | ||
double & | vol | ||
) |
Calculates whether the unit Voronoi cell intersects a given periodic image of the domain.
[in] | (dx,dy,dz) | the displacement of the periodic image. |
[out] | vol | the proportion of the unit cell volume within this image, only computed in the case that the two intersect. |
Definition at line 101 of file unitcell.cc.
const double voro::unitcell::bx |
The x coordinate of the first vector defining the periodic domain.
Definition at line 26 of file unitcell.hh.
const double voro::unitcell::bxy |
The x coordinate of the second vector defining the periodic domain.
Definition at line 29 of file unitcell.hh.
const double voro::unitcell::bxz |
The x coordinate of the third vector defining the periodic domain.
Definition at line 35 of file unitcell.hh.
const double voro::unitcell::by |
The y coordinate of the second vector defining the periodic domain.
Definition at line 32 of file unitcell.hh.
const double voro::unitcell::byz |
The y coordinate of the third vector defining the periodic domain.
Definition at line 38 of file unitcell.hh.
const double voro::unitcell::bz |
The z coordinate of the third vector defining the periodic domain.
Definition at line 41 of file unitcell.hh.
|
protected |
The maximum y-coordinate that could possibly cut the computed unit Voronoi cell.
Definition at line 67 of file unitcell.hh.
|
protected |
The maximum z-coordinate that could possibly cut the computed unit Voronoi cell.
Definition at line 70 of file unitcell.hh.
voronoicell voro::unitcell::unit_voro |
The computed unit Voronoi cell corresponding the given 3D non-rectangular periodic domain geometry.
Definition at line 44 of file unitcell.hh.