|
Voro++
|
Class for computation of the unit Voronoi cell associated with a 3D non-rectangular periodic domain.
#include <unitcell.hh>
Inheritance diagram for voro::unitcell: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.
1.8.5