Bugfix in search_for_outside_edge routine.
[voro++.git] / trunk / examples / basic / README
blobb8da51075ad02131f64ce7234b6f129d12d2ba34
1 Voro++ basic example codes
2 ==========================
3 These programs demonstrate some basic usage of the Voro++ library.
5 1. single_cell.cc introduces the basic voronoicell class. It creates a simple
6 cell by cutting it with a number of random planes. It outputs the cell to a file
7 called single_cell.gnu, which can be visualized in gnuplot using the following
8 commands:
10 set style data lines
11 splot 'single_cell.gnu'
13 2. platonic.cc uses the voronoicell class to make the five Platonic solids,
14 which are output to files that can be visualized in gnuplot.
16 3. random_points.cc introduces the container class, for holding particle
17 positions in a box. After creating a container, it adds a small number of
18 random points to the box. It then calculates the sum of the volumes of the
19 Voronoi cells, and compares it to the container volume - since the cells should
20 perfectly partition the container, these two should be identical to within
21 numerical accuracy. The code then saves the particle positions to
22 "random_points_p.gnu" and the Voronoi cells to "random_points_v.gnu". These can
23 be visualized in gnuplot using the command:
25 splot 'random_points_p.gnu' u 2:3:4 with points, 'random_points_v.gnu' with lines
27 4. import.cc demonstrates the ability of the code to import a list of particles
28 from a text file. The code imports a text file called 'pack_ten_cube' which
29 contains a thousand particles in a cube of side length 10. Each line of this
30 file has the form:
32 <Numerical ID> <x coordinate> <y coordinate> <z coordinate>
34 The code imports the particles into the container, and then saves the particles
35 and Voronoi cells in gnuplot and POV-Ray formats. To visualize the particles in
36 gnuplot, use the command:
38 splot 'pack_ten_cube' u 2:3:4 with points, 'pack_ten_cube.gnu' with lines
40 To create a POV-Ray rendering of the particles, the scene header file
41 import.pov must be used, which includes the output from the program. To render
42 an 800x600 image with antialiasing, use the command:
44 povray +W800 +H600 +A0.01 +Oimport.png import.pov