UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
voro::unitcell Class Reference

Class for computation of the unit Voronoi cell associated with a 3D non-rectangular periodic domain. More...

#include <unitcell.hh>

Public Member Functions

 unitcell (double bx_, double bxy_, double by_, double bxz_, double byz_, double bz_)
 
bool intersects_image (double dx, double dy, double dz, double &vol)
 
void images (std::vector< int > &vi, std::vector< double > &vd)
 

Public Attributes

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
 

Detailed Description

Class for computation of the unit Voronoi cell associated with a 3D non-rectangular periodic domain.

Constructor & Destructor Documentation

◆ unitcell()

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.

Parameters
[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.

Member Function Documentation

◆ images()

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.

Parameters
[out]via 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]vda vector containing the fraction of the Voronoi cell volume within each corresponding image listed in vi.

◆ intersects_image()

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.

Parameters
[in](dx,dy,dz)the displacement of the periodic image.
[out]volthe proportion of the unit cell volume within this image, only computed in the case that the two intersect.
Returns
True if they intersect, false otherwise.

Member Data Documentation

◆ bx

const double voro::unitcell::bx

The x coordinate of the first vector defining the periodic domain.

◆ bxy

const double voro::unitcell::bxy

The x coordinate of the second vector defining the periodic domain.

◆ bxz

const double voro::unitcell::bxz

The x coordinate of the third vector defining the periodic domain.

◆ by

const double voro::unitcell::by

The y coordinate of the second vector defining the periodic domain.

◆ byz

const double voro::unitcell::byz

The y coordinate of the third vector defining the periodic domain.

◆ bz

const double voro::unitcell::bz

The z coordinate of the third vector defining the periodic domain.

◆ max_uv_y

double voro::unitcell::max_uv_y
protected

The maximum y-coordinate that could possibly cut the computed unit Voronoi cell.

◆ max_uv_z

double voro::unitcell::max_uv_z
protected

The maximum z-coordinate that could possibly cut the computed unit Voronoi cell.

◆ unit_voro

voronoicell voro::unitcell::unit_voro

The computed unit Voronoi cell corresponding the given 3D non-rectangular periodic domain geometry.


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