radius_poly Class Reference

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

Detailed Description

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

void radius_poly::clear_max (  )  [inline]

Clears the stored maximum radius.

Definition at line 1502 of file container.cc.

fpoint radius_poly::cutoff ( fpoint  lrs  )  [inline]

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.

Parameters:
[in] lrs a cutoff radius for the cell computation.
Returns:
The value scaled by the factor mul.

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.

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

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

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

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

fpoint radius_poly::scale ( fpoint  rs,
int  t,
int  q 
) [inline]

Scales the position of a plane according to the relative sizes of the particle radii.

Parameters:
[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.
Returns:
The scaled position.

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.

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

Parameters:
[in] ijk the region to consider.
[in] s the number of the particle within the region.
Returns:
The cube of the radius of the particle.

Definition at line 1590 of file container.cc.


Field Documentation

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.


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

Generated on Tue Sep 29 11:46:27 2009 for Voro++ by  doxygen 1.6.1