Voro++
Public Member Functions | Data Fields | Protected Member Functions
voro::radius_poly Class Reference

Class containing all of the routines that are specific to computing the radical Voronoi tessellation. More...

#include <rad_option.hh>

+ Inheritance diagram for voro::radius_poly:

Public Member Functions

 radius_poly ()
 

Data Fields

double ** ppr
 
double max_radius
 

Protected Member Functions

void r_init (int ijk, int s)
 
void r_prime (double rv)
 
bool r_ctest (double crs, double mrs)
 
double r_cutoff (double lrs)
 
double r_max_add (double rs)
 
double r_current_sub (double rs, int ijk, int q)
 
double r_scale (double rs, int ijk, int q)
 
bool r_scale_check (double &rs, double mrs, int ijk, int q)
 

Detailed Description

The container_poly and container_periodic_poly classes are derived from this class, and during the Voronoi cell computation, these routines are used to create the radical Voronoi tessellation.

Definition at line 82 of file rad_option.hh.

Constructor & Destructor Documentation

voro::radius_poly::radius_poly ( )
inline

The class constructor sets the maximum particle radius to be zero.

Definition at line 92 of file rad_option.hh.

Member Function Documentation

bool voro::radius_poly::r_ctest ( double  crs,
double  mrs 
)
inlineprotected

Carries out a radius bounds check.

Parameters
[in]crsthe radius squared to be tested.
[in]mrsthe current maximum distance to a Voronoi vertex multiplied by two.
Returns
True if particles at this radius could not possibly cut the cell, false otherwise.

Definition at line 111 of file rad_option.hh.

double voro::radius_poly::r_current_sub ( double  rs,
int  ijk,
int  q 
)
inlineprotected

Subtracts the radius squared of a particle from a given value.

Parameters
[in]rsthe value to consider.
[in]ijkthe block that the particle is within.
[in]qthe index of the particle within the block.
Returns
The value with the radius squared subtracted.

Definition at line 126 of file rad_option.hh.

double voro::radius_poly::r_cutoff ( double  lrs)
inlineprotected

Scales a plane displacement during a plane bounds check.

Parameters
[in]lrsthe plane displacement.
Returns
The scaled value.

Definition at line 115 of file rad_option.hh.

void voro::radius_poly::r_init ( int  ijk,
int  s 
)
inlineprotected

This is called prior to computing a Voronoi cell for a given particle to initialize any required constants.

Parameters
[in]ijkthe block that the particle is within.
[in]sthe index of the particle within the block.

Definition at line 98 of file rad_option.hh.

double voro::radius_poly::r_max_add ( double  rs)
inlineprotected

Adds the maximum radius squared to a given value.

Parameters
[in]rsthe value to consider.
Returns
The value with the radius squared added.

Definition at line 119 of file rad_option.hh.

void voro::radius_poly::r_prime ( double  rv)
inlineprotected

Sets a required constant to be used when carrying out a plane bounds check.

Definition at line 104 of file rad_option.hh.

double voro::radius_poly::r_scale ( double  rs,
int  ijk,
int  q 
)
inlineprotected

Scales a plane displacement prior to use in the plane cutting algorithm.

Parameters
[in]rsthe initial plane displacement.
[in]ijkthe block that the particle is within.
[in]qthe index of the particle within the block.
Returns
The scaled plane displacement.

Definition at line 135 of file rad_option.hh.

bool voro::radius_poly::r_scale_check ( double &  rs,
double  mrs,
int  ijk,
int  q 
)
inlineprotected

Scales a plane displacement prior to use in the plane cutting algorithm, and also checks if it could possibly cut the cell.

Parameters
[in,out]rsthe plane displacement to be scaled.
[in]mrsthe current maximum distance to a Voronoi vertex multiplied by two.
[in]ijkthe block that the particle is within.
[in]qthe index of the particle within the block.
Returns
True if the cell could possibly cut the cell, false otherwise.

Definition at line 148 of file rad_option.hh.

Field Documentation

double voro::radius_poly::max_radius

The current maximum radius of any particle, used to determine when to cut off the radical Voronoi computation.

Definition at line 89 of file rad_option.hh.

double** voro::radius_poly::ppr

A two-dimensional array holding particle positions and radii.

Definition at line 85 of file rad_option.hh.


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