<a href="#pub-methods">Public Member Functions</a> |
<a href="#friends">Friends</a> </div>
<div class="headertitle">
<div class="title">voro::container_periodic_poly Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Extension of the <a class="el" href="classvoro_1_1container__periodic__base.html" title="Class for representing a particle system in a 3D periodic non-orthogonal periodic domain...">container_periodic_base</a> class for computing radical Voronoi tessellations.
<area href="classvoro_1_1container__periodic__base.html" title="Class for representing a particle system in a 3D periodic non-orthogonal periodic domain..." alt="voro::container_periodic_base" shape="rect" coords="97,56,281,80"/>
<area href="classvoro_1_1radius__poly.html" title="Class containing all of the routines that are specific to computing the radical Voronoi tessellation..." alt="voro::radius_poly" shape="rect" coords="291,56,475,80"/>
<area href="classvoro_1_1unitcell.html" title="Class for computation of the unit Voronoi cell associated with a 3D non-rectangular periodic domain..." alt="voro::unitcell" shape="rect" coords="0,0,184,24"/>
<area href="classvoro_1_1voro__base.html" title="Class containing data structures common across all particle container classes." alt="voro::voro_base" shape="rect" coords="194,0,378,24"/>
<tr class="memitem:a1cbdd9c92900e08173e1ea3a6e2e6df4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1container__periodic__poly.html#a1cbdd9c92900e08173e1ea3a6e2e6df4">put</a> (int n, double x, double y, double z, double r)</td></tr>
<tr class="memitem:a4bc65fd86de5d00d3de49553aec76022"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1container__periodic__poly.html#a4bc65fd86de5d00d3de49553aec76022">put</a> (int n, double x, double y, double z, double r, int &ai, int &aj, int &ak)</td></tr>
<tr class="memitem:a2b0a71bfb4fb576df45d8a4bcbc888cd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1container__periodic__poly.html#a2b0a71bfb4fb576df45d8a4bcbc888cd">put</a> (<a class="el" href="classvoro_1_1particle__order.html">particle_order</a> &vo, int n, double x, double y, double z, double r)</td></tr>
<tr class="memitem:ae540389dc8845562c5f8cd45cec71edd"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classvoro_1_1container__periodic__base.html#ae540389dc8845562c5f8cd45cec71edd">initialize_voronoicell</a> (v_cell &c, int ijk, int q, int ci, int cj, int ck, int &i, int &j, int &k, double &x, double &y, double &z, int &disp)</td></tr>
<tr class="memitem:a812ed5572fcfece48b73517fcf913ec0 inherit pub_methods_classvoro_1_1container__periodic__base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1container__periodic__base.html#a812ed5572fcfece48b73517fcf913ec0">initialize_search</a> (int ci, int cj, int ck, int ijk, int &i, int &j, int &k, int &disp)</td></tr>
<tr class="memitem:aa0cd2a5bf51968b7af3334f4bbb8df8e inherit pub_methods_classvoro_1_1container__periodic__base"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1container__periodic__base.html#aa0cd2a5bf51968b7af3334f4bbb8df8e">region_index</a> (int ci, int cj, int ck, int ei, int ej, int ek, double &qx, double &qy, double &qz, int &disp)</td></tr>
<div class="textblock"><p>This class is an extension of <a class="el" href="classvoro_1_1container__periodic__base.html" title="Class for representing a particle system in a 3D periodic non-orthogonal periodic domain...">container_periodic_base</a> that has routines specifically for computing the radical Voronoi tessellation that depends on the particle radii. </p>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00415">415</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
</div><hr/><h2>Constructor & Destructor Documentation</h2>
<p>The class constructor sets up the geometry of container. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(bx_)</td><td>The x coordinate of the first unit vector. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(bxy_,by_)</td><td>The x and y coordinates of the second unit vector. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(bxz_,byz_,bz_)</td><td>The x, y, and z coordinates of the third unit vector. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(nx_,ny_,nz_)</td><td>the number of grid blocks in each of the three coordinate directions. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">init_mem_</td><td>the initial memory allocation for each block. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00085">85</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Clears a container of particles, also clearing resetting the maximum radius to zero. </p>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00454">454</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Computes all of the Voronoi cells in the container, but does nothing with the output. It is useful for measuring the pure computation time of the Voronoi algorithm, without any additional calculations such as volume evaluation or cell output. </p>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00510">510</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Computes the Voronoi cell for a particle currently being referenced by a loop class. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">c</td><td>a Voronoi cell class in which to store the computed cell. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">vl</td><td>the loop class to use. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>True if the cell was computed. If the cell cannot be computed because it was removed entirely for some reason, then the routine returns false. </dd></dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00590">590</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Computes the Voronoi cell for given particle. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">c</td><td>a Voronoi cell class in which to store the computed cell. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ijk</td><td>the block that the particle is within. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">q</td><td>the index of the particle within the block. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>True if the cell was computed. If the cell cannot be computed because it was removed entirely for some reason, then the routine returns false. </dd></dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00602">602</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Computes Voronoi cells and saves the output in gnuplot format. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vl</td><td>the loop class to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00509">509</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Compute all Voronoi cells and saves the output in gnuplot format. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00519">519</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Compute all Voronoi cells and saves the output in gnuplot format. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00526">526</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Computes Voronoi cells and saves the output in POV-Ray format. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vl</td><td>the loop class to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00536">536</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Computes all Voronoi cells and saves the output in POV-Ray format. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00547">547</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Computes all Voronoi cells and saves the output in POV-Ray format. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00554">554</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Dumps particle IDs, positions and radii to a file. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vl</td><td>the loop class to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00457">457</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Dumps all of the particle IDs, positions and radii to a file. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00467">467</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Dumps all of the particle IDs, positions and radii to a file. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00474">474</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Dumps particle positions in POV-Ray format. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vl</td><td>the loop class to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00483">483</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Dumps all the particle positions in POV-Ray format. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00493">493</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Dumps all the particle positions in POV-Ray format. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00499">499</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Takes a vector and finds the particle whose Voronoi cell contains that vector. Additional wall classes are not considered by this routine. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the vector to test. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">(rx,ry,rz)</td><td>the position of the particle whose Voronoi cell contains the vector. If the container is periodic, this may point to a particle in a periodic image of the primary domain. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">pid</td><td>the ID of the particle. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>True if a particle was found. If the container has no particles, then the search will not find a Voronoi cell and false is returned. </dd></dl>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00331">331</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Import a list of particles from an open file stream into the container. Entries of five numbers (Particle ID, x position, y position, z position, radius) are searched for. If the file cannot be successfully read, then the routine causes a fatal error. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to read from. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00419">419</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Import a list of particles from an open file stream, also storing the order of that the particles are read. Entries of four numbers (Particle ID, x position, y position, z position, radius) are searched for. If the file cannot be successfully read, then the routine causes a fatal error. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">vo</td><td>a reference to an ordering class to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to read from. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00432">432</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Imports a list of particles from an open file stream into the <a class="el" href="classvoro_1_1container__poly.html" title="Extension of the container_base class for computing radical Voronoi tessellations.">container_poly</a> class. Entries of five numbers (Particle ID, x position, y position, z position, radius) are searched for. If the file cannot be successfully read, then the routine causes a fatal error. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to open and read from. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00432">432</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Imports a list of particles from an open file stream into the <a class="el" href="classvoro_1_1container__poly.html" title="Extension of the container_base class for computing radical Voronoi tessellations.">container_poly</a> class. Entries of five numbers (Particle ID, x position, y position, z position, radius) are searched for. In addition, the order in which particles are read is saved into an ordering class. If the file cannot be successfully read, then the routine causes a fatal error. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">vo</td><td>the ordering class to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to open and read from. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00446">446</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Computes the Voronoi cells and saves customized information about them. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vl</td><td>the loop class to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>the custom output string to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8hh_source.html#l00565">565</a> of file <a class="el" href="container__prd_8hh_source.html">container_prd.hh</a>.</p>
<p>Computes all the Voronoi cells and saves customized information about them. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>the custom output string to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00471">471</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Computes all the Voronoi cells and saves customized information about them </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>the custom output string to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00489">489</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Put a particle into the correct region of the container. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>the numerical ID of the inserted particle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the position vector of the inserted particle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>the radius of the particle. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00105">105</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Put a particle into the correct region of the container. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>the numerical ID of the inserted particle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the position vector of the inserted particle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>the radius of the particle. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">(ai,aj,ak)</td><td>the periodic image displacement that the particle is in, with (0,0,0) corresponding to the primary domain. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00135">135</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Put a particle into the correct region of the container, also recording into which region it was stored. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vo</td><td>the ordering class in which to record the region. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>the numerical ID of the inserted particle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the position vector of the inserted particle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>the radius of the particle. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00164">164</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
<p>Calculates all of the Voronoi cells and sums their volumes. In most cases without walls, the sum of the Voronoi cell volumes should equal the volume of the container to numerical precision. </p>
<dl class="section return"><dt>Returns:</dt><dd>The sum of all of the computed Voronoi volumes. </dd></dl>
<p>Definition at line <a class="el" href="container__prd_8cc_source.html#l00532">532</a> of file <a class="el" href="container__prd_8cc_source.html">container_prd.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>