A class encapsulating all routines specifically needed in the Voronoi radical tessellation. More...
#include <container.hh>
Public Member Functions | |
radius_poly (container_base< radius_poly > *icc) | |
void | import (istream &is) |
void | store_radius (int i, int j, fpoint r) |
void | clear_max () |
void | init (int ijk, int s) |
fpoint | volume (int ijk, int s) |
fpoint | cutoff (fpoint lrs) |
fpoint | scale (fpoint rs, int t, int q) |
void | print (ostream &os, int ijk, int q, bool later=true) |
void | rad (ostream &os, int l, int c) |
Data Fields | |
const int | mem_size |
A class encapsulating all routines specifically needed in the Voronoi radical tessellation.
This class encapsulates all the routines that are required for carrying out the radical Voronoi tessellation that is appropriate for polydisperse sphere. When the container class is instantiated with this class, information about particle radii is switched on.
Definition at line 272 of file container.hh.
radius_poly::radius_poly | ( | container_base< radius_poly > * | icc | ) | [inline] |
This constructor sets a pointer back to the container class that created it, and initializes the mem_size constant to 4.
Definition at line 281 of file container.hh.
void radius_poly::clear_max | ( | ) | [inline] |
Clears the stored maximum radius.
Definition at line 1502 of file container.cc.
This routine is called when deciding when to terminate the computation of a Voronoi cell. For the Voronoi radical tessellation for a polydisperse case, this routine multiplies the cutoff value by the scaling factor that was precomputed in the init() routine.
[in] | lrs | a cutoff radius for the cell computation. |
Definition at line 1547 of file container.cc.
void radius_poly::import | ( | istream & | is | ) | [inline] |
Imports a list of particles from an input stream for the polydisperse case, where both positions and particle radii are both stored.
[in] | is | an input stream to read from. |
Definition at line 1521 of file container.cc.
void radius_poly::init | ( | int | ijk, | |
int | s | |||
) | [inline] |
Initializes the radius_poly class for a new Voronoi cell calculation, by computing the radial cut-off value, based on the current particle's radius and the maximum radius of any particle in the packing.
[in] | ijk | the region to consider. |
[in] | s | the number of the particle within the region. |
Definition at line 1535 of file container.cc.
void radius_poly::print | ( | ostream & | os, | |
int | ijk, | |||
int | q, | |||
bool | later = true | |||
) | [inline] |
Prints the radius of a particle to an open file stream.
[in] | os | an open file stream. |
[in] | ijk | the region to consider. |
[in] | q | the number of the particle within the region. |
[in] | later | A boolean value to determine whether or not to write a space character before the first entry. |
Definition at line 1620 of file container.cc.
void radius_poly::rad | ( | ostream & | os, | |
int | l, | |||
int | c | |||
) | [inline] |
Prints the radius of a particle to an open output stream.
[in] | os | the output stream to write to. |
[in] | l | the region to consider. |
[in] | c | the number of the particle within the region. |
Definition at line 1572 of file container.cc.
Scales the position of a plane according to the relative sizes of the particle radii.
[in] | rs | the distance between the Voronoi cell and the cutting plane. |
[in] | t | the region to consider |
[in] | q | the number of the particle within the region. |
Definition at line 1601 of file container.cc.
void radius_poly::store_radius | ( | int | i, | |
int | j, | |||
fpoint | r | |||
) | [inline] |
Sets the radius of the jth particle in region i to r, and updates the maximum particle radius.
[in] | i | the region of the particle to consider. |
[in] | j | the number of the particle within the region. |
[in] | r | the radius to set. |
Definition at line 1496 of file container.cc.
fpoint radius_poly::volume | ( | int | ijk, | |
int | s | |||
) | [inline] |
Returns the scaled volume of a particle.
[in] | ijk | the region to consider. |
[in] | s | the number of the particle within the region. |
Definition at line 1590 of file container.cc.
const int radius_poly::mem_size |
The number of floating point numbers allocated for each particle in the container, set to 4 for this case for the x, y, and z positions, plus the radius.
Definition at line 277 of file container.hh.